Home | History | Annotate | Download | only in expected
      1 
      2 method Base$Inner.<init>(Base):void
      3 {
      4 	.params "?"
      5 	.src "hello.java"
      6 	.line 8
      7 	    0| move-object/16 v14, v27
      8 	    3| move-object/16 v15, v28
      9 	    6| move-object/16 v13, v14
     10 	    9| move-object/16 v14, v15
     11 	   12| move-object/16 v12, v13
     12 	   15| move-object/16 v13, v14
     13 	.prologue_end
     14 	.line 8
     15 	   18| move-object v8, v12
     16 	.local v8, "this", Base$Inner
     17 	   19| move-object v9, v13
     18 	.local v9, "this$0", Base
     19 	   20| move-object v10, v8
     20 	   21| move-object v11, v9
     21 	   22| iput-object v11, v10, Base$Inner.this$0
     22 	   24| move-object v10, v8
     23 	   25| invoke-direct {v10}, java.lang.Object.<init>():void
     24 	   28| return-void
     25 }
     26 
     27 method Base$Nested.<init>():void
     28 {
     29 	.src "hello.java"
     30 	.line 4
     31 	    0| move-object/16 v15, v25
     32 	    3| move-object/16 v14, v15
     33 	    6| move-object/16 v13, v14
     34 	.prologue_end
     35 	.line 4
     36 	    9| move-object v11, v13
     37 	.local v11, "this", Base$Nested
     38 	   10| move-object v12, v11
     39 	   11| invoke-direct {v12}, java.lang.Object.<init>():void
     40 	   14| return-void
     41 }
     42 
     43 method Base.<init>():void
     44 {
     45 	.src "hello.java"
     46 	.line 2
     47 	    0| move-object/16 v15, v25
     48 	    3| move-object/16 v14, v15
     49 	    6| move-object/16 v13, v14
     50 	.prologue_end
     51 	.line 2
     52 	    9| move-object v11, v13
     53 	.local v11, "this", Base
     54 	   10| move-object v12, v11
     55 	   11| invoke-direct {v12}, java.lang.Object.<init>():void
     56 	   14| return-void
     57 }
     58 
     59 method Base.test(int):void
     60 {
     61 	.params "?"
     62 	.src "hello.java"
     63 	.line 14
     64 	    0| move-object/16 v14, v29
     65 	    3| move/16 v15, v30
     66 	    6| move-object/16 v13, v14
     67 	    9| move/16 v14, v15
     68 	   12| move-object/16 v12, v13
     69 	   15| move/16 v13, v14
     70 	.prologue_end
     71 	.line 14
     72 	   18| move-object v6, v12
     73 	.local v6, "this", Base
     74 	   19| move v7, v13
     75 	.local v7, "n", int
     76 	   20| invoke-static {}, Hello.printStackTrace():void
     77 	.line 15
     78 	   23| sget-object v8, java.lang.System.out
     79 	   25| new-instance v9, java.lang.StringBuilder
     80 	   27| move-object v11, v9
     81 	   28| move-object v9, v11
     82 	   29| move-object v10, v11
     83 	   30| invoke-direct {v10}, java.lang.StringBuilder.<init>():void
     84 	   33| const-string v10, "Base.test "
     85 	   35| invoke-virtual {v9,v10}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
     86 	   38| move-result-object v9
     87 	   39| move v10, v7
     88 	   40| invoke-virtual {v9,v10}, java.lang.StringBuilder.append(int):java.lang.StringBuilder
     89 	   43| move-result-object v9
     90 	   44| invoke-virtual {v9}, java.lang.StringBuilder.toString():java.lang.String
     91 	   47| move-result-object v9
     92 	   48| invoke-virtual {v8,v9}, java.io.PrintStream.println(java.lang.String):void
     93 	.line 16
     94 	   51| return-void
     95 }
     96 
     97 method Derived.<init>():void
     98 {
     99 	.src "hello.java"
    100 	.line 19
    101 	    0| move-object/16 v15, v25
    102 	    3| move-object/16 v14, v15
    103 	    6| move-object/16 v13, v14
    104 	.prologue_end
    105 	.line 19
    106 	    9| move-object v11, v13
    107 	.local v11, "this", Derived
    108 	   10| move-object v12, v11
    109 	   11| invoke-direct {v12}, Base.<init>():void
    110 	   14| return-void
    111 }
    112 
    113 method Derived.test(int):void
    114 {
    115 	.params "?"
    116 	.src "hello.java"
    117 	.line 23
    118 	    0| move-object/16 v14, v29
    119 	    3| move/16 v15, v30
    120 	    6| move-object/16 v13, v14
    121 	    9| move/16 v14, v15
    122 	   12| move-object/16 v12, v13
    123 	   15| move/16 v13, v14
    124 	.prologue_end
    125 	.line 23
    126 	   18| move-object v6, v12
    127 	.local v6, "this", Derived
    128 	   19| move v7, v13
    129 	.local v7, "n", int
    130 	   20| sget-object v8, java.lang.System.out
    131 	   22| new-instance v9, java.lang.StringBuilder
    132 	   24| move-object v11, v9
    133 	   25| move-object v9, v11
    134 	   26| move-object v10, v11
    135 	   27| invoke-direct {v10}, java.lang.StringBuilder.<init>():void
    136 	   30| const-string v10, "Derived.test "
    137 	   32| invoke-virtual {v9,v10}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
    138 	   35| move-result-object v9
    139 	   36| move v10, v7
    140 	   37| invoke-virtual {v9,v10}, java.lang.StringBuilder.append(int):java.lang.StringBuilder
    141 	   40| move-result-object v9
    142 	   41| invoke-virtual {v9}, java.lang.StringBuilder.toString():java.lang.String
    143 	   44| move-result-object v9
    144 	   45| invoke-virtual {v8,v9}, java.io.PrintStream.println(java.lang.String):void
    145 	.line 24
    146 	   48| return-void
    147 }
    148 
    149 method Hello.<init>():void
    150 {
    151 	.src "hello.java"
    152 	.line 27
    153 	    0| move-object/16 v15, v25
    154 	    3| move-object/16 v14, v15
    155 	    6| move-object/16 v13, v14
    156 	.prologue_end
    157 	.line 27
    158 	    9| move-object v11, v13
    159 	.local v11, "this", Hello
    160 	   10| move-object v12, v11
    161 	   11| invoke-direct {v12}, java.lang.Object.<init>():void
    162 	   14| return-void
    163 }
    164 
    165 method Hello.main(java.lang.String[]):void
    166 {
    167 	.params "?"
    168 	.src "hello.java"
    169 	.line 31
    170 	    0| move-object/16 v15, v29
    171 	    3| move-object/16 v14, v15
    172 	    6| move-object/16 v13, v14
    173 	.prologue_end
    174 	.line 31
    175 	    9| move-object v7, v13
    176 	.local v7, "args", java.lang.String[]
    177 	   10| sget-object v9, java.lang.System.out
    178 	   12| const-string v10, "-------------------------------------------------------\n"
    179 	   14| const/4 v11, #+0 (0x00000000 | 0.00000)
    180 	   15| new-array v11, v11, java.lang.Object[]
    181 	   17| invoke-virtual {v9,v10,v11}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
    182 	   20| move-result-object v9
    183 	.line 32
    184 	   21| sget-object v9, java.lang.System.out
    185 	   23| const-string v10, "Hello, world (original)"
    186 	   25| invoke-virtual {v9,v10}, java.io.PrintStream.println(java.lang.String):void
    187 	.line 36
    188 	   28| sget-object v9, java.lang.System.out
    189 	   30| const-string v10, "-------------------------------------------------------\n"
    190 	   32| const/4 v11, #+0 (0x00000000 | 0.00000)
    191 	   33| new-array v11, v11, java.lang.Object[]
    192 	   35| invoke-virtual {v9,v10,v11}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
    193 	   38| move-result-object v9
    194 	.line 37
    195 	   39| new-instance v9, Base
    196 	   41| move-object v12, v9
    197 	   42| move-object v9, v12
    198 	   43| move-object v10, v12
    199 	   44| invoke-direct {v10}, Base.<init>():void
    200 	   47| move-object v8, v9
    201 	.line 38
    202 	.local v8, "x", Base
    203 	   48| move-object v9, v8
    204 	   49| const/4 v10, #+1 (0x00000001 | 1.40130e-45)
    205 	   50| invoke-virtual {v9,v10}, Base.test(int):void
    206 	.line 40
    207 	   53| sget-object v9, java.lang.System.out
    208 	   55| const-string v10, "-------------------------------------------------------\n"
    209 	   57| const/4 v11, #+0 (0x00000000 | 0.00000)
    210 	   58| new-array v11, v11, java.lang.Object[]
    211 	   60| invoke-virtual {v9,v10,v11}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
    212 	   63| move-result-object v9
    213 	.line 41
    214 	   64| new-instance v9, Derived
    215 	   66| move-object v12, v9
    216 	   67| move-object v9, v12
    217 	   68| move-object v10, v12
    218 	   69| invoke-direct {v10}, Derived.<init>():void
    219 	   72| move-object v8, v9
    220 	.line 42
    221 	   73| move-object v9, v8
    222 	   74| const/4 v10, #+2 (0x00000002 | 2.80260e-45)
    223 	   75| invoke-virtual {v9,v10}, Base.test(int):void
    224 	.line 43
    225 	   78| return-void
    226 }
    227 
    228 method Hello.printStackTrace():void
    229 {
    230 	.src "hello.java"
    231 	.line 47
    232 	.prologue_end
    233 	.line 47
    234 	    0| new-instance v5, java.lang.Throwable
    235 	    2| move-object v11, v5
    236 	    3| move-object v5, v11
    237 	    4| move-object v6, v11
    238 	    5| invoke-direct {v6}, java.lang.Throwable.<init>():void
    239 	    8| invoke-virtual {v5}, java.lang.Throwable.getStackTrace():java.lang.StackTraceElement[]
    240 	   11| move-result-object v5
    241 	   12| move-object v0, v5
    242 	.line 48
    243 	.local v0, "callstack", java.lang.StackTraceElement[]
    244 	   13| move-object v5, v0
    245 	   14| move-object v1, v5
    246 	   15| move-object v5, v1
    247 	   16| array-length v5, v5
    248 	   17| move v2, v5
    249 	   18| const/4 v5, #+0 (0x00000000 | 0.00000)
    250 	   19| move v3, v5
    251 Label_1:
    252 	   20| move v5, v3
    253 	   21| move v6, v2
    254 	   22| if-ge v5, v6, Label_2
    255 	   24| move-object v5, v1
    256 	   25| move v6, v3
    257 	   26| aget-object v5, v5, v6
    258 	   28| move-object v4, v5
    259 	.line 50
    260 	.local v4, "e", java.lang.StackTraceElement
    261 	   29| sget-object v5, java.lang.System.out
    262 	   31| const-string v6, "   %s\n"
    263 	   33| const/4 v7, #+1 (0x00000001 | 1.40130e-45)
    264 	   34| new-array v7, v7, java.lang.Object[]
    265 	   36| move-object v11, v7
    266 	   37| move-object v7, v11
    267 	   38| move-object v8, v11
    268 	   39| const/4 v9, #+0 (0x00000000 | 0.00000)
    269 	   40| move-object v10, v4
    270 	   41| invoke-virtual {v10}, java.lang.StackTraceElement.toString():java.lang.String
    271 	   44| move-result-object v10
    272 	   45| aput-object v10, v8, v9
    273 	   47| invoke-virtual {v5,v6,v7}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
    274 	   50| move-result-object v5
    275 	.line 48
    276 	   51| add-int/lit8 v3, v3, #+1 (0x00000001 | 1.40130e-45)
    277 	   53| goto/16 Label_1
    278 Label_2:
    279 	.line 52
    280 	.end_local v4
    281 	   55| return-void
    282 }
    283 
    284 method Hello.wrapTest(Base, int):void
    285 {
    286 	.params "?", "?"
    287 	.src "hello.java"
    288 	.line 56
    289 	    0| move-object/16 v14, v32
    290 	    3| move/16 v15, v33
    291 	    6| move-object/16 v13, v14
    292 	    9| move/16 v14, v15
    293 	   12| move-object/16 v12, v13
    294 	   15| move/16 v13, v14
    295 	.prologue_end
    296 	.line 56
    297 	   18| move-object v3, v12
    298 	.local v3, "_this", Base
    299 	   19| move v4, v13
    300 	.local v4, "n", int
    301 	   20| sget-object v5, java.lang.System.out
    302 	   22| const-string v6, ">>> %s.test(int n = %d)\n"
    303 	   24| const/4 v7, #+2 (0x00000002 | 2.80260e-45)
    304 	   25| new-array v7, v7, java.lang.Object[]
    305 	   27| move-object v11, v7
    306 	   28| move-object v7, v11
    307 	   29| move-object v8, v11
    308 	   30| const/4 v9, #+0 (0x00000000 | 0.00000)
    309 	   31| move-object v10, v3
    310 	   32| invoke-virtual {v10}, java.lang.Object.getClass():java.lang.Class
    311 	   35| move-result-object v10
    312 	   36| invoke-virtual {v10}, java.lang.Class.getName():java.lang.String
    313 	   39| move-result-object v10
    314 	   40| aput-object v10, v8, v9
    315 	   42| move-object v11, v7
    316 	   43| move-object v7, v11
    317 	   44| move-object v8, v11
    318 	   45| const/4 v9, #+1 (0x00000001 | 1.40130e-45)
    319 	   46| move v10, v4
    320 	   47| invoke-static {v10}, java.lang.Integer.valueOf(int):java.lang.Integer
    321 	   50| move-result-object v10
    322 	   51| aput-object v10, v8, v9
    323 	   53| invoke-virtual {v5,v6,v7}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
    324 	   56| move-result-object v5
    325 	.line 57
    326 	   57| move-object v5, v3
    327 	   58| move v6, v4
    328 	   59| invoke-virtual {v5,v6}, Base.test(int):void
    329 	.line 58
    330 	   62| return-void
    331 }
    332