mirror of
https://github.com/revanced/smali.git
synced 2025-05-22 19:08:52 +02:00
Modified syntax to require commas between the arguments to an instruction
git-svn-id: https://smali.googlecode.com/svn/trunk@8 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
This commit is contained in:
parent
e170edc52c
commit
8e019f3ae0
@ -23,7 +23,22 @@
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* 2. Redistributions in binary form mmaven-2.0.9" -Didea.launcher.port=7538 "-Didea.launcher.bin.path=C:\Program Files\JetBrains\IntelliJ IDEA 8.1\bin" -Dfile.encoding=windows-1252 -classpath "C:\Program Files\Apache Software Foundation\apache-maven-2.0.9\boot\classworlds-1.1.jar;C:\Program Files\JetBrains\IntelliJ IDEA 8.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.Launcher --no-plugin-registry --fail-fast --no-plugin-updates --strict-checksums -f D:\Android\smali\pom.xml compile
|
||||
+ Enabling strict checksum verification on all artifact downloads.
|
||||
[INFO] Scanning for projects...
|
||||
[INFO] ------------------------------------------------------------------------
|
||||
[INFO] Building Unnamed - smali:smali:jar:1.0
|
||||
[INFO] task-segment: [compile]
|
||||
[INFO] ------------------------------------------------------------------------
|
||||
[INFO] [antlr3:antlr {execution: smali}]
|
||||
[INFO] ANTLR: Processing source directory D:\Android\smali\src\main\antlr3
|
||||
ANTLR Parser Generator Version 3.1.3 Mar 17, 2009 19:23:44
|
||||
org\JesusFreke\smali\smali.g
|
||||
[INFO] [antlr3:antlr {execution: smaliTreeWalker}]
|
||||
[INFO] ANTLR: Processing source directory D:\Android\smali\src\main\antlr3
|
||||
ANTLR Parser Generator Version 3.1.3 Mar 17, 2009 19:23:44
|
||||
org\JesusFreke\smali\smaliTreeWalker.g
|
||||
[INFO] [resources:resources]ust reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
@ -233,25 +248,25 @@ instruction
|
||||
INSTRUCTION_NAME_FORMAT11x REGISTER
|
||||
-> ^(I_STATEMENT_FORMAT11x[$start, "I_STATEMENT_FORMAT11x"] INSTRUCTION_NAME_FORMAT11x REGISTER)
|
||||
| //e.g. move v1 v2
|
||||
INSTRUCTION_NAME_FORMAT12x REGISTER REGISTER
|
||||
INSTRUCTION_NAME_FORMAT12x REGISTER ',' REGISTER
|
||||
-> ^(I_STATEMENT_FORMAT12x[$start, "I_STATEMENT_FORMAT12x"] INSTRUCTION_NAME_FORMAT12x REGISTER REGISTER)
|
||||
| //e.g. sget_object v0 java/lang/System/out LJava/io/PrintStream;
|
||||
INSTRUCTION_NAME_FORMAT21c_FIELD REGISTER full_field_name_and_type
|
||||
INSTRUCTION_NAME_FORMAT21c_FIELD REGISTER ',' full_field_name_and_type
|
||||
-> ^(I_STATEMENT_FORMAT21c_FIELD[$start, "I_STATEMENT_FORMAT21c_FIELD"] INSTRUCTION_NAME_FORMAT21c_FIELD REGISTER full_field_name_and_type)
|
||||
| //e.g. const-string v1 "Hello World!"
|
||||
INSTRUCTION_NAME_FORMAT21c_STRING REGISTER STRING_LITERAL
|
||||
INSTRUCTION_NAME_FORMAT21c_STRING REGISTER ',' STRING_LITERAL
|
||||
-> ^(I_STATEMENT_FORMAT21c_STRING[$start, "I_STATEMENT_FORMAT21c_STRING"] INSTRUCTION_NAME_FORMAT21c_STRING REGISTER STRING_LITERAL)
|
||||
| //e.g. const-class v2 org/JesusFreke/HelloWorld2/HelloWorld2
|
||||
INSTRUCTION_NAME_FORMAT21c_TYPE REGISTER class_or_array_type_descriptor
|
||||
INSTRUCTION_NAME_FORMAT21c_TYPE REGISTER ',' class_or_array_type_descriptor
|
||||
-> ^(I_STATEMENT_FORMAT21c_TYPE[$start, "I_STATEMENT_FORMAT21c"] INSTRUCTION_NAME_FORMAT21c_TYPE REGISTER class_or_array_type_descriptor)
|
||||
| //e.g. iput-object v1 v0 org/JesusFreke/HelloWorld2/HelloWorld2.helloWorld Ljava/lang/String;
|
||||
INSTRUCTION_NAME_FORMAT22c_FIELD REGISTER REGISTER full_field_name_and_type
|
||||
INSTRUCTION_NAME_FORMAT22c_FIELD REGISTER ',' REGISTER ',' full_field_name_and_type
|
||||
-> ^(I_STATEMENT_FORMAT22c_FIELD[$start, "I_INSTANCE_FIELD_STATEMENT"] INSTRUCTION_NAME_FORMAT22c_FIELD REGISTER REGISTER full_field_name_and_type)
|
||||
| //e.g. invoke-virtual {v0,v1} java/io/PrintStream/print(Ljava/lang/Stream;)V
|
||||
INSTRUCTION_NAME_FORMAT35c_METHOD '{' register_list '}' full_method_name_and_prototype
|
||||
INSTRUCTION_NAME_FORMAT35c_METHOD '{' register_list '}' ',' full_method_name_and_prototype
|
||||
-> ^(I_STATEMENT_FORMAT35c_METHOD[$start, "I_STATEMENT_FORMAT35c_METHOD"] INSTRUCTION_NAME_FORMAT35c_METHOD register_list full_method_name_and_prototype)
|
||||
| //e.g. invoke-virtual/range {v25..v26} java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
INSTRUCTION_NAME_FORMAT3rc_METHOD '{' register_range '}' full_method_name_and_prototype
|
||||
INSTRUCTION_NAME_FORMAT3rc_METHOD '{' register_range '}' ',' full_method_name_and_prototype
|
||||
-> ^(I_STATEMENT_FORMAT3rc_METHOD[$start, "I_STATEMENT_FORMAT3rc_METHOD"] INSTRUCTION_NAME_FORMAT3rc_METHOD register_range full_method_name_and_prototype)
|
||||
;
|
||||
|
||||
|
@ -9,18 +9,18 @@
|
||||
.method static constructor <clinit>()V
|
||||
.registers 1
|
||||
|
||||
const-string v0 "Static Hello World!"
|
||||
sput-object v0 org/JesusFreke/HelloWorld2/HelloWorld2.helloWorldStatic Ljava/lang/String;
|
||||
const-string v0, "Static Hello World!"
|
||||
sput-object v0, org/JesusFreke/HelloWorld2/HelloWorld2.helloWorldStatic Ljava/lang/String;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>()V
|
||||
.registers 2
|
||||
invoke-direct {v1} android/app/Activity.<init>()V
|
||||
invoke-direct {v1}, android/app/Activity.<init>()V
|
||||
|
||||
const-string v0 "Hello World!"
|
||||
iput-object v0 v1 org/JesusFreke/HelloWorld2/HelloWorld2.helloWorld Ljava/lang/String;
|
||||
const-string v0, "Hello World!"
|
||||
iput-object v0, v1, org/JesusFreke/HelloWorld2/HelloWorld2.helloWorld Ljava/lang/String;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
@ -28,73 +28,73 @@
|
||||
.method public onCreate(Landroid/os/Bundle;)V
|
||||
.registers 6
|
||||
|
||||
invoke-super {v4,v5} android/app/Activity.onCreate(Landroid/os/Bundle;)V
|
||||
invoke-super {v4,v5}, android/app/Activity.onCreate(Landroid/os/Bundle;)V
|
||||
|
||||
const-string v3 "\n"
|
||||
const-string v3, "\n"
|
||||
|
||||
new-instance v0 Landroid/widget/TextView;
|
||||
invoke-direct {v0,v4} android/widget/TextView.<init>(Landroid/content/Context;)V
|
||||
new-instance v0, Landroid/widget/TextView;
|
||||
invoke-direct {v0,v4}, android/widget/TextView.<init>(Landroid/content/Context;)V
|
||||
|
||||
iget-object v1 v4 org/JesusFreke/HelloWorld2/HelloWorld2.helloWorld Ljava/lang/String;
|
||||
iget-object v1, v4, org/JesusFreke/HelloWorld2/HelloWorld2.helloWorld Ljava/lang/String;
|
||||
|
||||
invoke-virtual {v1, v3} java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
invoke-virtual {v1, v3}, java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v1
|
||||
|
||||
sget-object v2 org/JesusFreke/HelloWorld2/HelloWorld2.helloWorldStatic Ljava/lang/String;
|
||||
invoke-virtual {v1, v2} java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
sget-object v2, org/JesusFreke/HelloWorld2/HelloWorld2.helloWorldStatic Ljava/lang/String;
|
||||
invoke-virtual {v1, v2}, java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v1
|
||||
|
||||
invoke-virtual {v1, v3} java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
invoke-virtual {v1, v3}, java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v1
|
||||
|
||||
sget-object v2 org/JesusFreke/HelloWorld2/HelloWorld2.helloWorldStatic2 Ljava/lang/String;
|
||||
invoke-virtual/range {v1 .. v2} java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
sget-object v2, org/JesusFreke/HelloWorld2/HelloWorld2.helloWorldStatic2 Ljava/lang/String;
|
||||
invoke-virtual/range {v1 .. v2}, java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v1
|
||||
|
||||
|
||||
invoke-virtual {v1, v3} java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
invoke-virtual {v1, v3}, java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v1
|
||||
|
||||
const-class v2 Lorg/JesusFreke/HelloWorld2/HelloWorld2;
|
||||
invoke-virtual {v2} java/lang/Class.getName()Ljava/lang/String;
|
||||
const-class v2, Lorg/JesusFreke/HelloWorld2/HelloWorld2;
|
||||
invoke-virtual {v2}, java/lang/Class.getName()Ljava/lang/String;
|
||||
move-result-object v2
|
||||
|
||||
invoke-virtual/range {v1 .. v2} java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
invoke-virtual/range {v1 .. v2}, java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v1
|
||||
|
||||
|
||||
|
||||
invoke-virtual {v1, v3} java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
invoke-virtual {v1, v3}, java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v1
|
||||
|
||||
const-class v2 [Lorg/JesusFreke/HelloWorld2/HelloWorld2;
|
||||
invoke-virtual {v2} java/lang/Class.getName()Ljava/lang/String;
|
||||
const-class v2, [Lorg/JesusFreke/HelloWorld2/HelloWorld2;
|
||||
invoke-virtual {v2}, java/lang/Class.getName()Ljava/lang/String;
|
||||
move-result-object v2
|
||||
|
||||
invoke-virtual/range {v1 .. v2} java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
invoke-virtual/range {v1 .. v2}, java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v1
|
||||
|
||||
|
||||
|
||||
invoke-virtual {v1, v3} java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
invoke-virtual {v1, v3}, java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v1
|
||||
|
||||
const-class v2 [I
|
||||
invoke-virtual {v2} java/lang/Class.getName()Ljava/lang/String;
|
||||
const-class v2, [I
|
||||
invoke-virtual {v2}, java/lang/Class.getName()Ljava/lang/String;
|
||||
move-result-object v2
|
||||
|
||||
invoke-virtual/range {v1 .. v2} java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
invoke-virtual/range {v1 .. v2}, java/lang/String.concat(Ljava/lang/String;)Ljava/lang/String;
|
||||
move-result-object v1
|
||||
|
||||
move-object v2 v1
|
||||
move-object v2, v1
|
||||
|
||||
|
||||
|
||||
|
||||
check-cast v4 Landroid/app/Activity;
|
||||
check-cast v4, Landroid/app/Activity;
|
||||
|
||||
invoke-virtual {v0,v2} android/widget/TextView.setText(Ljava/lang/CharSequence;)V
|
||||
invoke-virtual {v4,v0} org/JesusFreke/HelloWorld2/HelloWorld2.setContentView(Landroid/view/View;)V
|
||||
invoke-virtual {v0,v2}, android/widget/TextView.setText(Ljava/lang/CharSequence;)V
|
||||
invoke-virtual {v4,v0}, org/JesusFreke/HelloWorld2/HelloWorld2.setContentView(Landroid/view/View;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
Loading…
x
Reference in New Issue
Block a user