1*f0dffb02SXin Li 2*f0dffb02SXin Limethod Base$Inner.<init>(Base):void 3*f0dffb02SXin Li{ 4*f0dffb02SXin Li 0| move-object v0, v4 5*f0dffb02SXin Li 1| move-object v1, v5 6*f0dffb02SXin Li 2| move-object v2, v0 7*f0dffb02SXin Li 3| move-object v3, v1 8*f0dffb02SXin Li 4| iput-object v3, v2, Base$Inner.this$0 9*f0dffb02SXin Li 6| move-object v2, v0 10*f0dffb02SXin Li 7| invoke-direct {v2}, java.lang.Object.<init>():void 11*f0dffb02SXin Li 10| return-void 12*f0dffb02SXin Li} 13*f0dffb02SXin Li 14*f0dffb02SXin Limethod Base$Nested.<init>():void 15*f0dffb02SXin Li{ 16*f0dffb02SXin Li 0| move-object v0, v2 17*f0dffb02SXin Li 1| move-object v1, v0 18*f0dffb02SXin Li 2| invoke-direct {v1}, java.lang.Object.<init>():void 19*f0dffb02SXin Li 5| return-void 20*f0dffb02SXin Li} 21*f0dffb02SXin Li 22*f0dffb02SXin Limethod Base.<init>():void 23*f0dffb02SXin Li{ 24*f0dffb02SXin Li 0| move-object v0, v2 25*f0dffb02SXin Li 1| move-object v1, v0 26*f0dffb02SXin Li 2| invoke-direct {v1}, java.lang.Object.<init>():void 27*f0dffb02SXin Li 5| return-void 28*f0dffb02SXin Li} 29*f0dffb02SXin Li 30*f0dffb02SXin Limethod Base.test(int):void 31*f0dffb02SXin Li{ 32*f0dffb02SXin Li 0| move-object v0, v6 33*f0dffb02SXin Li 1| move v1, v7 34*f0dffb02SXin Li 2| invoke-static {}, Hello.printStackTrace():void 35*f0dffb02SXin Li 5| sget-object v2, java.lang.System.out 36*f0dffb02SXin Li 7| new-instance v3, java.lang.StringBuilder 37*f0dffb02SXin Li 9| move-object v5, v3 38*f0dffb02SXin Li 10| move-object v3, v5 39*f0dffb02SXin Li 11| move-object v4, v5 40*f0dffb02SXin Li 12| invoke-direct {v4}, java.lang.StringBuilder.<init>():void 41*f0dffb02SXin Li 15| const-string v4, "Base.test " 42*f0dffb02SXin Li 17| invoke-virtual {v3,v4}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder 43*f0dffb02SXin Li 20| move-result-object v3 44*f0dffb02SXin Li 21| move v4, v1 45*f0dffb02SXin Li 22| invoke-virtual {v3,v4}, java.lang.StringBuilder.append(int):java.lang.StringBuilder 46*f0dffb02SXin Li 25| move-result-object v3 47*f0dffb02SXin Li 26| invoke-virtual {v3}, java.lang.StringBuilder.toString():java.lang.String 48*f0dffb02SXin Li 29| move-result-object v3 49*f0dffb02SXin Li 30| invoke-virtual {v2,v3}, java.io.PrintStream.println(java.lang.String):void 50*f0dffb02SXin Li 33| return-void 51*f0dffb02SXin Li} 52*f0dffb02SXin Li 53*f0dffb02SXin Limethod Derived.<init>():void 54*f0dffb02SXin Li{ 55*f0dffb02SXin Li 0| move-object v0, v2 56*f0dffb02SXin Li 1| move-object v1, v0 57*f0dffb02SXin Li 2| invoke-direct {v1}, Base.<init>():void 58*f0dffb02SXin Li 5| return-void 59*f0dffb02SXin Li} 60*f0dffb02SXin Li 61*f0dffb02SXin Limethod Derived.test(int):void 62*f0dffb02SXin Li{ 63*f0dffb02SXin Li 0| move-object v0, v6 64*f0dffb02SXin Li 1| move v1, v7 65*f0dffb02SXin Li 2| sget-object v2, java.lang.System.out 66*f0dffb02SXin Li 4| new-instance v3, java.lang.StringBuilder 67*f0dffb02SXin Li 6| move-object v5, v3 68*f0dffb02SXin Li 7| move-object v3, v5 69*f0dffb02SXin Li 8| move-object v4, v5 70*f0dffb02SXin Li 9| invoke-direct {v4}, java.lang.StringBuilder.<init>():void 71*f0dffb02SXin Li 12| const-string v4, "Derived.test " 72*f0dffb02SXin Li 14| invoke-virtual {v3,v4}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder 73*f0dffb02SXin Li 17| move-result-object v3 74*f0dffb02SXin Li 18| move v4, v1 75*f0dffb02SXin Li 19| invoke-virtual {v3,v4}, java.lang.StringBuilder.append(int):java.lang.StringBuilder 76*f0dffb02SXin Li 22| move-result-object v3 77*f0dffb02SXin Li 23| invoke-virtual {v3}, java.lang.StringBuilder.toString():java.lang.String 78*f0dffb02SXin Li 26| move-result-object v3 79*f0dffb02SXin Li 27| invoke-virtual {v2,v3}, java.io.PrintStream.println(java.lang.String):void 80*f0dffb02SXin Li 30| return-void 81*f0dffb02SXin Li} 82*f0dffb02SXin Li 83*f0dffb02SXin Limethod Hello.<init>():void 84*f0dffb02SXin Li{ 85*f0dffb02SXin Li 0| move-object v0, v2 86*f0dffb02SXin Li 1| move-object v1, v0 87*f0dffb02SXin Li 2| invoke-direct {v1}, java.lang.Object.<init>():void 88*f0dffb02SXin Li 5| return-void 89*f0dffb02SXin Li} 90*f0dffb02SXin Li 91*f0dffb02SXin Limethod Hello.main(java.lang.String[]):void 92*f0dffb02SXin Li{ 93*f0dffb02SXin Li 0| move-object v0, v6 94*f0dffb02SXin Li 1| sget-object v2, java.lang.System.out 95*f0dffb02SXin Li 3| const-string v3, "-------------------------------------------------------\n" 96*f0dffb02SXin Li 5| const/4 v4, #+0 (0x00000000 | 0.00000) 97*f0dffb02SXin Li 6| new-array v4, v4, java.lang.Object[] 98*f0dffb02SXin Li 8| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 99*f0dffb02SXin Li 11| move-result-object v2 100*f0dffb02SXin Li 12| sget-object v2, java.lang.System.out 101*f0dffb02SXin Li 14| const-string v3, "Hello, world (original)" 102*f0dffb02SXin Li 16| invoke-virtual {v2,v3}, java.io.PrintStream.println(java.lang.String):void 103*f0dffb02SXin Li 19| sget-object v2, java.lang.System.out 104*f0dffb02SXin Li 21| const-string v3, "-------------------------------------------------------\n" 105*f0dffb02SXin Li 23| const/4 v4, #+0 (0x00000000 | 0.00000) 106*f0dffb02SXin Li 24| new-array v4, v4, java.lang.Object[] 107*f0dffb02SXin Li 26| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 108*f0dffb02SXin Li 29| move-result-object v2 109*f0dffb02SXin Li 30| new-instance v2, Base 110*f0dffb02SXin Li 32| move-object v5, v2 111*f0dffb02SXin Li 33| move-object v2, v5 112*f0dffb02SXin Li 34| move-object v3, v5 113*f0dffb02SXin Li 35| invoke-direct {v3}, Base.<init>():void 114*f0dffb02SXin Li 38| move-object v1, v2 115*f0dffb02SXin Li 39| move-object v2, v1 116*f0dffb02SXin Li 40| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 117*f0dffb02SXin Li 41| invoke-virtual {v2,v3}, Base.test(int):void 118*f0dffb02SXin Li 44| sget-object v2, java.lang.System.out 119*f0dffb02SXin Li 46| const-string v3, "-------------------------------------------------------\n" 120*f0dffb02SXin Li 48| const/4 v4, #+0 (0x00000000 | 0.00000) 121*f0dffb02SXin Li 49| new-array v4, v4, java.lang.Object[] 122*f0dffb02SXin Li 51| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 123*f0dffb02SXin Li 54| move-result-object v2 124*f0dffb02SXin Li 55| new-instance v2, Derived 125*f0dffb02SXin Li 57| move-object v5, v2 126*f0dffb02SXin Li 58| move-object v2, v5 127*f0dffb02SXin Li 59| move-object v3, v5 128*f0dffb02SXin Li 60| invoke-direct {v3}, Derived.<init>():void 129*f0dffb02SXin Li 63| move-object v1, v2 130*f0dffb02SXin Li 64| move-object v2, v1 131*f0dffb02SXin Li 65| const/4 v3, #+2 (0x00000002 | 2.80260e-45) 132*f0dffb02SXin Li 66| invoke-virtual {v2,v3}, Base.test(int):void 133*f0dffb02SXin Li 69| return-void 134*f0dffb02SXin Li} 135*f0dffb02SXin Li 136*f0dffb02SXin Limethod Hello.printStackTrace():void 137*f0dffb02SXin Li{ 138*f0dffb02SXin Li 0| new-instance v5, java.lang.Throwable 139*f0dffb02SXin Li 2| move-object v11, v5 140*f0dffb02SXin Li 3| move-object v5, v11 141*f0dffb02SXin Li 4| move-object v6, v11 142*f0dffb02SXin Li 5| invoke-direct {v6}, java.lang.Throwable.<init>():void 143*f0dffb02SXin Li 8| invoke-virtual {v5}, java.lang.Throwable.getStackTrace():java.lang.StackTraceElement[] 144*f0dffb02SXin Li 11| move-result-object v5 145*f0dffb02SXin Li 12| move-object v0, v5 146*f0dffb02SXin Li 13| move-object v5, v0 147*f0dffb02SXin Li 14| move-object v1, v5 148*f0dffb02SXin Li 15| move-object v5, v1 149*f0dffb02SXin Li 16| array-length v5, v5 150*f0dffb02SXin Li 17| move v2, v5 151*f0dffb02SXin Li 18| const/4 v5, #+0 (0x00000000 | 0.00000) 152*f0dffb02SXin Li 19| move v3, v5 153*f0dffb02SXin LiLabel_1: 154*f0dffb02SXin Li 20| move v5, v3 155*f0dffb02SXin Li 21| move v6, v2 156*f0dffb02SXin Li 22| if-ge v5, v6, Label_2 157*f0dffb02SXin Li 24| move-object v5, v1 158*f0dffb02SXin Li 25| move v6, v3 159*f0dffb02SXin Li 26| aget-object v5, v5, v6 160*f0dffb02SXin Li 28| move-object v4, v5 161*f0dffb02SXin Li 29| sget-object v5, java.lang.System.out 162*f0dffb02SXin Li 31| const-string v6, " %s\n" 163*f0dffb02SXin Li 33| const/4 v7, #+1 (0x00000001 | 1.40130e-45) 164*f0dffb02SXin Li 34| new-array v7, v7, java.lang.Object[] 165*f0dffb02SXin Li 36| move-object v11, v7 166*f0dffb02SXin Li 37| move-object v7, v11 167*f0dffb02SXin Li 38| move-object v8, v11 168*f0dffb02SXin Li 39| const/4 v9, #+0 (0x00000000 | 0.00000) 169*f0dffb02SXin Li 40| move-object v10, v4 170*f0dffb02SXin Li 41| invoke-virtual {v10}, java.lang.StackTraceElement.toString():java.lang.String 171*f0dffb02SXin Li 44| move-result-object v10 172*f0dffb02SXin Li 45| aput-object v10, v8, v9 173*f0dffb02SXin Li 47| invoke-virtual {v5,v6,v7}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 174*f0dffb02SXin Li 50| move-result-object v5 175*f0dffb02SXin Li 51| add-int/lit8 v3, v3, #+1 (0x00000001 | 1.40130e-45) 176*f0dffb02SXin Li 53| goto Label_1 177*f0dffb02SXin LiLabel_2: 178*f0dffb02SXin Li 54| return-void 179*f0dffb02SXin Li} 180