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