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