1 2method Base.<init>():void 3{ 4 .src "Target.java" 5 .line 1 6 .prologue_end 7 .line 1 8 0| invoke-direct {v0}, java.lang.Object.<init>():void 9 3| return-void 10} 11 12method Base.foo(int, java.lang.String):int 13{ 14 .params "?", "?" 15 .src "Target.java" 16 .line 3 17 .prologue_end 18 .line 3 19 0| const/4 v0, #+0 (0x00000000 | 0.00000) 20 1| return v0 21} 22 23method IBase.bar(java.lang.String):void 24{ 25} 26 27method Target.<init>(Base, IBase):void 28{ 29 .params "?", "?" 30 .src "Target.java" 31 .line 15 32 .prologue_end 33 .line 15 34 0| invoke-direct {v0}, java.lang.Object.<init>():void 35 .line 16 36 3| iput-object v1, v0, Target.base 37 .line 17 38 5| iput-object v2, v0, Target.iBase 39 .line 18 40 7| return-void 41} 42 43method Target.foo(int, java.lang.String):int 44{ 45 .params "?", "?" 46 .src "Target.java" 47 .line 21 48 .prologue_end 49 .line 21 50 0| iget-object v0, v2, Target.base 51 2| invoke-virtual {v0,v3,v4}, Base.foo(int, java.lang.String):int 52 5| move-result v0 53 .line 22 54 6| iget-object v1, v2, Target.iBase 55 8| invoke-interface {v1,v4}, IBase.bar(java.lang.String):void 56 .line 23 57 11| return v0 58} 59 60method Target.foo(int, java.lang.String[][]):java.lang.Integer 61{ 62 .params "?", "?" 63 .src "Target.java" 64 .line 27 65 .prologue_end 66 .line 27 67 0| iget-object v0, v2, Target.base 68 2| const-string v1, "foo" 69 4| invoke-virtual {v0,v3,v1}, Base.foo(int, java.lang.String):int 70 .line 28 71 7| iget-object v0, v2, Target.iBase 72 9| const-string v1, "bar" 73 11| invoke-interface {v0,v1}, IBase.bar(java.lang.String):void 74 .line 29 75 14| const/4 v0, #+0 (0x00000000 | 0.00000) 76 15| move-object/16 v1, v0 77 18| const-string v0, "Target->foo(I[[Ljava/lang/String;)Ljava/lang/Integer;" 78 20| invoke-static/range {v0..v1}, Tracer.onFooExit(java.lang.String, java.lang.Object):java.lang.Object 79 23| move-result-object v0 80 24| check-cast v0, java.lang.Integer 81 26| return-object v0 82} 83