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