1 000000: 6465 780a 3033 3800 |magic: "dex\n038\0" 2 000008: 590b 1a16 |checksum 3 00000c: 8798 f7ff b191 97b1 2e9c|signature 4 000016: f739 ab2b 8ae4 9ef9 73a8| 5 000020: 3c07 0000 |file_size: 0000073c 6 000024: 7000 0000 |header_size: 00000070 7 000028: 7856 3412 |endian_tag: 12345678 8 00002c: 0000 0000 |link_size: 0 9 000030: 0000 0000 |link_off: 0 10 000034: 5406 0000 |map_off: 00000654 11 000038: 2c00 0000 |string_ids_size: 0000002c 12 00003c: 7000 0000 |string_ids_off: 00000070 13 000040: 1100 0000 |type_ids_size: 00000011 14 000044: 2001 0000 |type_ids_off: 00000120 15 000048: 0900 0000 |proto_ids_size: 00000009 16 00004c: 6401 0000 |proto_ids_off: 00000164 17 000050: 0200 0000 |field_ids_size: 00000002 18 000054: d001 0000 |field_ids_off: 000001d0 19 000058: 0b00 0000 |method_ids_size: 0000000b 20 00005c: e001 0000 |method_ids_off: 000001e0 21 000060: 0300 0000 |class_defs_size: 00000003 22 000064: 3802 0000 |class_defs_off: 00000238 23 000068: 8c04 0000 |data_size: 0000048c 24 00006c: b002 0000 |data_off: 000002b0 25 | 26 |string_ids: 27 |[0] "(TT;)V" 28 000070: be03 0000 | string_data_off: 000003be 29 |[1] "<T:" 30 000074: c603 0000 | string_data_off: 000003c6 31 |[2] "<init>" 32 000078: cb03 0000 | string_data_off: 000003cb 33 |[3] ">" 34 00007c: d303 0000 | string_data_off: 000003d3 35 |[4] "I" 36 000080: d603 0000 | string_data_off: 000003d6 37 |[5] "LConsumer;" 38 000084: d903 0000 | string_data_off: 000003d9 39 |[6] "LFoo;" 40 000088: e503 0000 | string_data_off: 000003e5 41 |[7] "LI" 42 00008c: ec03 0000 | string_data_off: 000003ec 43 |[8] "LLI" 44 000090: f003 0000 | string_data_off: 000003f0 45 |[9] "LLLLLLL" 46 000094: f503 0000 | string_data_off: 000003f5 47 |[a] "LMain;" 48 000098: fe03 0000 | string_data_off: 000003fe 49 |[b] "Ldalvik/annotation/Signature;" 50 00009c: 0604 0000 | string_data_off: 00000406 51 |[c] "Ljava/io/PrintStream;" 52 0000a0: 2504 0000 | string_data_off: 00000425 53 |[d] "Ljava/lang/Integer;" 54 0000a4: 3c04 0000 | string_data_off: 0000043c 55 |[e] "Ljava/lang/Object;" 56 0000a8: 5104 0000 | string_data_off: 00000451 57 |[f] "Ljava/lang/String;" 58 0000ac: 6504 0000 | string_data_off: 00000465 59 |[10] "Ljava/lang/System;" 60 0000b0: 7904 0000 | string_data_off: 00000479 61 |[11] "Ljava/lang/invoke/CallSite;" 62 0000b4: 8d04 0000 | string_data_off: 0000048d 63 |[12] "Ljava/lang/invoke/LambdaMetafactory;" 64 0000b8: aa04 0000 | string_data_off: 000004aa 65 |[13] "Ljava/lang/invoke/MethodHandle;" 66 0000bc: d004 0000 | string_data_off: 000004d0 67 |[14] "Ljava/lang/invoke/MethodHandles$Lookup;" 68 0000c0: f104 0000 | string_data_off: 000004f1 69 |[15] "Ljava/lang/invoke/MethodType;" 70 0000c4: 1a05 0000 | string_data_off: 0000051a 71 |[16] "Main.java" 72 0000c8: 3905 0000 | string_data_off: 00000539 73 |[17] "V" 74 0000cc: 4405 0000 | string_data_off: 00000544 75 |[18] "VI" 76 0000d0: 4705 0000 | string_data_off: 00000547 77 |[19] "VIL" 78 0000d4: 4b05 0000 | string_data_off: 0000054b 79 |[1a] "VL" 80 0000d8: 5005 0000 | string_data_off: 00000550 81 |[1b] "[Ljava/lang/String;" 82 0000dc: 5405 0000 | string_data_off: 00000554 83 |[1c] "accept" 84 0000e0: 6905 0000 | string_data_off: 00000569 85 |[1d] "args" 86 0000e4: 7105 0000 | string_data_off: 00000571 87 |[1e] "bar" 88 0000e8: 7705 0000 | string_data_off: 00000577 89 |[1f] "consumer" 90 0000ec: 7c05 0000 | string_data_off: 0000057c 91 |[20] "i" 92 0000f0: 8605 0000 | string_data_off: 00000586 93 |[21] "intValue" 94 0000f4: 8905 0000 | string_data_off: 00000589 95 |[22] "j" 96 0000f8: 9305 0000 | string_data_off: 00000593 97 |[23] "k" 98 0000fc: 9605 0000 | string_data_off: 00000596 99 |[24] "lambda$bar$0" 100 000100: 9905 0000 | string_data_off: 00000599 101 |[25] "main" 102 000104: a705 0000 | string_data_off: 000005a7 103 |[26] "metafactory" 104 000108: ad05 0000 | string_data_off: 000005ad 105 |[27] "out" 106 00010c: ba05 0000 | string_data_off: 000005ba 107 |[28] "println" 108 000110: bf05 0000 | string_data_off: 000005bf 109 |[29] "this" 110 000114: c805 0000 | string_data_off: 000005c8 111 |[2a] "value" 112 000118: ce05 0000 | string_data_off: 000005ce 113 |[2b] "valueOf" 114 00011c: d505 0000 | string_data_off: 000005d5 115 | 116 |type_ids: 117 |[0] I 118 000120: 0400 0000 | descriptor_idx: 00000004 119 |[1] LConsumer; 120 000124: 0500 0000 | descriptor_idx: 00000005 121 |[2] LFoo; 122 000128: 0600 0000 | descriptor_idx: 00000006 123 |[3] LMain; 124 00012c: 0a00 0000 | descriptor_idx: 0000000a 125 |[4] Ldalvik/annotation/Signature; 126 000130: 0b00 0000 | descriptor_idx: 0000000b 127 |[5] Ljava/io/PrintStream; 128 000134: 0c00 0000 | descriptor_idx: 0000000c 129 |[6] Ljava/lang/Integer; 130 000138: 0d00 0000 | descriptor_idx: 0000000d 131 |[7] Ljava/lang/Object; 132 00013c: 0e00 0000 | descriptor_idx: 0000000e 133 |[8] Ljava/lang/String; 134 000140: 0f00 0000 | descriptor_idx: 0000000f 135 |[9] Ljava/lang/System; 136 000144: 1000 0000 | descriptor_idx: 00000010 137 |[a] Ljava/lang/invoke/CallSite; 138 000148: 1100 0000 | descriptor_idx: 00000011 139 |[b] Ljava/lang/invoke/LambdaMetafactory; 140 00014c: 1200 0000 | descriptor_idx: 00000012 141 |[c] Ljava/lang/invoke/MethodHandle; 142 000150: 1300 0000 | descriptor_idx: 00000013 143 |[d] Ljava/lang/invoke/MethodHandles$Lookup; 144 000154: 1400 0000 | descriptor_idx: 00000014 145 |[e] Ljava/lang/invoke/MethodType; 146 000158: 1500 0000 | descriptor_idx: 00000015 147 |[f] V 148 00015c: 1700 0000 | descriptor_idx: 00000017 149 |[10] [Ljava/lang/String; 150 000160: 1b00 0000 | descriptor_idx: 0000001b 151 | 152 |proto_ids: 153 |[0] int proto() 154 000164: 0400 0000 | shorty_idx: 00000004 // "I" 155 000168: 0000 0000 | return_type_idx: 00000000 // int 156 00016c: 0000 0000 | parameters_off: 00000000 157 |[1] Consumer proto(Foo, int) 158 000170: 0800 0000 | shorty_idx: 00000008 // "LLI" 159 000174: 0100 0000 | return_type_idx: 00000001 // Consumer 160 000178: 8803 0000 | parameters_off: 00000388 161 |[2] java.lang.Integer proto(int) 162 00017c: 0700 0000 | shorty_idx: 00000007 // "LI" 163 000180: 0600 0000 | return_type_idx: 00000006 // java.lang.Integer 164 000184: 9003 0000 | parameters_off: 00000390 165 |[3] java.lang.invoke.CallSite proto(java.lang.invoke.MethodHandles$Lookup, java.lang.String, java.lang.invoke.MethodType, java.lang.invoke.MethodType, java.lang.invoke.MethodHandle, java.lang.invoke.MethodType) 166 000188: 0900 0000 | shorty_idx: 00000009 // "LLLLLLL" 167 00018c: 0a00 0000 | return_type_idx: 0000000a // java.lang.invoke.CallSite 168 000190: 9803 0000 | parameters_off: 00000398 169 |[4] void proto() 170 000194: 1700 0000 | shorty_idx: 00000017 // "V" 171 000198: 0f00 0000 | return_type_idx: 0000000f // void 172 00019c: 0000 0000 | parameters_off: 00000000 173 |[5] void proto(int) 174 0001a0: 1800 0000 | shorty_idx: 00000018 // "VI" 175 0001a4: 0f00 0000 | return_type_idx: 0000000f // void 176 0001a8: 9003 0000 | parameters_off: 00000390 177 |[6] void proto(int, java.lang.Object) 178 0001ac: 1900 0000 | shorty_idx: 00000019 // "VIL" 179 0001b0: 0f00 0000 | return_type_idx: 0000000f // void 180 0001b4: a803 0000 | parameters_off: 000003a8 181 |[7] void proto(java.lang.Object) 182 0001b8: 1a00 0000 | shorty_idx: 0000001a // "VL" 183 0001bc: 0f00 0000 | return_type_idx: 0000000f // void 184 0001c0: b003 0000 | parameters_off: 000003b0 185 |[8] void proto(java.lang.String[]) 186 0001c4: 1a00 0000 | shorty_idx: 0000001a // "VL" 187 0001c8: 0f00 0000 | return_type_idx: 0000000f // void 188 0001cc: b803 0000 | parameters_off: 000003b8 189 | 190 |field_ids: 191 |[0] Foo.i:I 192 0001d0: 0200 | class_idx: 0002 193 0001d2: 0000 | type_idx: 0000 194 0001d4: 2000 0000 | name_idx: 00000020 195 |[1] java.lang.System.out:Ljava/io/PrintStream; 196 0001d8: 0900 | class_idx: 0009 197 0001da: 0500 | type_idx: 0005 198 0001dc: 2700 0000 | name_idx: 00000027 199 | 200 |method_ids: 201 |[0] Consumer.accept:(Ljava/lang/Object;)V 202 0001e0: 0100 | class_idx: 0001 203 0001e2: 0700 | proto_idx: 0007 204 0001e4: 1c00 0000 | name_idx: 0000001c 205 |[1] Foo.<init>:()V 206 0001e8: 0200 | class_idx: 0002 207 0001ea: 0400 | proto_idx: 0004 208 0001ec: 0200 0000 | name_idx: 00000002 209 |[2] Foo.bar:(I)V 210 0001f0: 0200 | class_idx: 0002 211 0001f2: 0500 | proto_idx: 0005 212 0001f4: 1e00 0000 | name_idx: 0000001e 213 |[3] Foo.lambda$bar$0:(ILjava/lang/Object;)V 214 0001f8: 0200 | class_idx: 0002 215 0001fa: 0600 | proto_idx: 0006 216 0001fc: 2400 0000 | name_idx: 00000024 217 |[4] Main.<init>:()V 218 000200: 0300 | class_idx: 0003 219 000202: 0400 | proto_idx: 0004 220 000204: 0200 0000 | name_idx: 00000002 221 |[5] Main.main:([Ljava/lang/String;)V 222 000208: 0300 | class_idx: 0003 223 00020a: 0800 | proto_idx: 0008 224 00020c: 2500 0000 | name_idx: 00000025 225 |[6] java.io.PrintStream.println:(I)V 226 000210: 0500 | class_idx: 0005 227 000212: 0500 | proto_idx: 0005 228 000214: 2800 0000 | name_idx: 00000028 229 |[7] java.lang.Integer.intValue:()I 230 000218: 0600 | class_idx: 0006 231 00021a: 0000 | proto_idx: 0000 232 00021c: 2100 0000 | name_idx: 00000021 233 |[8] java.lang.Integer.valueOf:(I)Ljava/lang/Integer; 234 000220: 0600 | class_idx: 0006 235 000222: 0200 | proto_idx: 0002 236 000224: 2b00 0000 | name_idx: 0000002b 237 |[9] java.lang.Object.<init>:()V 238 000228: 0700 | class_idx: 0007 239 00022a: 0400 | proto_idx: 0004 240 00022c: 0200 0000 | name_idx: 00000002 241 |[a] java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 242 000230: 0b00 | class_idx: 000b 243 000232: 0300 | proto_idx: 0003 244 000234: 2600 0000 | name_idx: 00000026 245 | 246 |class_defs: 247 |[0] Consumer 248 000238: 0100 0000 | class_idx: 00000001 249 00023c: 0006 0000 | access_flags: interface|abstract 250 000240: 0700 0000 | superclass_idx: 00000007 // java.lang.Object 251 000244: 0000 0000 | interfaces_off: 00000000 252 000248: 1600 0000 | source_file_idx: 00000016 // Main.java 253 00024c: 7003 0000 | annotations_off: 00000370 254 000250: 2906 0000 | class_data_off: 00000629 255 000254: 0000 0000 | static_values_off: 00000000 256 |[1] Foo 257 000258: 0200 0000 | class_idx: 00000002 258 00025c: 0000 0000 | access_flags: 0000 259 000260: 0700 0000 | superclass_idx: 00000007 // java.lang.Object 260 000264: 0000 0000 | interfaces_off: 00000000 261 000268: 1600 0000 | source_file_idx: 00000016 // Main.java 262 00026c: 0000 0000 | annotations_off: 00000000 263 000270: 3106 0000 | class_data_off: 00000631 264 000274: 0000 0000 | static_values_off: 00000000 265 |[2] Main 266 000278: 0300 0000 | class_idx: 00000003 267 00027c: 0000 0000 | access_flags: 0000 268 000280: 0700 0000 | superclass_idx: 00000007 // java.lang.Object 269 000284: 0000 0000 | interfaces_off: 00000000 270 000288: 1600 0000 | source_file_idx: 00000016 // Main.java 271 00028c: 0000 0000 | annotations_off: 00000000 272 000290: 4606 0000 | class_data_off: 00000646 273 000294: 0000 0000 | static_values_off: 00000000 274 | 275 |call_site_ids: 276 |[0] call site{method-handle{invoke-static,method{java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;}}, string{"accept"}, proto{(LFoo;I)LConsumer;}, proto{(Ljava/lang/Object;)V}, method-handle{invoke-direct,method{Foo.lambda$bar$0:(ILjava/lang/Object;)V}}, proto{(Ljava/lang/Object;)V}} 277 000298: 1c06 0000 |call_site_off: 0000061c 278 00029c: 0000 0000 | 279 | 280 |method_handles: 281 |[0] method-handle{invoke-static,method{java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;}} 282 0002a0: 0400 |type: 0004 // invoke-static 283 0002a2: 0000 |reserved: 0000 284 0002a4: 0a00 |methodId: 000a // method{java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;} 285 0002a6: 0000 |reserved: 0000 286 |[1] method-handle{invoke-direct,method{Foo.lambda$bar$0:(ILjava/lang/Object;)V}} 287 0002a8: 0700 |type: 0007 // invoke-direct 288 0002aa: 0000 |reserved: 0000 289 0002ac: 0300 |methodId: 0003 // method{Foo.lambda$bar$0:(ILjava/lang/Object;)V} 290 0002ae: 0000 |reserved: 0000 291 | 292 |word_data: 293 |[2b0] annotation set 294 0002b0: 0100 0000 | size: 00000001 295 0002b4: 0606 0000 | entries[0]: 00000606 296 | visibility: system 297 | type: dalvik.annotation.Signature 298 | value: array {<T:, Ljava/lang/Object;, >, Ljava/lang/Object;} 299 | 300 |[2b8] annotation set 301 0002b8: 0100 0000 | size: 00000001 302 0002bc: 1406 0000 | entries[0]: 00000614 303 | visibility: system 304 | type: dalvik.annotation.Signature 305 | value: array {(TT;)V} 306 | 307 |[2c0] Foo.<init>:()V 308 0002c0: 0100 | registers_size: 0001 309 0002c2: 0100 | ins_size: 0001 310 0002c4: 0100 | outs_size: 0001 311 0002c6: 0000 | tries_size: 0000 312 0002c8: de05 0000 | debug_off: 000005de 313 0002cc: 0400 0000 | insns_size: 00000004 314 0002d0: 7010 0900 0000 | 0000: invoke-direct {v0}, java.lang.Object.<init>:()V // method@0009 315 0002d6: 0e00 | 0003: return-void 316 | debug info 317 | line_start: 21 318 | parameters_size: 0000 319 | 0000: prologue end 320 | 0000: line 21 321 | end sequence 322 | 323 |[2d8] Foo.lambda$bar$0:(ILjava/lang/Object;)V 324 0002d8: 0600 | registers_size: 0006 325 0002da: 0300 | ins_size: 0003 326 0002dc: 0200 | outs_size: 0002 327 0002de: 0000 | tries_size: 0000 328 0002e0: e305 0000 | debug_off: 000005e3 329 0002e4: 1000 0000 | insns_size: 00000010 330 0002e8: 6200 0100 | 0000: sget-object v0, java.lang.System.out:Ljava/io/PrintStream; // field@0001 331 0002ec: 5231 0000 | 0002: iget v1, v3, Foo.i:I // field@0000 332 0002f0: b041 | 0004: add-int/2addr v1, v4 333 0002f2: 1f05 0600 | 0005: check-cast v5, java.lang.Integer // type@0006 334 0002f6: 6e10 0700 0500 | 0007: invoke-virtual {v5}, java.lang.Integer.intValue:()I // method@0007 335 0002fc: 0a02 | 000a: move-result v2 336 0002fe: b021 | 000b: add-int/2addr v1, v2 337 000300: 6e20 0600 1000 | 000c: invoke-virtual {v0, v1}, java.io.PrintStream.println:(I)V // method@0006 338 000306: 0e00 | 000f: return-void 339 | debug info 340 | line_start: 24 341 | parameters_size: 0002 342 | parameter j v4 343 | parameter k v5 344 | 0000: prologue end 345 | 0000: line 24 346 | 0007: advance pc 347 | 0007: -local v5 k java.lang.Object 348 | end sequence 349 | 350 |[308] Foo.bar:(I)V 351 000308: 0400 | registers_size: 0004 352 00030a: 0200 | ins_size: 0002 353 00030c: 0200 | outs_size: 0002 354 00030e: 0000 | tries_size: 0000 355 000310: ee05 0000 | debug_off: 000005ee 356 000314: 0d00 0000 | insns_size: 0000000d 357 000318: fc20 0000 3200 | 0000: invoke-custom {v2, v3}, {invoke-static,method{java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;}, accept, (LFoo;I)LConsumer;, (Ljava/lang/Object;)V, invoke-direct,method{Foo.lambda$bar$0:(ILjava/lang/Object;)V}, (Ljava/lang/Object;)V} // CallSiteRef@0000 358 00031e: 0c00 | 0003: move-result-object v0 359 000320: 1211 | 0004: const/4 v1, #int 1 // #1 360 000322: 7110 0800 0100 | 0005: invoke-static {v1}, java.lang.Integer.valueOf:(I)Ljava/lang/Integer; // method@0008 361 000328: 0c01 | 0008: move-result-object v1 362 00032a: 7220 0000 1000 | 0009: invoke-interface {v0, v1}, Consumer.accept:(Ljava/lang/Object;)V // method@0000 363 000330: 0e00 | 000c: return-void 364 | debug info 365 | line_start: 24 366 | parameters_size: 0001 367 | parameter j v3 368 | 0000: prologue end 369 | 0000: line 24 370 | 0004: line 25 371 | 0004: +local v0 consumer Consumer 372 | 000c: line 26 373 | end sequence 374 | 375 000332: 0000 | 376 |[334] Main.<init>:()V 377 000334: 0100 | registers_size: 0001 378 000336: 0100 | ins_size: 0001 379 000338: 0100 | outs_size: 0001 380 00033a: 0000 | tries_size: 0000 381 00033c: fa05 0000 | debug_off: 000005fa 382 000340: 0400 0000 | insns_size: 00000004 383 000344: 7010 0900 0000 | 0000: invoke-direct {v0}, java.lang.Object.<init>:()V // method@0009 384 00034a: 0e00 | 0003: return-void 385 | debug info 386 | line_start: 29 387 | parameters_size: 0000 388 | 0000: prologue end 389 | 0000: line 29 390 | end sequence 391 | 392 |[34c] Main.main:([Ljava/lang/String;)V 393 00034c: 0300 | registers_size: 0003 394 00034e: 0100 | ins_size: 0001 395 000350: 0200 | outs_size: 0002 396 000352: 0000 | tries_size: 0000 397 000354: ff05 0000 | debug_off: 000005ff 398 000358: 0a00 0000 | insns_size: 0000000a 399 00035c: 2200 0200 | 0000: new-instance v0, Foo // type@0002 400 000360: 7010 0100 0000 | 0002: invoke-direct {v0}, Foo.<init>:()V // method@0001 401 000366: 1251 | 0005: const/4 v1, #int 5 // #5 402 000368: 6e20 0200 1000 | 0006: invoke-virtual {v0, v1}, Foo.bar:(I)V // method@0002 403 00036e: 0e00 | 0009: return-void 404 | debug info 405 | line_start: 31 406 | parameters_size: 0001 407 | parameter args v2 408 | 0000: prologue end 409 | 0000: line 31 410 | 0009: line 32 411 | end sequence 412 | 413 |[370] annotations directory 414 000370: b002 0000 | class_annotations_off: 000002b0 415 000374: 0000 0000 | fields_size: 00000000 416 000378: 0100 0000 | methods_size: 00000001 417 00037c: 0000 0000 | parameters_size: 00000000 418 | methods: 419 | Consumer.accept:(Ljava/lang/Object;)V 420 000380: 0000 0000 | method_idx: 00000000 421 000384: b802 0000 | annotations_off: 000002b8 422 | 423 |[388] type_list 424 000388: 0200 0000 | size: 00000002 425 00038c: 0200 | 0002 // Foo 426 00038e: 0000 | 0000 // int 427 | 428 |[390] type_list 429 000390: 0100 0000 | size: 00000001 430 000394: 0000 | 0000 // int 431 | 432 000396: 0000 | 433 |[398] type_list 434 000398: 0600 0000 | size: 00000006 435 00039c: 0d00 | 000d // java.lang.invoke.MethodHandles$Lookup 436 00039e: 0800 | 0008 // java.lang.String 437 0003a0: 0e00 | 000e // java.lang.invoke.MethodType 438 0003a2: 0e00 | 000e // java.lang.invoke.MethodType 439 0003a4: 0c00 | 000c // java.lang.invoke.MethodHandle 440 0003a6: 0e00 | 000e // java.lang.invoke.MethodType 441 | 442 |[3a8] type_list 443 0003a8: 0200 0000 | size: 00000002 444 0003ac: 0000 | 0000 // int 445 0003ae: 0700 | 0007 // java.lang.Object 446 | 447 |[3b0] type_list 448 0003b0: 0100 0000 | size: 00000001 449 0003b4: 0700 | 0007 // java.lang.Object 450 | 451 0003b6: 0000 | 452 |[3b8] type_list 453 0003b8: 0100 0000 | size: 00000001 454 0003bc: 1000 | 0010 // java.lang.String[] 455 | 456 |string_data: 457 0003be: 06 |utf16_size: 00000006 458 0003bf: 2854 543b 2956 00 |"(TT;)V" 459 | 460 0003c6: 03 |utf16_size: 00000003 461 0003c7: 3c54 3a00 |"<T:" 462 | 463 0003cb: 06 |utf16_size: 00000006 464 0003cc: 3c69 6e69 743e 00 |"<init>" 465 | 466 0003d3: 01 |utf16_size: 00000001 467 0003d4: 3e00 |">" 468 | 469 0003d6: 01 |utf16_size: 00000001 470 0003d7: 4900 |"I" 471 | 472 0003d9: 0a |utf16_size: 0000000a 473 0003da: 4c43 6f6e 7375 6d65 723b|"LConsumer;" 474 0003e4: 00 | 475 | 476 0003e5: 05 |utf16_size: 00000005 477 0003e6: 4c46 6f6f 3b00 |"LFoo;" 478 | 479 0003ec: 02 |utf16_size: 00000002 480 0003ed: 4c49 00 |"LI" 481 | 482 0003f0: 03 |utf16_size: 00000003 483 0003f1: 4c4c 4900 |"LLI" 484 | 485 0003f5: 07 |utf16_size: 00000007 486 0003f6: 4c4c 4c4c 4c4c 4c00 |"LLLLLLL" 487 | 488 0003fe: 06 |utf16_size: 00000006 489 0003ff: 4c4d 6169 6e3b 00 |"LMain;" 490 | 491 000406: 1d |utf16_size: 0000001d 492 000407: 4c64 616c 7669 6b2f 616e|"Ldalvik/annotation/Signature;" 493 000411: 6e6f 7461 7469 6f6e 2f53| 494 00041b: 6967 6e61 7475 7265 3b00| 495 | 496 000425: 15 |utf16_size: 00000015 497 000426: 4c6a 6176 612f 696f 2f50|"Ljava/io/PrintStream;" 498 000430: 7269 6e74 5374 7265 616d| 499 00043a: 3b00 | 500 | 501 00043c: 13 |utf16_size: 00000013 502 00043d: 4c6a 6176 612f 6c61 6e67|"Ljava/lang/Integer;" 503 000447: 2f49 6e74 6567 6572 3b00| 504 | 505 000451: 12 |utf16_size: 00000012 506 000452: 4c6a 6176 612f 6c61 6e67|"Ljava/lang/Object;" 507 00045c: 2f4f 626a 6563 743b 00 | 508 | 509 000465: 12 |utf16_size: 00000012 510 000466: 4c6a 6176 612f 6c61 6e67|"Ljava/lang/String;" 511 000470: 2f53 7472 696e 673b 00 | 512 | 513 000479: 12 |utf16_size: 00000012 514 00047a: 4c6a 6176 612f 6c61 6e67|"Ljava/lang/System;" 515 000484: 2f53 7973 7465 6d3b 00 | 516 | 517 00048d: 1b |utf16_size: 0000001b 518 00048e: 4c6a 6176 612f 6c61 6e67|"Ljava/lang/invoke/CallSite;" 519 000498: 2f69 6e76 6f6b 652f 4361| 520 0004a2: 6c6c 5369 7465 3b00 | 521 | 522 0004aa: 24 |utf16_size: 00000024 523 0004ab: 4c6a 6176 612f 6c61 6e67|"Ljava/lang/invoke/LambdaMetafactory;" 524 0004b5: 2f69 6e76 6f6b 652f 4c61| 525 0004bf: 6d62 6461 4d65 7461 6661| 526 0004c9: 6374 6f72 793b 00 | 527 | 528 0004d0: 1f |utf16_size: 0000001f 529 0004d1: 4c6a 6176 612f 6c61 6e67|"Ljava/lang/invoke/MethodHandle;" 530 0004db: 2f69 6e76 6f6b 652f 4d65| 531 0004e5: 7468 6f64 4861 6e64 6c65| 532 0004ef: 3b00 | 533 | 534 0004f1: 27 |utf16_size: 00000027 535 0004f2: 4c6a 6176 612f 6c61 6e67|"Ljava/lang/invoke/MethodHandles$Lookup;" 536 0004fc: 2f69 6e76 6f6b 652f 4d65| 537 000506: 7468 6f64 4861 6e64 6c65| 538 000510: 7324 4c6f 6f6b 7570 3b00| 539 | 540 00051a: 1d |utf16_size: 0000001d 541 00051b: 4c6a 6176 612f 6c61 6e67|"Ljava/lang/invoke/MethodType;" 542 000525: 2f69 6e76 6f6b 652f 4d65| 543 00052f: 7468 6f64 5479 7065 3b00| 544 | 545 000539: 09 |utf16_size: 00000009 546 00053a: 4d61 696e 2e6a 6176 6100|"Main.java" 547 | 548 000544: 01 |utf16_size: 00000001 549 000545: 5600 |"V" 550 | 551 000547: 02 |utf16_size: 00000002 552 000548: 5649 00 |"VI" 553 | 554 00054b: 03 |utf16_size: 00000003 555 00054c: 5649 4c00 |"VIL" 556 | 557 000550: 02 |utf16_size: 00000002 558 000551: 564c 00 |"VL" 559 | 560 000554: 13 |utf16_size: 00000013 561 000555: 5b4c 6a61 7661 2f6c 616e|"[Ljava/lang/String;" 562 00055f: 672f 5374 7269 6e67 3b00| 563 | 564 000569: 06 |utf16_size: 00000006 565 00056a: 6163 6365 7074 00 |"accept" 566 | 567 000571: 04 |utf16_size: 00000004 568 000572: 6172 6773 00 |"args" 569 | 570 000577: 03 |utf16_size: 00000003 571 000578: 6261 7200 |"bar" 572 | 573 00057c: 08 |utf16_size: 00000008 574 00057d: 636f 6e73 756d 6572 00 |"consumer" 575 | 576 000586: 01 |utf16_size: 00000001 577 000587: 6900 |"i" 578 | 579 000589: 08 |utf16_size: 00000008 580 00058a: 696e 7456 616c 7565 00 |"intValue" 581 | 582 000593: 01 |utf16_size: 00000001 583 000594: 6a00 |"j" 584 | 585 000596: 01 |utf16_size: 00000001 586 000597: 6b00 |"k" 587 | 588 000599: 0c |utf16_size: 0000000c 589 00059a: 6c61 6d62 6461 2462 6172|"lambda$bar$0" 590 0005a4: 2430 00 | 591 | 592 0005a7: 04 |utf16_size: 00000004 593 0005a8: 6d61 696e 00 |"main" 594 | 595 0005ad: 0b |utf16_size: 0000000b 596 0005ae: 6d65 7461 6661 6374 6f72|"metafactory" 597 0005b8: 7900 | 598 | 599 0005ba: 03 |utf16_size: 00000003 600 0005bb: 6f75 7400 |"out" 601 | 602 0005bf: 07 |utf16_size: 00000007 603 0005c0: 7072 696e 746c 6e00 |"println" 604 | 605 0005c8: 04 |utf16_size: 00000004 606 0005c9: 7468 6973 00 |"this" 607 | 608 0005ce: 05 |utf16_size: 00000005 609 0005cf: 7661 6c75 6500 |"value" 610 | 611 0005d5: 07 |utf16_size: 00000007 612 0005d6: 7661 6c75 654f 6600 |"valueOf" 613 | 614 |byte_data: 615 |[5de] debug info 616 0005de: 15 |line_start: 21 617 0005df: 00 |parameters_size: 0000 618 0005e0: 07 |0000: prologue end 619 0005e1: 0e |0000: line 21 620 0005e2: 00 |end sequence 621 | 622 |[5e3] debug info 623 0005e3: 18 |line_start: 24 624 0005e4: 02 |parameters_size: 0002 625 0005e5: 23 |parameter j v4 626 0005e6: 24 |parameter k v5 627 0005e7: 07 |0000: prologue end 628 0005e8: 0e |0000: line 24 629 0005e9: 0107 |0007: advance pc 630 0005eb: 0505 |0007: -local v5 k java.lang.Object 631 0005ed: 00 |end sequence 632 | 633 |[5ee] debug info 634 0005ee: 18 |line_start: 24 635 0005ef: 01 |parameters_size: 0001 636 0005f0: 23 |parameter j v3 637 0005f1: 07 |0000: prologue end 638 0005f2: 0e |0000: line 24 639 0005f3: 4b |0004: line 25 640 0005f4: 0300 2002 |0004: +local v0 consumer Consumer 641 0005f8: 87 |000c: line 26 642 0005f9: 00 |end sequence 643 | 644 |[5fa] debug info 645 0005fa: 1d |line_start: 29 646 0005fb: 00 |parameters_size: 0000 647 0005fc: 07 |0000: prologue end 648 0005fd: 0e |0000: line 29 649 0005fe: 00 |end sequence 650 | 651 |[5ff] debug info 652 0005ff: 1f |line_start: 31 653 000600: 01 |parameters_size: 0001 654 000601: 1e |parameter args v2 655 000602: 07 |0000: prologue end 656 000603: 0e |0000: line 31 657 000604: 96 |0009: line 32 658 000605: 00 |end sequence 659 | 660 |[606] annotation 661 000606: 02 | visibility: VISBILITY_SYSTEM 662 000607: 04 | type_idx: 00000004 // dalvik.annotation.Signature 663 000608: 01 | size: 00000001 664 | elements[0]: 665 000609: 2a | name_idx: 0000002a // value 666 00060a: 1c04 1701 170e 1703 170e| value: array {<T:, Ljava/lang/Object;, >, Ljava/lang/Object;} 667 | 668 |[614] annotation 669 000614: 02 | visibility: VISBILITY_SYSTEM 670 000615: 04 | type_idx: 00000004 // dalvik.annotation.Signature 671 000616: 01 | size: 00000001 672 | elements[0]: 673 000617: 2a | name_idx: 0000002a // value 674 000618: 1c01 1700 | value: array {(TT;)V} 675 | 676 |[61c] call site 677 00061c: 06 | size: 00000006 678 00061d: 1600 | [0] method handle invoke-static,method{java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;} 679 00061f: 171c | [1] utf8 accept 680 000621: 1501 | [2] proto (LFoo;I)LConsumer; 681 000623: 1507 | [3] proto (Ljava/lang/Object;)V 682 000625: 1601 | [4] method handle invoke-direct,method{Foo.lambda$bar$0:(ILjava/lang/Object;)V} 683 000627: 1507 | [5] proto (Ljava/lang/Object;)V 684 | 685 |[629] class data for Consumer 686 000629: 00 | static_fields_size: 00000000 687 00062a: 00 | instance_fields_size: 00000000 688 00062b: 00 | direct_methods_size: 00000000 689 00062c: 01 | virtual_methods_size: 00000001 690 | virtual_methods: 691 | [0] Consumer.accept:(Ljava/lang/Object;)V 692 00062d: 00 | method_idx: 00000000 693 00062e: 8108 | access_flags: public|abstract 694 000630: 00 | code_off: 00000000 695 | 696 |[631] class data for Foo 697 000631: 00 | static_fields_size: 00000000 698 000632: 01 | instance_fields_size: 00000001 699 000633: 02 | direct_methods_size: 00000002 700 000634: 01 | virtual_methods_size: 00000001 701 | instance_fields: 702 | [0] Foo.i:I 703 000635: 00 | field_idx: 00000000 704 000636: 00 | access_flags: 0000 705 | direct_methods: 706 | [0] Foo.<init>:()V 707 000637: 01 | method_idx: 00000001 708 000638: 8080 04 | access_flags: constructor 709 00063b: c005 | code_off: 000002c0 710 | [1] Foo.lambda$bar$0:(ILjava/lang/Object;)V 711 00063d: 02 | method_idx: 00000003 712 00063e: 8220 | access_flags: private|synthetic 713 000640: d805 | code_off: 000002d8 714 | virtual_methods: 715 | [0] Foo.bar:(I)V 716 000642: 02 | method_idx: 00000002 717 000643: 00 | access_flags: 0000 718 000644: 8806 | code_off: 00000308 719 | 720 |[646] class data for Main 721 000646: 00 | static_fields_size: 00000000 722 000647: 00 | instance_fields_size: 00000000 723 000648: 02 | direct_methods_size: 00000002 724 000649: 00 | virtual_methods_size: 00000000 725 | direct_methods: 726 | [0] Main.<init>:()V 727 00064a: 04 | method_idx: 00000004 728 00064b: 8080 04 | access_flags: constructor 729 00064e: b406 | code_off: 00000334 730 | [1] Main.main:([Ljava/lang/String;)V 731 000650: 01 | method_idx: 00000005 732 000651: 09 | access_flags: public|static 733 000652: cc06 | code_off: 0000034c 734 | 735 |map: 736 |[654] map list 737 000654: 1300 0000 | size: 00000013 738 |[658] header_item map 739 000658: 0000 | type: 0000 // TYPE_HEADER_ITEM 740 00065a: 0000 | unused: 0 741 00065c: 0100 0000 | size: 00000001 742 000660: 0000 0000 | offset: 00000000 743 |[664] string_id_item map 744 000664: 0100 | type: 0001 // TYPE_STRING_ID_ITEM 745 000666: 0000 | unused: 0 746 000668: 2c00 0000 | size: 0000002c 747 00066c: 7000 0000 | offset: 00000070 748 |[670] type_id_item map 749 000670: 0200 | type: 0002 // TYPE_TYPE_ID_ITEM 750 000672: 0000 | unused: 0 751 000674: 1100 0000 | size: 00000011 752 000678: 2001 0000 | offset: 00000120 753 |[67c] proto_id_item map 754 00067c: 0300 | type: 0003 // TYPE_PROTO_ID_ITEM 755 00067e: 0000 | unused: 0 756 000680: 0900 0000 | size: 00000009 757 000684: 6401 0000 | offset: 00000164 758 |[688] field_id_item map 759 000688: 0400 | type: 0004 // TYPE_FIELD_ID_ITEM 760 00068a: 0000 | unused: 0 761 00068c: 0200 0000 | size: 00000002 762 000690: d001 0000 | offset: 000001d0 763 |[694] method_id_item map 764 000694: 0500 | type: 0005 // TYPE_METHOD_ID_ITEM 765 000696: 0000 | unused: 0 766 000698: 0b00 0000 | size: 0000000b 767 00069c: e001 0000 | offset: 000001e0 768 |[6a0] class_def_item map 769 0006a0: 0600 | type: 0006 // TYPE_CLASS_DEF_ITEM 770 0006a2: 0000 | unused: 0 771 0006a4: 0300 0000 | size: 00000003 772 0006a8: 3802 0000 | offset: 00000238 773 |[6ac] call_site_id_item map 774 0006ac: 0700 | type: 0007 // TYPE_CALL_SITE_ID_ITEM 775 0006ae: 0000 | unused: 0 776 0006b0: 0100 0000 | size: 00000001 777 0006b4: 9802 0000 | offset: 00000298 778 |[6b8] method_handle_item map 779 0006b8: 0800 | type: 0008 // TYPE_METHOD_HANDLE_ITEM 780 0006ba: 0000 | unused: 0 781 0006bc: 0200 0000 | size: 00000002 782 0006c0: a002 0000 | offset: 000002a0 783 |[6c4] annotation_set_item map 784 0006c4: 0310 | type: 1003 // TYPE_ANNOTATION_SET_ITEM 785 0006c6: 0000 | unused: 0 786 0006c8: 0200 0000 | size: 00000002 787 0006cc: b002 0000 | offset: 000002b0 788 |[6d0] code_item map 789 0006d0: 0120 | type: 2001 // TYPE_CODE_ITEM 790 0006d2: 0000 | unused: 0 791 0006d4: 0500 0000 | size: 00000005 792 0006d8: c002 0000 | offset: 000002c0 793 |[6dc] annotations_directory_item map 794 0006dc: 0620 | type: 2006 // TYPE_ANNOTATIONS_DIRECTORY_ITEM 795 0006de: 0000 | unused: 0 796 0006e0: 0100 0000 | size: 00000001 797 0006e4: 7003 0000 | offset: 00000370 798 |[6e8] type_list map 799 0006e8: 0110 | type: 1001 // TYPE_TYPE_LIST 800 0006ea: 0000 | unused: 0 801 0006ec: 0600 0000 | size: 00000006 802 0006f0: 8803 0000 | offset: 00000388 803 |[6f4] string_data_item map 804 0006f4: 0220 | type: 2002 // TYPE_STRING_DATA_ITEM 805 0006f6: 0000 | unused: 0 806 0006f8: 2c00 0000 | size: 0000002c 807 0006fc: be03 0000 | offset: 000003be 808 |[700] debug_info_item map 809 000700: 0320 | type: 2003 // TYPE_DEBUG_INFO_ITEM 810 000702: 0000 | unused: 0 811 000704: 0500 0000 | size: 00000005 812 000708: de05 0000 | offset: 000005de 813 |[70c] annotation_item map 814 00070c: 0420 | type: 2004 // TYPE_ANNOTATION_ITEM 815 00070e: 0000 | unused: 0 816 000710: 0200 0000 | size: 00000002 817 000714: 0606 0000 | offset: 00000606 818 |[718] encoded_array_item map 819 000718: 0520 | type: 2005 // TYPE_ENCODED_ARRAY_ITEM 820 00071a: 0000 | unused: 0 821 00071c: 0100 0000 | size: 00000001 822 000720: 1c06 0000 | offset: 0000061c 823 |[724] class_data_item map 824 000724: 0020 | type: 2000 // TYPE_CLASS_DATA_ITEM 825 000726: 0000 | unused: 0 826 000728: 0300 0000 | size: 00000003 827 00072c: 2906 0000 | offset: 00000629 828 |[730] map_list map 829 000730: 0010 | type: 1000 // TYPE_MAP_LIST 830 000732: 0000 | unused: 0 831 000734: 0100 0000 | size: 00000001 832 000738: 5406 0000 | offset: 00000654 833 | 834 |method code index: 835 | 836 |[2c0] Foo.<init>:()V 837 |[308] Foo.bar:(I)V 838 |[2d8] Foo.lambda$bar$0:(ILjava/lang/Object;)V 839 |[334] Main.<init>:()V 840 |[34c] Main.main:([Ljava/lang/String;)V 841 | 842 |statistics: 843 | annotation: 2 items; 22 bytes total 844 | 8..14 bytes/item; average 11 845 | annotation set: 2 items; 16 bytes total 846 | 8 bytes/item 847 | annotations directory: 1 item; 24 bytes total 848 | 24 bytes/item 849 | call site id: 1 item; 4 bytes total 850 | 4 bytes/item 851 | class data: 3 items; 43 bytes total 852 | 8..21 bytes/item; average 14 853 | class def: 3 items; 96 bytes total 854 | 32 bytes/item 855 | code: 5 items; 176 bytes total 856 | 24..48 bytes/item; average 35 857 | debug info: 5 items; 40 bytes total 858 | 5..12 bytes/item; average 8 859 | encoded array: 1 item; 13 bytes total 860 | 13 bytes/item 861 | field id: 2 items; 16 bytes total 862 | 8 bytes/item 863 | header: 1 item; 112 bytes total 864 | 112 bytes/item 865 | map list: 1 item; 232 bytes total 866 | 232 bytes/item 867 | method handle: 2 items; 16 bytes total 868 | 8 bytes/item 869 | method id: 11 items; 88 bytes total 870 | 8 bytes/item 871 | proto id: 9 items; 108 bytes total 872 | 12 bytes/item 873 | string data: 44 items; 544 bytes total 874 | 3..41 bytes/item; average 12 875 | string id: 44 items; 176 bytes total 876 | 4 bytes/item 877 | type id: 17 items; 68 bytes total 878 | 4 bytes/item 879 | type list: 6 items; 50 bytes total 880 | 6..16 bytes/item; average 8 881