diff options
6 files changed, 29 insertions, 23 deletions
diff --git a/baksmali/src/test/resources/InstructionRoundtripTest/ConstMethodHandle.smali b/baksmali/src/test/resources/InstructionRoundtripTest/ConstMethodHandle.smali index 13cf9837..2d871843 100644 --- a/baksmali/src/test/resources/InstructionRoundtripTest/ConstMethodHandle.smali +++ b/baksmali/src/test/resources/InstructionRoundtripTest/ConstMethodHandle.smali @@ -14,9 +14,9 @@ .method public static constMethodHandle()V .registers 15 - const-method-handle v0, static-invoke@Ljava/lang/Integer;->toString(I)Ljava/lang/String; + const-method-handle v0, invoke-static@Ljava/lang/Integer;->toString(I)Ljava/lang/String; - const-method-handle v0, instance-invoke@Ljava/lang/Integer;->toString()Ljava/lang/String; + const-method-handle v0, invoke-instance@Ljava/lang/Integer;->toString()Ljava/lang/String; const-method-handle v0, static-put@LConstMethodHandle;->instanceField:Ljava/lang/Object; diff --git a/dexlib2/src/test/java/org/jf/dexlib2/writer/CallSiteTest.java b/dexlib2/src/test/java/org/jf/dexlib2/writer/CallSiteTest.java index 5769e0f4..c909fb28 100644 --- a/dexlib2/src/test/java/org/jf/dexlib2/writer/CallSiteTest.java +++ b/dexlib2/src/test/java/org/jf/dexlib2/writer/CallSiteTest.java @@ -74,7 +74,7 @@ public class CallSiteTest { new ImmutableMethodImplementation(10, ImmutableList.of( new ImmutableInstruction35c(Opcode.INVOKE_CUSTOM, 0, 0, 0, 0, 0, 0, new ImmutableCallSiteReference("call_site_1", - new ImmutableMethodHandleReference(MethodHandleType.STATIC_INVOKE, + new ImmutableMethodHandleReference(MethodHandleType.INVOKE_STATIC, new ImmutableMethodReference("Lcls1", "loader", ImmutableList.of("Ljava/lang/invoke/Lookup;", "Ljava/lang/String;", @@ -96,7 +96,7 @@ public class CallSiteTest { BuilderCallSiteReference callSite = dexBuilder.internCallSite(new ImmutableCallSiteReference("call_site_1", new ImmutableMethodHandleReference( - MethodHandleType.STATIC_INVOKE, + MethodHandleType.INVOKE_STATIC, new ImmutableMethodReference("Lcls1", "loader", ImmutableList.of("Ljava/lang/invoke/Lookup;", "Ljava/lang/String;", "Ljava/lang/invoke/MethodType;"), diff --git a/smali/src/test/resources/LexerTest/InstructionTest.tokens b/smali/src/test/resources/LexerTest/InstructionTest.tokens index b1d1d42e..c6166399 100644 --- a/smali/src/test/resources/LexerTest/InstructionTest.tokens +++ b/smali/src/test/resources/LexerTest/InstructionTest.tokens @@ -214,9 +214,9 @@ INSTRUCTION_FORMAT32x("move-object/16") INSTRUCTION_FORMAT35c_CALL_SITE("invoke-custom") INSTRUCTION_FORMAT35c_METHOD("invoke-virtual") INSTRUCTION_FORMAT35c_METHOD("invoke-super") -INSTRUCTION_FORMAT35c_METHOD("invoke-direct") -INSTRUCTION_FORMAT35c_METHOD("invoke-static") -INSTRUCTION_FORMAT35c_METHOD("invoke-interface") +INSTRUCTION_FORMAT35c_METHOD_OR_METHOD_HANDLE_TYPE("invoke-direct") +INSTRUCTION_FORMAT35c_METHOD_OR_METHOD_HANDLE_TYPE("invoke-static") +INSTRUCTION_FORMAT35c_METHOD_OR_METHOD_HANDLE_TYPE("invoke-interface") INSTRUCTION_FORMAT35c_TYPE("filled-new-array") INSTRUCTION_FORMAT35c_METHOD_ODEX("invoke-direct-empty") INSTRUCTION_FORMAT3rc_METHOD_ODEX("invoke-object-init/range") diff --git a/smali/src/test/resources/LexerTest/MiscTest.smali b/smali/src/test/resources/LexerTest/MiscTest.smali index b9dfea5e..0255d6af 100644 --- a/smali/src/test/resources/LexerTest/MiscTest.smali +++ b/smali/src/test/resources/LexerTest/MiscTest.smali @@ -45,12 +45,15 @@ illegal-method-access class-change-error instantiation-error -instance-invoke -static-invoke -instance-get -instance-put -static-get +invoke-static +invoke-instance +invoke-constructor +invoke-direct +invoke-interface static-put +static-get +instance-put +instance-get inline@0xABCD inline@0x0123 diff --git a/smali/src/test/resources/LexerTest/MiscTest.tokens b/smali/src/test/resources/LexerTest/MiscTest.tokens index 7ba62a7c..6f59df5a 100644 --- a/smali/src/test/resources/LexerTest/MiscTest.tokens +++ b/smali/src/test/resources/LexerTest/MiscTest.tokens @@ -45,12 +45,15 @@ VERIFICATION_ERROR_TYPE("illegal-method-access") VERIFICATION_ERROR_TYPE("class-change-error") VERIFICATION_ERROR_TYPE("instantiation-error") -METHOD_HANDLE_TYPE_METHOD("instance-invoke") -METHOD_HANDLE_TYPE_METHOD("static-invoke") -METHOD_HANDLE_TYPE_FIELD("instance-get") -METHOD_HANDLE_TYPE_FIELD("instance-put") -METHOD_HANDLE_TYPE_FIELD("static-get") +INSTRUCTION_FORMAT35c_METHOD_OR_METHOD_HANDLE_TYPE("invoke-static") +METHOD_HANDLE_TYPE_METHOD("invoke-instance") +METHOD_HANDLE_TYPE_METHOD("invoke-constructor") +INSTRUCTION_FORMAT35c_METHOD_OR_METHOD_HANDLE_TYPE("invoke-direct") +INSTRUCTION_FORMAT35c_METHOD_OR_METHOD_HANDLE_TYPE("invoke-interface") METHOD_HANDLE_TYPE_FIELD("static-put") +METHOD_HANDLE_TYPE_FIELD("static-get") +METHOD_HANDLE_TYPE_FIELD("instance-put") +METHOD_HANDLE_TYPE_FIELD("instance-get") INLINE_INDEX("inline@0xABCD") INLINE_INDEX("inline@0x0123") diff --git a/smali/src/test/resources/LexerTest/RealSmaliFileTest.tokens b/smali/src/test/resources/LexerTest/RealSmaliFileTest.tokens index f9b096fb..d7e438aa 100644 --- a/smali/src/test/resources/LexerTest/RealSmaliFileTest.tokens +++ b/smali/src/test/resources/LexerTest/RealSmaliFileTest.tokens @@ -206,7 +206,7 @@ INSTRUCTION_FORMAT21c_TYPE("new-instance") REGISTER("v0") COMMA(",") CLASS_DESCRIPTOR("Lcom/android/internal/os/BatteryStatsImpl$1;") -INSTRUCTION_FORMAT35c_METHOD("invoke-direct") +INSTRUCTION_FORMAT35c_METHOD_OR_METHOD_HANDLE_TYPE("invoke-direct") OPEN_BRACE("{") REGISTER("v0") CLOSE_BRACE("}") @@ -275,7 +275,7 @@ SIMPLE_NAME("phone") PROLOGUE_DIRECTIVE(".prologue") LINE_DIRECTIVE(".line") POSITIVE_INTEGER_LITERAL("42") -INSTRUCTION_FORMAT35c_METHOD("invoke-direct") +INSTRUCTION_FORMAT35c_METHOD_OR_METHOD_HANDLE_TYPE("invoke-direct") OPEN_BRACE("{") REGISTER("p0") COMMA(",") @@ -397,7 +397,7 @@ INSTRUCTION_FORMAT21c_TYPE("new-instance") REGISTER("v2") COMMA(",") CLASS_DESCRIPTOR("Ljava/lang/StringBuilder;") -INSTRUCTION_FORMAT35c_METHOD("invoke-direct") +INSTRUCTION_FORMAT35c_METHOD_OR_METHOD_HANDLE_TYPE("invoke-direct") OPEN_BRACE("{") REGISTER("v2") CLOSE_BRACE("}") @@ -457,7 +457,7 @@ CLOSE_PAREN(")") CLASS_DESCRIPTOR("Ljava/lang/String;") INSTRUCTION_FORMAT11x("move-result-object") REGISTER("v2") -INSTRUCTION_FORMAT35c_METHOD("invoke-direct") +INSTRUCTION_FORMAT35c_METHOD_OR_METHOD_HANDLE_TYPE("invoke-direct") OPEN_BRACE("{") REGISTER("v1") COMMA(",") @@ -594,7 +594,7 @@ COMMA(",") POSITIVE_INTEGER_LITERAL("0x0") LINE_DIRECTIVE(".line") POSITIVE_INTEGER_LITERAL("981") -INSTRUCTION_FORMAT35c_METHOD("invoke-direct") +INSTRUCTION_FORMAT35c_METHOD_OR_METHOD_HANDLE_TYPE("invoke-direct") OPEN_BRACE("{") REGISTER("p0") COMMA(",") @@ -615,7 +615,7 @@ REGISTER("v0") COMMA(",") COLON(":") SIMPLE_NAME("cond_28") -INSTRUCTION_FORMAT35c_METHOD("invoke-direct") +INSTRUCTION_FORMAT35c_METHOD_OR_METHOD_HANDLE_TYPE("invoke-direct") OPEN_BRACE("{") REGISTER("p0") COMMA(",") |