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