Home | History | Annotate | Download | only in d
      1 // Processing 'out/classes_dasm/dot/junit/opcodes/sparse_switch/d/T_sparse_switch_8.dex'...
      2 // Opened 'out/classes_dasm/dot/junit/opcodes/sparse_switch/d/T_sparse_switch_8.dex', DEX version '035'
      3 // DEX file header:
      4 // parsed: offset 0, len 8: magic               : 'dex
      5 // 035'
      6     64 65 78 0A 30 33 35 00 
      7 // parsed: offset 8, len 4: checksum            : 3b52538d
      8     8D 53 52 3B 
      9 // parsed: offset 12, len 20: signature           : d117...b84c
     10     D1 17 6B A9 92 35 B7 F5 59 7E 60 68 BB 65 20 12 A4 EB B8 4C 
     11 // parsed: offset 32, len 4: file_size           : 620
     12     6C 02 00 00 
     13 // parsed: offset 36, len 4: header_size         : 112
     14     70 00 00 00 
     15 // parsed: offset 40, len 4: endian_tag          : 0x12345678
     16     78 56 34 12 
     17 // parsed: offset 44, len 4: link_size           : 0
     18     00 00 00 00 
     19 // parsed: offset 48, len 4: link_off            : 0 (0x000000)
     20     00 00 00 00 
     21 // parsed: offset 52, len 4: map_off             : 484 (0x0001e4)
     22     E4 01 00 00 
     23 // parsed: offset 56, len 4: string_ids_size     : 8
     24     08 00 00 00 
     25 // parsed: offset 60, len 4: string_ids_off      : 112 (0x000070)
     26     70 00 00 00 
     27 // parsed: offset 64, len 4: type_ids_size       : 4
     28     04 00 00 00 
     29 // parsed: offset 68, len 4: type_ids_off        : 144 (0x000090)
     30     90 00 00 00 
     31 // parsed: offset 72, len 4: proto_ids_size      : 2
     32     02 00 00 00 
     33 // parsed: offset 76, len 4: proto_ids_off       : 160 (0x0000a0)
     34     A0 00 00 00 
     35 // parsed: offset 80, len 4: field_ids_size      : 0
     36     00 00 00 00 
     37 // parsed: offset 84, len 4: field_ids_off       : 0 (0x000000)
     38     00 00 00 00 
     39 // parsed: offset 88, len 4: method_ids_size     : 3
     40     03 00 00 00 
     41 // parsed: offset 92, len 4: method_ids_off      : 184 (0x0000b8)
     42     B8 00 00 00 
     43 // parsed: offset 96, len 4: class_defs_size     : 1
     44     01 00 00 00 
     45 // parsed: offset 100, len 4: class_defs_off      : 208 (0x0000d0)
     46     D0 00 00 00 
     47 // parsed: offset 104, len 4: data_size           : 380
     48     7C 01 00 00 
     49 // parsed: offset 108, len 4: data_off            : 240 (0x0000f0)
     50     F0 00 00 00 
     51 // 
     52 // string_ids:
     53 // parsed: offset 112, len 4: [0] string_data_off: 346 (0x00015a) "<init>"
     54     5A 01 00 00 
     55 // parsed: offset 116, len 4: [1] string_data_off: 354 (0x000162) "I"
     56     62 01 00 00 
     57 // parsed: offset 120, len 4: [2] string_data_off: 357 (0x000165) "II"
     58     65 01 00 00 
     59 // parsed: offset 124, len 4: [3] string_data_off: 361 (0x000169) "Ldot/junit/opcodes/sparse_switch/d/T_sparse_switch_8;"
     60     69 01 00 00 
     61 // parsed: offset 128, len 4: [4] string_data_off: 416 (0x0001a0) "Ljava/lang/Object;"
     62     A0 01 00 00 
     63 // parsed: offset 132, len 4: [5] string_data_off: 436 (0x0001b4) "T_sparse_switch_8.java"
     64     B4 01 00 00 
     65 // parsed: offset 136, len 4: [6] string_data_off: 460 (0x0001cc) "V"
     66     CC 01 00 00 
     67 // parsed: offset 140, len 4: [7] string_data_off: 463 (0x0001cf) "run"
     68     CF 01 00 00 
     69 
     70 // type_ids:
     71 // parsed: offset 144, len 4: [0] descriptor_idx: 1 (0x000001) "I"
     72     01 00 00 00 
     73 // parsed: offset 148, len 4: [1] descriptor_idx: 3 (0x000003) "Ldot/junit/opcodes/sparse_switch/d/T_sparse_switch_8;"
     74     03 00 00 00 
     75 // parsed: offset 152, len 4: [2] descriptor_idx: 4 (0x000004) "Ljava/lang/Object;"
     76     04 00 00 00 
     77 // parsed: offset 156, len 4: [3] descriptor_idx: 6 (0x000006) "V"
     78     06 00 00 00 
     79 
     80 // proto_ids:
     81 // parsed: offset 160, len 12: [0] 
     82 //     shorty_idx: 2 (0x000002) "II"
     83 //     return_type_idx: 0 (0x000000) "I"
     84 //     parameters_off: 340 (0x000154)
     85     02 00 00 00 00 00 00 00 54 01 00 00 
     86 // parsed: offset 172, len 12: [1] 
     87 //     shorty_idx: 6 (0x000006) "V"
     88 //     return_type_idx: 3 (0x000003) "V"
     89 //     parameters_off: 0 (0x000000)
     90     06 00 00 00 03 00 00 00 00 00 00 00 
     91 
     92 // field_ids:
     93 
     94 // methods_ids:
     95 // parsed: offset 184, len 8: [0] class_idx: 1 (0x000001)  proto_idx: 1 (0x000001) name_idx: 0 (0x000000) "<init>"
     96     01 00 01 00 00 00 00 00 
     97 // parsed: offset 192, len 8: [1] class_idx: 1 (0x000001)  proto_idx: 0 (0x000000) name_idx: 7 (0x000007) "run"
     98     01 00 00 00 07 00 00 00 
     99 // parsed: offset 200, len 8: [2] class_idx: 2 (0x000002)  proto_idx: 1 (0x000001) name_idx: 0 (0x000000) "<init>"
    100     02 00 01 00 00 00 00 00 
    101 
    102 // class_defs:
    103 // parsed: offset 208, len 32: Class [0]
    104 //     class_idx: 1 "Ldot/junit/opcodes/sparse_switch/d/T_sparse_switch_8;"
    105 //     access_flags: 0x000001 (PUBLIC)
    106 //     superclass_idx: 2 "Ljava/lang/Object;"
    107 //     interfaces_off: 0 (0x000000)
    108 //     source_file_idx: 5 "T_sparse_switch_8.java"
    109 //     annotations_off: 0 (0x000000)
    110 //     class_data_off: 468 (0x0001d4)
    111 //     static_values_off: 0 (0x000000)
    112     01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 D4 01 00 00 00 00 00 00 
    113 // data_section:
    114 // CODE_ITEM for "dot.junit.opcodes.sparse_switch.d.T_sparse_switch_8.<init>"
    115     // parsed: offset 240, len 2: registers_size: 1
    116         01 00 
    117     // parsed: offset 242, len 2: ins_size: 1
    118         01 00 
    119     // parsed: offset 244, len 2: outs_size: 1
    120         01 00 
    121     // parsed: offset 246, len 2: tries_size: 0
    122         00 00 
    123     // parsed: offset 248, len 4: debug_info_off: 0 (0x000000)
    124         00 00 00 00 
    125     // parsed: offset 252, len 4: insns_size: 4
    126         04 00 00 00 
    127     // insns:
    128         // parsed: offset 256, len 6: |0000: invoke-direct {v1}, Ljava/lang/Object;.<init>:()V // method@0002
    129             70 10 02 00 00 00 
    130         // parsed: offset 262, len 2: |0003: return-void
    131             0E 00 
    132     // tries: 
    133     // handlers: 
    134 // CODE_ITEM for "dot.junit.opcodes.sparse_switch.d.T_sparse_switch_8.run"
    135     // parsed: offset 264, len 2: registers_size: 5
    136         05 00 
    137     // parsed: offset 266, len 2: ins_size: 2
    138         02 00 
    139     // parsed: offset 268, len 2: outs_size: 0
    140         00 00 
    141     // parsed: offset 270, len 2: tries_size: 0
    142         00 00 
    143     // parsed: offset 272, len 4: debug_info_off: 0 (0x000000)
    144         00 00 00 00 
    145     // parsed: offset 276, len 4: insns_size: 30
    146         1E 00 00 00 
    147     // insns:
    148         // parsed: offset 280, len 6: |0000: sparse-switch v4, 00000010 //  +0x00000010
    149             2C 04 10 00 00 00 
    150         // parsed: offset 286, len 6: |0003: const v4, #float nan // #0xffffffff int
    151             14 04 FF FF FF FF 
    152         // parsed: offset 292, len 2: |0006: return v4
    153             0F 04 
    154         // parsed: offset 294, len 6: |0007: const v4, #float 0.000000 // #0x00000002 int
    155             14 04 02 00 00 00 
    156         // parsed: offset 300, len 2: |000a: return v4
    157             0F 04 
    158         // parsed: offset 302, len 6: |000b: const v4, #float 0.000000 // #0x00000014 int
    159             14 04 14 00 00 00 
    160         // parsed: offset 308, len 2: |000e: return v4
    161             0F 04 
    162         // parsed: offset 310, len 2: |000f: nop // spacer
    163             00 00 
    164         // parsed: offset 312, len 28: |0010: sparse-switch-data (14 units)
    165 //@mod            00 02 03 00 FF FF FF FF 0A 00 00 00 0F 00 00 00 07 00 00 00 0B 00 00 00 0B 00 00 00 
    166             00 02 03 00 FF FF FF FF 0A 00 00 00 0F 00 00 00 07 00 00 00 0B 00 00 00 0C 00 00 00 
    167     // tries: 
    168     // handlers: 
    169 // TYPE_LIST
    170     // parsed: offset 340, len 4: size: 1
    171         01 00 00 00 
    172     // parsed: offset 344, len 2: type_item [0] type_idx: 0
    173         00 00 
    174 // parsed: offset 346, len 8: TYPE_STRING_DATA_ITEM [0] "<init>"
    175     06 3C 69 6E 69 74 3E 00 
    176 // parsed: offset 354, len 3: TYPE_STRING_DATA_ITEM [1] "I"
    177     01 49 00 
    178 // parsed: offset 357, len 4: TYPE_STRING_DATA_ITEM [2] "II"
    179     02 49 49 00 
    180 // parsed: offset 361, len 55: TYPE_STRING_DATA_ITEM [3] "Ldot/junit/opcodes/sparse_switch/d/T_sparse_switch_8;"
    181     35 4C 64 6F 74 2F 6A 75 6E 69 74 2F 6F 70 63 6F 64 65 73 2F 73 70 61 72 73 65 5F 73 77 69 74 63 68 2F 64 2F 54 5F 73 70 61 72 73 65 5F 73 77 69 74 63 68 5F 38 3B 00 
    182 // parsed: offset 416, len 20: TYPE_STRING_DATA_ITEM [4] "Ljava/lang/Object;"
    183     12 4C 6A 61 76 61 2F 6C 61 6E 67 2F 4F 62 6A 65 63 74 3B 00 
    184 // parsed: offset 436, len 24: TYPE_STRING_DATA_ITEM [5] "T_sparse_switch_8.java"
    185     16 54 5F 73 70 61 72 73 65 5F 73 77 69 74 63 68 5F 38 2E 6A 61 76 61 00 
    186 // parsed: offset 460, len 3: TYPE_STRING_DATA_ITEM [6] "V"
    187     01 56 00 
    188 // parsed: offset 463, len 5: TYPE_STRING_DATA_ITEM [7] "run"
    189     03 72 75 6E 00 
    190 // CLASS_DATA_ITEM for class [0] "Ldot/junit/opcodes/sparse_switch/d/T_sparse_switch_8;"
    191     // parsed: offset 468, len 1: static_fields_size: 0
    192         00 
    193     // parsed: offset 469, len 1: instance_fields_size: 0
    194         00 
    195     // parsed: offset 470, len 1: direct_methods_size: 1
    196         01 
    197     // parsed: offset 471, len 1: virtual_methods_size: 1
    198         01 
    199     // static_fields:
    200     // instance_fields:
    201     // direct_methods:
    202         // method [0]:
    203             // parsed: offset 472, len 1: method_idx_diff: 0 (method_idx: 0 "<init>")
    204                 00 
    205             // parsed: offset 473, len 3: access_flags: 0x010001 (PUBLIC CONSTRUCTOR)
    206                 81 80 04 
    207             // parsed: offset 476, len 2: code_off: 240 (0x0000f0)
    208                 F0 01 
    209     // virtual_methods:
    210         // method [0]:
    211             // parsed: offset 478, len 1: method_idx_diff: 1 (method_idx: 1 "run")
    212                 01 
    213             // parsed: offset 479, len 1: access_flags: 0x000001 (PUBLIC)
    214                 01 
    215             // parsed: offset 480, len 2: code_off: 264 (0x000108)
    216                 88 02 
    217 // parsed: offset 482, len 2: PADDING
    218     00 00 
    219 // map_list:
    220     // parsed: offset 484, len 4: size: 11
    221         0B 00 00 00 
    222     // parsed: offset 488, len 12: [0] type: 0x0000 TYPE_HEADER_ITEM
    223     //      unused: 0
    224     //      size: 1
    225     //      offset: 0 (0x000000)
    226         00 00 00 00 01 00 00 00 00 00 00 00 
    227     // parsed: offset 500, len 12: [1] type: 0x0001 TYPE_STRING_ID_ITEM
    228     //      unused: 0
    229     //      size: 8
    230     //      offset: 112 (0x000070)
    231         01 00 00 00 08 00 00 00 70 00 00 00 
    232     // parsed: offset 512, len 12: [2] type: 0x0002 TYPE_TYPE_ID_ITEM
    233     //      unused: 0
    234     //      size: 4
    235     //      offset: 144 (0x000090)
    236         02 00 00 00 04 00 00 00 90 00 00 00 
    237     // parsed: offset 524, len 12: [3] type: 0x0003 TYPE_PROTO_ID_ITEM
    238     //      unused: 0
    239     //      size: 2
    240     //      offset: 160 (0x0000a0)
    241         03 00 00 00 02 00 00 00 A0 00 00 00 
    242     // parsed: offset 536, len 12: [4] type: 0x0005 TYPE_METHOD_ID_ITEM
    243     //      unused: 0
    244     //      size: 3
    245     //      offset: 184 (0x0000b8)
    246         05 00 00 00 03 00 00 00 B8 00 00 00 
    247     // parsed: offset 548, len 12: [5] type: 0x0006 TYPE_CLASS_DEF_ITEM
    248     //      unused: 0
    249     //      size: 1
    250     //      offset: 208 (0x0000d0)
    251         06 00 00 00 01 00 00 00 D0 00 00 00 
    252     // parsed: offset 560, len 12: [6] type: 0x2001 TYPE_CODE_ITEM
    253     //      unused: 0
    254     //      size: 2
    255     //      offset: 240 (0x0000f0)
    256         01 20 00 00 02 00 00 00 F0 00 00 00 
    257     // parsed: offset 572, len 12: [7] type: 0x1001 TYPE_TYPE_LIST
    258     //      unused: 0
    259     //      size: 1
    260     //      offset: 340 (0x000154)
    261         01 10 00 00 01 00 00 00 54 01 00 00 
    262     // parsed: offset 584, len 12: [8] type: 0x2002 TYPE_STRING_DATA_ITEM
    263     //      unused: 0
    264     //      size: 8
    265     //      offset: 346 (0x00015a)
    266         02 20 00 00 08 00 00 00 5A 01 00 00 
    267     // parsed: offset 596, len 12: [9] type: 0x2000 TYPE_CLASS_DATA_ITEM
    268     //      unused: 0
    269     //      size: 1
    270     //      offset: 468 (0x0001d4)
    271         00 20 00 00 01 00 00 00 D4 01 00 00 
    272     // parsed: offset 608, len 12: [10] type: 0x1000 TYPE_MAP_LIST
    273     //      unused: 0
    274     //      size: 1
    275     //      offset: 484 (0x0001e4)
    276         00 10 00 00 01 00 00 00 E4 01 00 00 
    277