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