diff options
author | Ben Gruver <bgruv@google.com> | 2013-12-05 14:32:13 -0800 |
---|---|---|
committer | Ben Gruver <bgruv@google.com> | 2013-12-08 17:44:15 -0800 |
commit | 304aadf6e680af54eaf867a8e705e046a1e7a906 (patch) | |
tree | 0e19eb0e10e21e74a788c6c3884c84977390b19b /smali | |
parent | 4f2620415d505a35d2d14b866cde10a54b1b7c8c (diff) | |
download | smali-304aadf6e680af54eaf867a8e705e046a1e7a906.tar.gz |
Allow primitive types for 21c instruction format (e.g. check-cast)
Diffstat (limited to 'smali')
-rw-r--r-- | smali/src/main/antlr3/smaliParser.g | 4 | ||||
-rw-r--r-- | smali/src/main/antlr3/smaliTreeWalker.g | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/smali/src/main/antlr3/smaliParser.g b/smali/src/main/antlr3/smaliParser.g index 7c0a1e56..563cda36 100644 --- a/smali/src/main/antlr3/smaliParser.g +++ b/smali/src/main/antlr3/smaliParser.g @@ -922,8 +922,8 @@ insn_format21c_string insn_format21c_type : //e.g. const-class v2, Lorg/jf/HelloWorld2/HelloWorld2; - INSTRUCTION_FORMAT21c_TYPE REGISTER COMMA reference_type_descriptor - -> ^(I_STATEMENT_FORMAT21c_TYPE[$start, "I_STATEMENT_FORMAT21c"] INSTRUCTION_FORMAT21c_TYPE REGISTER reference_type_descriptor); + INSTRUCTION_FORMAT21c_TYPE REGISTER COMMA nonvoid_type_descriptor + -> ^(I_STATEMENT_FORMAT21c_TYPE[$start, "I_STATEMENT_FORMAT21c"] INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor); insn_format21ih : //e.g. const/high16 v1, 1234 diff --git a/smali/src/main/antlr3/smaliTreeWalker.g b/smali/src/main/antlr3/smaliTreeWalker.g index 74c35680..89eaf4a9 100644 --- a/smali/src/main/antlr3/smaliTreeWalker.g +++ b/smali/src/main/antlr3/smaliTreeWalker.g @@ -840,13 +840,13 @@ insn_format21c_string insn_format21c_type : //e.g. const-class v2, org/jf/HelloWorld2/HelloWorld2 - ^(I_STATEMENT_FORMAT21c_TYPE INSTRUCTION_FORMAT21c_TYPE REGISTER reference_type_descriptor) + ^(I_STATEMENT_FORMAT21c_TYPE INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor) { Opcode opcode = opcodes.getOpcodeByName($INSTRUCTION_FORMAT21c_TYPE.text); short regA = parseRegister_byte($REGISTER.text); $method::methodBuilder.addInstruction(new BuilderInstruction21c(opcode, regA, - dexBuilder.internTypeReference($reference_type_descriptor.type))); + dexBuilder.internTypeReference($nonvoid_type_descriptor.type))); }; insn_format21ih |