Processing 'all-dex-files.jar'... Opened 'all-dex-files.jar:classes.dex', DEX version '035' DEX file header: magic : 'dex\n035\0' checksum : d5134208 signature : 7af6...100f file_size : 2572 header_size : 112 link_size : 0 link_off : 0 (0x000000) string_ids_size : 46 string_ids_off : 112 (0x000070) type_ids_size : 10 type_ids_off : 296 (0x000128) proto_ids_size : 3 proto_ids_off : 336 (0x000150) field_ids_size : 14 field_ids_off : 372 (0x000174) method_ids_size : 21 method_ids_off : 484 (0x0001e4) class_defs_size : 1 class_defs_off : 652 (0x00028c) data_size : 1888 data_off : 684 (0x0002ac) Class #0 header: class_idx : 4 access_flags : 1 (0x0001) superclass_idx : 5 interfaces_off : 0 (0x000000) source_file_idx : -1 annotations_off : 0 (0x000000) class_data_off : 2310 (0x000906) static_fields_size : 7 instance_fields_size: 7 direct_methods_size : 18 virtual_methods_size: 2 Class #0 - Class descriptor : 'LA;' Access flags : 0x0001 (PUBLIC) Superclass : 'Ljava/lang/Object;' Interfaces - Static fields - #0 : (in LA;) name : 'sB' type : 'B' access : 0x000a (PRIVATE STATIC) #1 : (in LA;) name : 'sC' type : 'C' access : 0x000a (PRIVATE STATIC) #2 : (in LA;) name : 'sI' type : 'I' access : 0x000a (PRIVATE STATIC) #3 : (in LA;) name : 'sJ' type : 'J' access : 0x000a (PRIVATE STATIC) #4 : (in LA;) name : 'sO' type : 'LA;' access : 0x000a (PRIVATE STATIC) #5 : (in LA;) name : 'sS' type : 'S' access : 0x000a (PRIVATE STATIC) #6 : (in LA;) name : 'sZ' type : 'Z' access : 0x000a (PRIVATE STATIC) Instance fields - #0 : (in LA;) name : 'mB' type : 'B' access : 0x0002 (PRIVATE) #1 : (in LA;) name : 'mC' type : 'C' access : 0x0002 (PRIVATE) #2 : (in LA;) name : 'mI' type : 'I' access : 0x0002 (PRIVATE) #3 : (in LA;) name : 'mJ' type : 'J' access : 0x0002 (PRIVATE) #4 : (in LA;) name : 'mO' type : 'LA;' access : 0x0002 (PRIVATE) #5 : (in LA;) name : 'mS' type : 'S' access : 0x0002 (PRIVATE) #6 : (in LA;) name : 'mZ' type : 'Z' access : 0x0002 (PRIVATE) Direct methods - #0 : (in LA;) name : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 0 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 00042c: |[00042c] A.:()V 00043c: 7010 1400 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0014 000442: 0e00 |0003: return-void catches : (none) positions : locals : #1 : (in LA;) name : 'arrays' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 1 code - registers : 3 ins : 0 outs : 0 insns size : 29 16-bit code units 000444: |[000444] A.arrays:()V 000454: 4400 0102 |0000: aget v0, v1, v2 000458: 4500 0102 |0002: aget-wide v0, v1, v2 00045c: 4600 0102 |0004: aget-object v0, v1, v2 000460: 4700 0102 |0006: aget-boolean v0, v1, v2 000464: 4800 0102 |0008: aget-byte v0, v1, v2 000468: 4900 0102 |000a: aget-char v0, v1, v2 00046c: 4a00 0102 |000c: aget-short v0, v1, v2 000470: 4b00 0102 |000e: aput v0, v1, v2 000474: 4c00 0102 |0010: aput-wide v0, v1, v2 000478: 4d00 0102 |0012: aput-object v0, v1, v2 00047c: 4e00 0102 |0014: aput-boolean v0, v1, v2 000480: 4f00 0102 |0016: aput-byte v0, v1, v2 000484: 5000 0102 |0018: aput-char v0, v1, v2 000488: 5100 0102 |001a: aput-short v0, v1, v2 00048c: 0e00 |001c: return-void catches : (none) positions : locals : #2 : (in LA;) name : 'binary_ops' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 2 code - registers : 3 ins : 0 outs : 0 insns size : 65 16-bit code units 000490: |[000490] A.binary_ops:()V 0004a0: 9000 0102 |0000: add-int v0, v1, v2 0004a4: 9100 0102 |0002: sub-int v0, v1, v2 0004a8: 9200 0102 |0004: mul-int v0, v1, v2 0004ac: 9300 0102 |0006: div-int v0, v1, v2 0004b0: 9400 0102 |0008: rem-int v0, v1, v2 0004b4: 9500 0102 |000a: and-int v0, v1, v2 0004b8: 9600 0102 |000c: or-int v0, v1, v2 0004bc: 9700 0102 |000e: xor-int v0, v1, v2 0004c0: 9800 0102 |0010: shl-int v0, v1, v2 0004c4: 9900 0102 |0012: shr-int v0, v1, v2 0004c8: 9a00 0102 |0014: ushr-int v0, v1, v2 0004cc: 9b00 0102 |0016: add-long v0, v1, v2 0004d0: 9c00 0102 |0018: sub-long v0, v1, v2 0004d4: 9d00 0102 |001a: mul-long v0, v1, v2 0004d8: 9e00 0102 |001c: div-long v0, v1, v2 0004dc: 9f00 0102 |001e: rem-long v0, v1, v2 0004e0: a000 0102 |0020: and-long v0, v1, v2 0004e4: a100 0102 |0022: or-long v0, v1, v2 0004e8: a200 0102 |0024: xor-long v0, v1, v2 0004ec: a300 0102 |0026: shl-long v0, v1, v2 0004f0: a400 0102 |0028: shr-long v0, v1, v2 0004f4: a500 0102 |002a: ushr-long v0, v1, v2 0004f8: a600 0102 |002c: add-float v0, v1, v2 0004fc: a700 0102 |002e: sub-float v0, v1, v2 000500: a800 0102 |0030: mul-float v0, v1, v2 000504: a900 0102 |0032: div-float v0, v1, v2 000508: aa00 0102 |0034: rem-float v0, v1, v2 00050c: ab00 0102 |0036: add-double v0, v1, v2 000510: ac00 0102 |0038: sub-double v0, v1, v2 000514: ad00 0102 |003a: mul-double v0, v1, v2 000518: ae00 0102 |003c: div-double v0, v1, v2 00051c: af00 0102 |003e: rem-double v0, v1, v2 000520: 0e00 |0040: return-void catches : (none) positions : locals : #3 : (in LA;) name : 'binary_ops_2addr' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 3 code - registers : 2 ins : 0 outs : 0 insns size : 33 16-bit code units 000524: |[000524] A.binary_ops_2addr:()V 000534: b010 |0000: add-int/2addr v0, v1 000536: b110 |0001: sub-int/2addr v0, v1 000538: b210 |0002: mul-int/2addr v0, v1 00053a: b310 |0003: div-int/2addr v0, v1 00053c: b410 |0004: rem-int/2addr v0, v1 00053e: b510 |0005: and-int/2addr v0, v1 000540: b610 |0006: or-int/2addr v0, v1 000542: b710 |0007: xor-int/2addr v0, v1 000544: b810 |0008: shl-int/2addr v0, v1 000546: b910 |0009: shr-int/2addr v0, v1 000548: ba10 |000a: ushr-int/2addr v0, v1 00054a: bb10 |000b: add-long/2addr v0, v1 00054c: bc10 |000c: sub-long/2addr v0, v1 00054e: bd10 |000d: mul-long/2addr v0, v1 000550: be10 |000e: div-long/2addr v0, v1 000552: bf10 |000f: rem-long/2addr v0, v1 000554: c010 |0010: and-long/2addr v0, v1 000556: c110 |0011: or-long/2addr v0, v1 000558: c210 |0012: xor-long/2addr v0, v1 00055a: c310 |0013: shl-long/2addr v0, v1 00055c: c410 |0014: shr-long/2addr v0, v1 00055e: c510 |0015: ushr-long/2addr v0, v1 000560: c610 |0016: add-float/2addr v0, v1 000562: c710 |0017: sub-float/2addr v0, v1 000564: c810 |0018: mul-float/2addr v0, v1 000566: c910 |0019: div-float/2addr v0, v1 000568: ca10 |001a: rem-float/2addr v0, v1 00056a: cb10 |001b: add-double/2addr v0, v1 00056c: cc10 |001c: sub-double/2addr v0, v1 00056e: cd10 |001d: mul-double/2addr v0, v1 000570: ce10 |001e: div-double/2addr v0, v1 000572: cf10 |001f: rem-double/2addr v0, v1 000574: 0e00 |0020: return-void catches : (none) positions : locals : #4 : (in LA;) name : 'binary_ops_lit16' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 4 code - registers : 2 ins : 0 outs : 0 insns size : 17 16-bit code units 000578: |[000578] A.binary_ops_lit16:()V 000588: d010 3412 |0000: add-int/lit16 v0, v1, #int 4660 // #1234 00058c: d110 3412 |0002: rsub-int v0, v1, #int 4660 // #1234 000590: d210 3412 |0004: mul-int/lit16 v0, v1, #int 4660 // #1234 000594: d310 3412 |0006: div-int/lit16 v0, v1, #int 4660 // #1234 000598: d410 3412 |0008: rem-int/lit16 v0, v1, #int 4660 // #1234 00059c: d510 3412 |000a: and-int/lit16 v0, v1, #int 4660 // #1234 0005a0: d610 3412 |000c: or-int/lit16 v0, v1, #int 4660 // #1234 0005a4: d710 3412 |000e: xor-int/lit16 v0, v1, #int 4660 // #1234 0005a8: 0e00 |0010: return-void catches : (none) positions : locals : #5 : (in LA;) name : 'binary_ops_lit8' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 5 code - registers : 2 ins : 0 outs : 0 insns size : 23 16-bit code units 0005ac: |[0005ac] A.binary_ops_lit8:()V 0005bc: d800 0112 |0000: add-int/lit8 v0, v1, #int 18 // #12 0005c0: d900 0112 |0002: rsub-int/lit8 v0, v1, #int 18 // #12 0005c4: da00 0112 |0004: mul-int/lit8 v0, v1, #int 18 // #12 0005c8: db00 0112 |0006: div-int/lit8 v0, v1, #int 18 // #12 0005cc: dc00 0112 |0008: rem-int/lit8 v0, v1, #int 18 // #12 0005d0: dd00 0112 |000a: and-int/lit8 v0, v1, #int 18 // #12 0005d4: de00 0112 |000c: or-int/lit8 v0, v1, #int 18 // #12 0005d8: df00 0112 |000e: xor-int/lit8 v0, v1, #int 18 // #12 0005dc: e000 0112 |0010: shl-int/lit8 v0, v1, #int 18 // #12 0005e0: e100 0112 |0012: shr-int/lit8 v0, v1, #int 18 // #12 0005e4: e200 0112 |0014: ushr-int/lit8 v0, v1, #int 18 // #12 0005e8: 0e00 |0016: return-void catches : (none) positions : locals : #6 : (in LA;) name : 'compares' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 6 code - registers : 3 ins : 0 outs : 0 insns size : 11 16-bit code units 0005ec: |[0005ec] A.compares:()V 0005fc: 2d00 0102 |0000: cmpl-float v0, v1, v2 000600: 2e00 0102 |0002: cmpg-float v0, v1, v2 000604: 2f00 0102 |0004: cmpl-double v0, v1, v2 000608: 3000 0102 |0006: cmpg-double v0, v1, v2 00060c: 3100 0102 |0008: cmp-long v0, v1, v2 000610: 0e00 |000a: return-void catches : (none) positions : locals : #7 : (in LA;) name : 'conditionals' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 7 code - registers : 2 ins : 0 outs : 0 insns size : 25 16-bit code units 000614: |[000614] A.conditionals:()V 000624: 3210 1800 |0000: if-eq v0, v1, 0018 // +0018 000628: 3310 1600 |0002: if-ne v0, v1, 0018 // +0016 00062c: 3410 1400 |0004: if-lt v0, v1, 0018 // +0014 000630: 3510 1200 |0006: if-ge v0, v1, 0018 // +0012 000634: 3610 1000 |0008: if-gt v0, v1, 0018 // +0010 000638: 3710 0e00 |000a: if-le v0, v1, 0018 // +000e 00063c: 3800 0c00 |000c: if-eqz v0, 0018 // +000c 000640: 3900 0a00 |000e: if-nez v0, 0018 // +000a 000644: 3a00 0800 |0010: if-ltz v0, 0018 // +0008 000648: 3b00 0600 |0012: if-gez v0, 0018 // +0006 00064c: 3c00 0400 |0014: if-gtz v0, 0018 // +0004 000650: 3d00 0200 |0016: if-lez v0, 0018 // +0002 000654: 0e00 |0018: return-void catches : (none) positions : locals : #8 : (in LA;) name : 'constants' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 8 code - registers : 1 ins : 0 outs : 0 insns size : 28 16-bit code units 000658: |[000658] A.constants:()V 000668: 1210 |0000: const/4 v0, #int 1 // #1 00066a: 1300 3412 |0001: const/16 v0, #int 4660 // #1234 00066e: 1400 7856 3412 |0003: const v0, #float 5.69046e-28 // #12345678 000674: 1500 3412 |0006: const/high16 v0, #int 305397760 // #1234 000678: 1600 3412 |0008: const-wide/16 v0, #int 4660 // #1234 00067c: 1700 7856 3412 |000a: const-wide/32 v0, #float 5.69046e-28 // #12345678 000682: 1800 efcd ab90 7856 3412 |000d: const-wide v0, #double 5.62635e-221 // #1234567890abcdef 00068c: 1900 3412 |0012: const-wide/high16 v0, #long 1311673391471656960 // #1234 000690: 1a00 2c00 |0014: const-string v0, "string" // string@002c 000694: 1b00 2c00 0000 |0016: const-string/jumbo v0, "string" // string@0000002c 00069a: 1c00 0500 |0019: const-class v0, Ljava/lang/Object; // type@0005 00069e: 0e00 |001b: return-void catches : (none) positions : locals : #9 : (in LA;) name : 'misc' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 11 code - registers : 5 ins : 0 outs : 0 insns size : 54 16-bit code units 0006a0: |[0006a0] A.misc:()V 0006b0: 0000 |0000: nop // spacer 0006b2: 1d00 |0001: monitor-enter v0 0006b4: 1e00 |0002: monitor-exit v0 0006b6: 1f00 0500 |0003: check-cast v0, Ljava/lang/Object; // type@0005 0006ba: 2010 0500 |0005: instance-of v0, v1, Ljava/lang/Object; // type@0005 0006be: 2110 |0007: array-length v0, v1 0006c0: 2200 0500 |0008: new-instance v0, Ljava/lang/Object; // type@0005 0006c4: 2310 0500 |000a: new-array v0, v1, Ljava/lang/Object; // type@0005 0006c8: 2454 0900 1032 |000c: filled-new-array {v0, v1, v2, v3, v4}, [Ljava/lang/Object; // type@0009 0006ce: 2505 0900 0000 |000f: filled-new-array/range {v0, v1, v2, v3, v4}, [Ljava/lang/Object; // type@0009 0006d4: 2600 0c00 0000 |0012: fill-array-data v0, 0000001e // +0000000c 0006da: 2700 |0015: throw v0 0006dc: 2806 |0016: goto 001c // +0006 0006de: 2900 0500 |0017: goto/16 001c // +0005 0006e2: 2a00 0300 0000 |0019: goto/32 #00000003 0006e8: 0e00 |001c: return-void 0006ea: 0000 |001d: nop // spacer 0006ec: 0003 0400 0a00 0000 0100 0000 0200 ... |001e: array-data (24 units) catches : (none) positions : locals : #10 : (in LA;) name : 'moves' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 12 code - registers : 2 ins : 0 outs : 0 insns size : 23 16-bit code units 00071c: |[00071c] A.moves:()V 00072c: 0110 |0000: move v0, v1 00072e: 0200 0100 |0001: move/from16 v0, v1 000732: 0300 0000 0100 |0003: move/16 v0, v1 000738: 0410 |0006: move-wide v0, v1 00073a: 0500 0100 |0007: move-wide/from16 v0, v1 00073e: 0600 0000 0100 |0009: move-wide/16 v0, v1 000744: 0710 |000c: move-object v0, v1 000746: 0800 0100 |000d: move-object/from16 v0, v1 00074a: 0900 0000 0100 |000f: move-object/16 v0, v1 000750: 0a00 |0012: move-result v0 000752: 0b00 |0013: move-result-wide v0 000754: 0c00 |0014: move-result-object v0 000756: 0d00 |0015: move-exception v0 000758: 0e00 |0016: return-void catches : (none) positions : locals : #11 : (in LA;) name : 'packed_switch' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 13 code - registers : 1 ins : 0 outs : 0 insns size : 16 16-bit code units 00075c: |[00075c] A.packed_switch:()V 00076c: 2b00 0800 0000 |0000: packed-switch v0, 00000008 // +00000008 000772: 0e00 |0003: return-void 000774: 28ff |0004: goto 0003 // -0001 000776: 28fe |0005: goto 0003 // -0002 000778: 28fd |0006: goto 0003 // -0003 00077a: 0000 |0007: nop // spacer 00077c: 0001 0200 feff ff7f 0500 0000 0600 ... |0008: packed-switch-data (8 units) catches : (none) positions : locals : #12 : (in LA;) name : 'return32' type : '()I' access : 0x0009 (PUBLIC STATIC) method_idx : 14 code - registers : 1 ins : 0 outs : 0 insns size : 1 16-bit code units 00078c: |[00078c] A.return32:()I 00079c: 0f00 |0000: return v0 catches : (none) positions : locals : #13 : (in LA;) name : 'return64' type : '()I' access : 0x0009 (PUBLIC STATIC) method_idx : 15 code - registers : 2 ins : 0 outs : 0 insns size : 1 16-bit code units 0007a0: |[0007a0] A.return64:()I 0007b0: 1000 |0000: return-wide v0 catches : (none) positions : locals : #14 : (in LA;) name : 'return_object' type : '()Ljava/lang/Object;' access : 0x0009 (PUBLIC STATIC) method_idx : 16 code - registers : 1 ins : 0 outs : 0 insns size : 1 16-bit code units 0007b4: |[0007b4] A.return_object:()Ljava/lang/Object; 0007c4: 1100 |0000: return-object v0 catches : (none) positions : locals : #15 : (in LA;) name : 'sparse_switch' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 17 code - registers : 2 ins : 0 outs : 0 insns size : 22 16-bit code units 0007c8: |[0007c8] A.sparse_switch:()V 0007d8: 2c00 0400 0000 |0000: sparse-switch v0, 00000004 // +00000004 0007de: 0e00 |0003: return-void 0007e0: 0002 0400 1111 0000 2222 0000 3333 ... |0004: sparse-switch-data (18 units) catches : (none) positions : locals : #16 : (in LA;) name : 'static_fields' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 18 code - registers : 1 ins : 0 outs : 0 insns size : 29 16-bit code units 000804: |[000804] A.static_fields:()V 000814: 6000 0900 |0000: sget v0, LA;.sI:I // field@0009 000818: 6100 0a00 |0002: sget-wide v0, LA;.sJ:J // field@000a 00081c: 6200 0b00 |0004: sget-object v0, LA;.sO:LA; // field@000b 000820: 6300 0d00 |0006: sget-boolean v0, LA;.sZ:Z // field@000d 000824: 6400 0700 |0008: sget-byte v0, LA;.sB:B // field@0007 000828: 6500 0800 |000a: sget-char v0, LA;.sC:C // field@0008 00082c: 6600 0c00 |000c: sget-short v0, LA;.sS:S // field@000c 000830: 6700 0900 |000e: sput v0, LA;.sI:I // field@0009 000834: 6800 0a00 |0010: sput-wide v0, LA;.sJ:J // field@000a 000838: 6900 0b00 |0012: sput-object v0, LA;.sO:LA; // field@000b 00083c: 6a00 0d00 |0014: sput-boolean v0, LA;.sZ:Z // field@000d 000840: 6b00 0700 |0016: sput-byte v0, LA;.sB:B // field@0007 000844: 6c00 0800 |0018: sput-char v0, LA;.sC:C // field@0008 000848: 6d00 0500 |001a: sput-short v0, LA;.mS:S // field@0005 00084c: 0e00 |001c: return-void catches : (none) positions : locals : #17 : (in LA;) name : 'unary_ops' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 19 code - registers : 2 ins : 0 outs : 0 insns size : 22 16-bit code units 000850: |[000850] A.unary_ops:()V 000860: 7b10 |0000: neg-int v0, v1 000862: 7c10 |0001: not-int v0, v1 000864: 7d10 |0002: neg-long v0, v1 000866: 7e10 |0003: not-long v0, v1 000868: 7f10 |0004: neg-float v0, v1 00086a: 8010 |0005: neg-double v0, v1 00086c: 8110 |0006: int-to-long v0, v1 00086e: 8210 |0007: int-to-float v0, v1 000870: 8310 |0008: int-to-double v0, v1 000872: 8410 |0009: long-to-int v0, v1 000874: 8510 |000a: long-to-float v0, v1 000876: 8610 |000b: long-to-double v0, v1 000878: 8710 |000c: float-to-int v0, v1 00087a: 8810 |000d: float-to-long v0, v1 00087c: 8910 |000e: float-to-double v0, v1 00087e: 8a10 |000f: double-to-int v0, v1 000880: 8b10 |0010: double-to-long v0, v1 000882: 8c10 |0011: double-to-float v0, v1 000884: 8d10 |0012: int-to-byte v0, v1 000886: 8e10 |0013: int-to-char v0, v1 000888: 8f10 |0014: int-to-short v0, v1 00088a: 0e00 |0015: return-void catches : (none) positions : locals : Virtual methods - #0 : (in LA;) name : 'instance_fields' type : '()V' access : 0x0001 (PUBLIC) method_idx : 9 code - registers : 2 ins : 1 outs : 0 insns size : 29 16-bit code units 00088c: |[00088c] A.instance_fields:()V 00089c: 5210 0900 |0000: iget v0, v1, LA;.sI:I // field@0009 0008a0: 5310 0a00 |0002: iget-wide v0, v1, LA;.sJ:J // field@000a 0008a4: 5410 0b00 |0004: iget-object v0, v1, LA;.sO:LA; // field@000b 0008a8: 5510 0d00 |0006: iget-boolean v0, v1, LA;.sZ:Z // field@000d 0008ac: 5610 0700 |0008: iget-byte v0, v1, LA;.sB:B // field@0007 0008b0: 5710 0800 |000a: iget-char v0, v1, LA;.sC:C // field@0008 0008b4: 5810 0c00 |000c: iget-short v0, v1, LA;.sS:S // field@000c 0008b8: 5910 0900 |000e: iput v0, v1, LA;.sI:I // field@0009 0008bc: 5a10 0a00 |0010: iput-wide v0, v1, LA;.sJ:J // field@000a 0008c0: 5b10 0b00 |0012: iput-object v0, v1, LA;.sO:LA; // field@000b 0008c4: 5c10 0d00 |0014: iput-boolean v0, v1, LA;.sZ:Z // field@000d 0008c8: 5d10 0700 |0016: iput-byte v0, v1, LA;.sB:B // field@0007 0008cc: 5e10 0800 |0018: iput-char v0, v1, LA;.sC:C // field@0008 0008d0: 5f10 0c00 |001a: iput-short v0, v1, LA;.sS:S // field@000c 0008d4: 0e00 |001c: return-void catches : (none) positions : locals : #1 : (in LA;) name : 'invokes' type : '()V' access : 0x0001 (PUBLIC) method_idx : 10 code - registers : 5 ins : 1 outs : 1 insns size : 15 16-bit code units 0008d8: |[0008d8] A.invokes:()V 0008e8: 6e54 0a00 1032 |0000: invoke-virtual {v0, v1, v2, v3, v4}, LA;.invokes:()V // method@000a 0008ee: 6f54 0a00 1032 |0003: invoke-super {v0, v1, v2, v3, v4}, LA;.invokes:()V // method@000a 0008f4: 7054 0a00 1032 |0006: invoke-direct {v0, v1, v2, v3, v4}, LA;.invokes:()V // method@000a 0008fa: 7154 0a00 1032 |0009: invoke-static {v0, v1, v2, v3, v4}, LA;.invokes:()V // method@000a 000900: 7254 0a00 1032 |000c: invoke-interface {v0, v1, v2, v3, v4}, LA;.invokes:()V // method@000a catches : (none) positions : locals : source_file_idx : -1 (unknown) Opened 'all-dex-files.jar:classes2.dex', DEX version '035' DEX file header: magic : 'dex\n035\0' checksum : 3ce07f0d signature : 6aca...3cae file_size : 35384 header_size : 112 link_size : 0 link_off : 0 (0x000000) string_ids_size : 323 string_ids_off : 112 (0x000070) type_ids_size : 58 type_ids_off : 1404 (0x00057c) proto_ids_size : 88 proto_ids_off : 1636 (0x000664) field_ids_size : 108 field_ids_off : 2692 (0x000a84) method_ids_size : 177 method_ids_off : 3556 (0x000de4) class_defs_size : 9 class_defs_off : 4972 (0x00136c) data_size : 30124 data_off : 5260 (0x00148c) Class #0 header: class_idx : 30 access_flags : 1 (0x0001) superclass_idx : 4 interfaces_off : 0 (0x000000) source_file_idx : -1 annotations_off : 0 (0x000000) class_data_off : 34554 (0x0086fa) static_fields_size : 0 instance_fields_size: 1 direct_methods_size : 2 virtual_methods_size: 8 Class #0 - Class descriptor : 'Lcom/google/android/checkers/Checkers;' Access flags : 0x0001 (PUBLIC) Superclass : 'Landroid/app/Activity;' Interfaces - Static fields - Instance fields - #0 : (in Lcom/google/android/checkers/Checkers;) name : 'a' type : 'Lcom/google/android/checkers/CheckersView;' access : 0x0002 (PRIVATE) Direct methods - #0 : (in Lcom/google/android/checkers/Checkers;) name : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 62 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 00148c: |[00148c] com.google.android.checkers.Checkers.:()V 00149c: 7010 0000 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.:()V // method@0000 0014a2: 0e00 |0003: return-void catches : (none) positions : locals : #1 : (in Lcom/google/android/checkers/Checkers;) name : 'a' type : '(Z)V' access : 0x0012 (PRIVATE FINAL) method_idx : 63 code - registers : 4 ins : 2 outs : 2 insns size : 33 16-bit code units 0014a4: |[0014a4] com.google.android.checkers.Checkers.a:(Z)V 0014b4: 6e10 4100 0200 |0000: invoke-virtual {v2}, Lcom/google/android/checkers/Checkers;.getWindow:()Landroid/view/Window; // method@0041 0014ba: 0c00 |0003: move-result-object v0 0014bc: 3803 1200 |0004: if-eqz v3, 0016 // +0012 0014c0: 1301 8004 |0006: const/16 v1, #int 1152 // #480 0014c4: 6e20 3a00 1000 |0008: invoke-virtual {v0, v1}, Landroid/view/Window;.addFlags:(I)V // method@003a 0014ca: 1301 0008 |000b: const/16 v1, #int 2048 // #800 0014ce: 6e20 3b00 1000 |000d: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@003b 0014d4: 5420 0100 |0010: iget-object v0, v2, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 0014d8: 6e10 6f00 0000 |0012: invoke-virtual {v0}, Lcom/google/android/checkers/CheckersView;.requestLayout:()V // method@006f 0014de: 0e00 |0015: return-void 0014e0: 1301 8008 |0016: const/16 v1, #int 2176 // #880 0014e4: 6e20 3a00 1000 |0018: invoke-virtual {v0, v1}, Landroid/view/Window;.addFlags:(I)V // method@003a 0014ea: 1301 0004 |001b: const/16 v1, #int 1024 // #400 0014ee: 6e20 3b00 1000 |001d: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@003b 0014f4: 28f0 |0020: goto 0010 // -0010 catches : (none) positions : locals : Virtual methods - #0 : (in Lcom/google/android/checkers/Checkers;) name : 'onConfigurationChanged' type : '(Landroid/content/res/Configuration;)V' access : 0x0001 (PUBLIC) method_idx : 66 code - registers : 2 ins : 2 outs : 2 insns size : 4 16-bit code units 0014f8: |[0014f8] com.google.android.checkers.Checkers.onConfigurationChanged:(Landroid/content/res/Configuration;)V 001508: 6f20 0100 1000 |0000: invoke-super {v0, v1}, Landroid/app/Activity;.onConfigurationChanged:(Landroid/content/res/Configuration;)V // method@0001 00150e: 0e00 |0003: return-void catches : (none) positions : locals : #1 : (in Lcom/google/android/checkers/Checkers;) name : 'onCreate' type : '(Landroid/os/Bundle;)V' access : 0x0001 (PUBLIC) method_idx : 67 code - registers : 8 ins : 2 outs : 3 insns size : 59 16-bit code units 001510: |[001510] com.google.android.checkers.Checkers.onCreate:(Landroid/os/Bundle;)V 001520: 1215 |0000: const/4 v5, #int 1 // #1 001522: 1201 |0001: const/4 v1, #int 0 // #0 001524: 6f20 0200 7600 |0002: invoke-super {v6, v7}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0002 00152a: 6e20 4a00 5600 |0005: invoke-virtual {v6, v5}, Lcom/google/android/checkers/Checkers;.requestWindowFeature:(I)Z // method@004a 001530: 2200 1f00 |0008: new-instance v0, Lcom/google/android/checkers/CheckersView; // type@001f 001534: 6e20 4000 1600 |000a: invoke-virtual {v6, v1}, Lcom/google/android/checkers/Checkers;.getPreferences:(I)Landroid/content/SharedPreferences; // method@0040 00153a: 0c02 |000d: move-result-object v2 00153c: 7030 4d00 6002 |000e: invoke-direct {v0, v6, v2}, Lcom/google/android/checkers/CheckersView;.:(Landroid/content/Context;Landroid/content/SharedPreferences;)V // method@004d 001542: 5b60 0100 |0011: iput-object v0, v6, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 001546: 1a03 b500 |0013: const-string v3, "by Aart J.C. Bik" // string@00b5 00154a: 0110 |0015: move v0, v1 00154c: 0112 |0016: move v2, v1 00154e: 6e10 a400 0300 |0017: invoke-virtual {v3}, Ljava/lang/String;.length:()I // method@00a4 001554: 0a04 |001a: move-result v4 001556: 3440 1800 |001b: if-lt v0, v4, 0033 // +0018 00155a: 1300 c204 |001d: const/16 v0, #int 1218 // #4c2 00155e: 3202 0500 |001f: if-eq v2, v0, 0024 // +0005 001562: 7110 ac00 0500 |0021: invoke-static {v5}, Ljava/lang/System;.exit:(I)V // method@00ac 001568: 5460 0100 |0024: iget-object v0, v6, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 00156c: 6e20 4b00 0600 |0026: invoke-virtual {v6, v0}, Lcom/google/android/checkers/Checkers;.setContentView:(Landroid/view/View;)V // method@004b 001572: 5460 0100 |0029: iget-object v0, v6, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 001576: 6e20 6500 1000 |002b: invoke-virtual {v0, v1}, Lcom/google/android/checkers/CheckersView;.d:(Z)Z // method@0065 00157c: 0a00 |002e: move-result v0 00157e: 7020 3f00 0600 |002f: invoke-direct {v6, v0}, Lcom/google/android/checkers/Checkers;.a:(Z)V // method@003f 001584: 0e00 |0032: return-void 001586: 6e20 a300 0300 |0033: invoke-virtual {v3, v0}, Ljava/lang/String;.charAt:(I)C // method@00a3 00158c: 0a04 |0036: move-result v4 00158e: b042 |0037: add-int/2addr v2, v4 001590: d800 0001 |0038: add-int/lit8 v0, v0, #int 1 // #01 001594: 28dd |003a: goto 0017 // -0023 catches : (none) positions : locals : #2 : (in Lcom/google/android/checkers/Checkers;) name : 'onCreateOptionsMenu' type : '(Landroid/view/Menu;)Z' access : 0x0001 (PUBLIC) method_idx : 68 code - registers : 11 ins : 2 outs : 5 insns size : 216 16-bit code units 001598: |[001598] com.google.android.checkers.Checkers.onCreateOptionsMenu:(Landroid/view/Menu;)Z 0015a8: 1248 |0000: const/4 v8, #int 4 // #4 0015aa: 1237 |0001: const/4 v7, #int 3 // #3 0015ac: 1226 |0002: const/4 v6, #int 2 // #2 0015ae: 1205 |0003: const/4 v5, #int 0 // #0 0015b0: 1214 |0004: const/4 v4, #int 1 // #1 0015b2: 6f20 0300 a900 |0005: invoke-super {v9, v10}, Landroid/app/Activity;.onCreateOptionsMenu:(Landroid/view/Menu;)Z // method@0003 0015b8: 1a00 7400 |0008: const-string v0, "New Game" // string@0074 0015bc: 7250 2b00 5a55 |000a: invoke-interface {v10, v5, v5, v5, v0}, Landroid/view/Menu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@002b 0015c2: 1a00 8200 |000d: const-string v0, "Undo" // string@0082 0015c6: 7250 2b00 5a44 |000f: invoke-interface {v10, v5, v4, v4, v0}, Landroid/view/Menu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@002b 0015cc: 1a00 8000 |0012: const-string v0, "Switch Side" // string@0080 0015d0: 7250 2b00 5a66 |0014: invoke-interface {v10, v5, v6, v6, v0}, Landroid/view/Menu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@002b 0015d6: 1a00 7800 |0017: const-string v0, "Options" // string@0078 0015da: 7250 2c00 5a77 |0019: invoke-interface {v10, v5, v7, v7, v0}, Landroid/view/Menu;.addSubMenu:(IIILjava/lang/CharSequence;)Landroid/view/SubMenu; // method@002c 0015e0: 0c00 |001c: move-result-object v0 0015e2: 1a01 7100 |001d: const-string v1, "Move Coach" // string@0071 0015e6: 7251 3400 4055 |001f: invoke-interface {v0, v4, v5, v5, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 0015ec: 0c01 |0022: move-result-object v1 0015ee: 7220 2f00 4100 |0023: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f 0015f4: 0c01 |0026: move-result-object v1 0015f6: 5492 0100 |0027: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 0015fa: 6e20 5a00 5200 |0029: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.a:(Z)Z // method@005a 001600: 0a02 |002c: move-result v2 001602: 7220 3000 2100 |002d: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030 001608: 1a01 7700 |0030: const-string v1, "Optional Jumps" // string@0077 00160c: 7251 3400 4044 |0032: invoke-interface {v0, v4, v4, v4, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 001612: 0c01 |0035: move-result-object v1 001614: 7220 2f00 4100 |0036: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f 00161a: 0c01 |0039: move-result-object v1 00161c: 5492 0100 |003a: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 001620: 6e20 6000 5200 |003c: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.b:(Z)Z // method@0060 001626: 0a02 |003f: move-result v2 001628: 7220 3000 2100 |0040: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030 00162e: 1a01 9800 |0043: const-string v1, "View from White" // string@0098 001632: 7251 3400 4066 |0045: invoke-interface {v0, v4, v6, v6, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 001638: 0c01 |0048: move-result-object v1 00163a: 7220 2f00 4100 |0049: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f 001640: 0c01 |004c: move-result-object v1 001642: 5492 0100 |004d: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 001646: 6e20 6300 5200 |004f: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.c:(Z)Z // method@0063 00164c: 0a02 |0052: move-result v2 00164e: 7220 3000 2100 |0053: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030 001654: 1a01 1800 |0056: const-string v1, "Full Screen" // string@0018 001658: 7251 3400 4077 |0058: invoke-interface {v0, v4, v7, v7, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 00165e: 0c01 |005b: move-result-object v1 001660: 7220 2f00 4100 |005c: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f 001666: 0c01 |005f: move-result-object v1 001668: 5492 0100 |0060: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 00166c: 6e20 6500 5200 |0062: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.d:(Z)Z // method@0065 001672: 0a02 |0065: move-result v2 001674: 7220 3000 2100 |0066: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030 00167a: 1a01 7e00 |0069: const-string v1, "Start Screen" // string@007e 00167e: 7251 3400 4088 |006b: invoke-interface {v0, v4, v8, v8, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 001684: 0c01 |006e: move-result-object v1 001686: 7220 2f00 4100 |006f: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f 00168c: 0c01 |0072: move-result-object v1 00168e: 5492 0100 |0073: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 001692: 6e20 6800 5200 |0075: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.e:(Z)Z // method@0068 001698: 0a02 |0078: move-result v2 00169a: 7220 3000 2100 |0079: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030 0016a0: 1251 |007c: const/4 v1, #int 5 // #5 0016a2: 1252 |007d: const/4 v2, #int 5 // #5 0016a4: 1a03 0d00 |007e: const-string v3, "Board Color" // string@000d 0016a8: 7253 3400 4021 |0080: invoke-interface {v0, v4, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 0016ae: 1a00 5800 |0083: const-string v0, "Level" // string@0058 0016b2: 7250 2c00 5a88 |0085: invoke-interface {v10, v5, v8, v8, v0}, Landroid/view/Menu;.addSubMenu:(IIILjava/lang/CharSequence;)Landroid/view/SubMenu; // method@002c 0016b8: 0c00 |0088: move-result-object v0 0016ba: 1a01 1700 |0089: const-string v1, "Free Play" // string@0017 0016be: 7251 3400 6055 |008b: invoke-interface {v0, v6, v5, v5, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 0016c4: 1a01 7b00 |008e: const-string v1, "Random (0s)" // string@007b 0016c8: 7251 3400 6044 |0090: invoke-interface {v0, v6, v4, v4, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 0016ce: 1a01 5900 |0093: const-string v1, "Level 1 (fast)" // string@0059 0016d2: 7251 3400 6066 |0095: invoke-interface {v0, v6, v6, v6, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 0016d8: 1a01 5a00 |0098: const-string v1, "Level 2 (1s)" // string@005a 0016dc: 7251 3400 6077 |009a: invoke-interface {v0, v6, v7, v7, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 0016e2: 1a01 5b00 |009d: const-string v1, "Level 3 (5s)" // string@005b 0016e6: 7251 3400 6088 |009f: invoke-interface {v0, v6, v8, v8, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 0016ec: 1251 |00a2: const/4 v1, #int 5 // #5 0016ee: 1252 |00a3: const/4 v2, #int 5 // #5 0016f0: 1a03 5c00 |00a4: const-string v3, "Level 4 (10s)" // string@005c 0016f4: 7253 3400 6021 |00a6: invoke-interface {v0, v6, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 0016fa: 1261 |00a9: const/4 v1, #int 6 // #6 0016fc: 1262 |00aa: const/4 v2, #int 6 // #6 0016fe: 1a03 5d00 |00ab: const-string v3, "Level 5 (15s)" // string@005d 001702: 7253 3400 6021 |00ad: invoke-interface {v0, v6, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 001708: 1271 |00b0: const/4 v1, #int 7 // #7 00170a: 1272 |00b1: const/4 v2, #int 7 // #7 00170c: 1a03 5e00 |00b2: const-string v3, "Level 6 (30s)" // string@005e 001710: 7253 3400 6021 |00b4: invoke-interface {v0, v6, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 001716: 1301 0800 |00b7: const/16 v1, #int 8 // #8 00171a: 1302 0800 |00b9: const/16 v2, #int 8 // #8 00171e: 1a03 5f00 |00bb: const-string v3, "Level 7 (60s)" // string@005f 001722: 7253 3400 6021 |00bd: invoke-interface {v0, v6, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034 001728: 7240 3600 6044 |00c0: invoke-interface {v0, v6, v4, v4}, Landroid/view/SubMenu;.setGroupCheckable:(IZZ)V // method@0036 00172e: 5491 0100 |00c3: iget-object v1, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 001732: 6e10 6100 0100 |00c5: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.c:()I // method@0061 001738: 0a01 |00c8: move-result v1 00173a: 7220 3500 1000 |00c9: invoke-interface {v0, v1}, Landroid/view/SubMenu;.findItem:(I)Landroid/view/MenuItem; // method@0035 001740: 0c00 |00cc: move-result-object v0 001742: 7220 3000 4000 |00cd: invoke-interface {v0, v4}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030 001748: 1250 |00d0: const/4 v0, #int 5 // #5 00174a: 1251 |00d1: const/4 v1, #int 5 // #5 00174c: 1a02 9b00 |00d2: const-string v2, "Website" // string@009b 001750: 7252 2b00 5a10 |00d4: invoke-interface {v10, v5, v0, v1, v2}, Landroid/view/Menu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@002b 001756: 0f04 |00d7: return v4 catches : (none) positions : locals : #3 : (in Lcom/google/android/checkers/Checkers;) name : 'onKeyDown' type : '(ILandroid/view/KeyEvent;)Z' access : 0x0001 (PUBLIC) method_idx : 69 code - registers : 8 ins : 3 outs : 3 insns size : 58 16-bit code units 001758: |[001758] com.google.android.checkers.Checkers.onKeyDown:(ILandroid/view/KeyEvent;)Z 001768: 1504 803f |0000: const/high16 v4, #int 1065353216 // #3f80 00176c: 1503 80bf |0002: const/high16 v3, #int -1082130432 // #bf80 001770: 1202 |0004: const/4 v2, #int 0 // #0 001772: 1210 |0005: const/4 v0, #int 1 // #1 001774: 2b06 2600 0000 |0006: packed-switch v6, 0000002c // +00000026 00177a: 6f30 0400 6507 |0009: invoke-super {v5, v6, v7}, Landroid/app/Activity;.onKeyDown:(ILandroid/view/KeyEvent;)Z // method@0004 001780: 0a00 |000c: move-result v0 001782: 0f00 |000d: return v0 001784: 5451 0100 |000e: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 001788: 6e10 5d00 0100 |0010: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.b:()V // method@005d 00178e: 28fa |0013: goto 000d // -0006 001790: 5451 0100 |0014: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 001794: 6e30 4f00 3102 |0016: invoke-virtual {v1, v3, v2}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f 00179a: 28f4 |0019: goto 000d // -000c 00179c: 5451 0100 |001a: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 0017a0: 6e30 4f00 4102 |001c: invoke-virtual {v1, v4, v2}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f 0017a6: 28ee |001f: goto 000d // -0012 0017a8: 5451 0100 |0020: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 0017ac: 6e30 4f00 2103 |0022: invoke-virtual {v1, v2, v3}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f 0017b2: 28e8 |0025: goto 000d // -0018 0017b4: 5451 0100 |0026: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 0017b8: 6e30 4f00 2104 |0028: invoke-virtual {v1, v2, v4}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f 0017be: 28e2 |002b: goto 000d // -001e 0017c0: 0001 0500 1300 0000 1a00 0000 2000 ... |002c: packed-switch-data (14 units) catches : (none) positions : locals : #4 : (in Lcom/google/android/checkers/Checkers;) name : 'onOptionsItemSelected' type : '(Landroid/view/MenuItem;)Z' access : 0x0001 (PUBLIC) method_idx : 70 code - registers : 7 ins : 2 outs : 3 insns size : 158 16-bit code units 0017dc: |[0017dc] com.google.android.checkers.Checkers.onOptionsItemSelected:(Landroid/view/MenuItem;)Z 0017ec: 1254 |0000: const/4 v4, #int 5 // #5 0017ee: 1223 |0001: const/4 v3, #int 2 // #2 0017f0: 1210 |0002: const/4 v0, #int 1 // #1 0017f2: 7210 2e00 0600 |0003: invoke-interface {v6}, Landroid/view/MenuItem;.getItemId:()I // method@002e 0017f8: 0a01 |0006: move-result v1 0017fa: 7210 2d00 0600 |0007: invoke-interface {v6}, Landroid/view/MenuItem;.getGroupId:()I // method@002d 001800: 0a02 |000a: move-result v2 001802: 2b02 8900 0000 |000b: packed-switch v2, 00000094 // +00000089 001808: 6f20 0500 6500 |000e: invoke-super {v5, v6}, Landroid/app/Activity;.onOptionsItemSelected:(Landroid/view/MenuItem;)Z // method@0005 00180e: 0a00 |0011: move-result v0 001810: 0f00 |0012: return v0 001812: 3901 0900 |0013: if-nez v1, 001c // +0009 001816: 5451 0100 |0015: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 00181a: 12d2 |0017: const/4 v2, #int -3 // #fd 00181c: 6e20 5700 2100 |0018: invoke-virtual {v1, v2}, Lcom/google/android/checkers/CheckersView;.a:(I)Z // method@0057 001822: 28f7 |001b: goto 0012 // -0009 001824: 3301 0900 |001c: if-ne v1, v0, 0025 // +0009 001828: 5451 0100 |001e: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 00182c: 12e2 |0020: const/4 v2, #int -2 // #fe 00182e: 6e20 5700 2100 |0021: invoke-virtual {v1, v2}, Lcom/google/android/checkers/CheckersView;.a:(I)Z // method@0057 001834: 28ee |0024: goto 0012 // -0012 001836: 3331 0900 |0025: if-ne v1, v3, 002e // +0009 00183a: 5451 0100 |0027: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 00183e: 12c2 |0029: const/4 v2, #int -4 // #fc 001840: 6e20 5700 2100 |002a: invoke-virtual {v1, v2}, Lcom/google/android/checkers/CheckersView;.a:(I)Z // method@0057 001846: 28e5 |002d: goto 0012 // -001b 001848: 3341 e0ff |002e: if-ne v1, v4, 000e // -0020 00184c: 1a01 e300 |0030: const-string v1, "http://www.aartbik.com/MISC/android.html" // string@00e3 001850: 7110 2900 0100 |0032: invoke-static {v1}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@0029 001856: 0c01 |0035: move-result-object v1 001858: 2202 0a00 |0036: new-instance v2, Landroid/content/Intent; // type@000a 00185c: 1a03 af00 |0038: const-string v3, "android.intent.action.VIEW" // string@00af 001860: 7030 1200 3201 |003a: invoke-direct {v2, v3, v1}, Landroid/content/Intent;.:(Ljava/lang/String;Landroid/net/Uri;)V // method@0012 001866: 6e20 4c00 2500 |003d: invoke-virtual {v5, v2}, Lcom/google/android/checkers/Checkers;.startActivity:(Landroid/content/Intent;)V // method@004c 00186c: 28d2 |0040: goto 0012 // -002e 00186e: 3901 0c00 |0041: if-nez v1, 004d // +000c 001872: 5451 0100 |0043: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 001876: 6e20 5a00 0100 |0045: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.a:(Z)Z // method@005a 00187c: 0a01 |0048: move-result v1 00187e: 7220 3000 1600 |0049: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030 001884: 28c6 |004c: goto 0012 // -003a 001886: 3301 0c00 |004d: if-ne v1, v0, 0059 // +000c 00188a: 5451 0100 |004f: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 00188e: 6e20 6000 0100 |0051: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.b:(Z)Z // method@0060 001894: 0a01 |0054: move-result v1 001896: 7220 3000 1600 |0055: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030 00189c: 28ba |0058: goto 0012 // -0046 00189e: 3331 0c00 |0059: if-ne v1, v3, 0065 // +000c 0018a2: 5451 0100 |005b: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 0018a6: 6e20 6300 0100 |005d: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.c:(Z)Z // method@0063 0018ac: 0a01 |0060: move-result v1 0018ae: 7220 3000 1600 |0061: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030 0018b4: 28ae |0064: goto 0012 // -0052 0018b6: 1232 |0065: const/4 v2, #int 3 // #3 0018b8: 3321 0f00 |0066: if-ne v1, v2, 0075 // +000f 0018bc: 5451 0100 |0068: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 0018c0: 6e20 6500 0100 |006a: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.d:(Z)Z // method@0065 0018c6: 0a01 |006d: move-result v1 0018c8: 7220 3000 1600 |006e: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030 0018ce: 7020 3f00 1500 |0071: invoke-direct {v5, v1}, Lcom/google/android/checkers/Checkers;.a:(Z)V // method@003f 0018d4: 289e |0074: goto 0012 // -0062 0018d6: 1242 |0075: const/4 v2, #int 4 // #4 0018d8: 3321 0c00 |0076: if-ne v1, v2, 0082 // +000c 0018dc: 5451 0100 |0078: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 0018e0: 6e20 6800 0100 |007a: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.e:(Z)Z // method@0068 0018e6: 0a01 |007d: move-result v1 0018e8: 7220 3000 1600 |007e: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030 0018ee: 2891 |0081: goto 0012 // -006f 0018f0: 3341 8cff |0082: if-ne v1, v4, 000e // -0074 0018f4: 5451 0100 |0084: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 0018f8: 6e10 4e00 0100 |0086: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.a:()V // method@004e 0018fe: 2889 |0089: goto 0012 // -0077 001900: 5452 0100 |008a: iget-object v2, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 001904: 6e20 7000 1200 |008c: invoke-virtual {v2, v1}, Lcom/google/android/checkers/CheckersView;.setLevel:(I)V // method@0070 00190a: 7220 3000 0600 |008f: invoke-interface {v6, v0}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030 001910: 2880 |0092: goto 0012 // -0080 001912: 0000 |0093: nop // spacer 001914: 0001 0300 0000 0000 0800 0000 3600 ... |0094: packed-switch-data (10 units) catches : (none) positions : locals : #5 : (in Lcom/google/android/checkers/Checkers;) name : 'onPause' type : '()V' access : 0x0001 (PUBLIC) method_idx : 71 code - registers : 3 ins : 1 outs : 2 insns size : 21 16-bit code units 001928: |[001928] com.google.android.checkers.Checkers.onPause:()V 001938: 6f10 0600 0200 |0000: invoke-super {v2}, Landroid/app/Activity;.onPause:()V // method@0006 00193e: 1200 |0003: const/4 v0, #int 0 // #0 001940: 6e20 4000 0200 |0004: invoke-virtual {v2, v0}, Lcom/google/android/checkers/Checkers;.getPreferences:(I)Landroid/content/SharedPreferences; // method@0040 001946: 0c00 |0007: move-result-object v0 001948: 7210 1700 0000 |0008: invoke-interface {v0}, Landroid/content/SharedPreferences;.edit:()Landroid/content/SharedPreferences$Editor; // method@0017 00194e: 0c00 |000b: move-result-object v0 001950: 5421 0100 |000c: iget-object v1, v2, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 001954: 6e20 5100 0100 |000e: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;)V // method@0051 00195a: 7210 1400 0000 |0011: invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;.commit:()Z // method@0014 001960: 0e00 |0014: return-void catches : (none) positions : locals : #6 : (in Lcom/google/android/checkers/Checkers;) name : 'onStop' type : '()V' access : 0x0001 (PUBLIC) method_idx : 72 code - registers : 2 ins : 1 outs : 1 insns size : 8 16-bit code units 001964: |[001964] com.google.android.checkers.Checkers.onStop:()V 001974: 6f10 0700 0100 |0000: invoke-super {v1}, Landroid/app/Activity;.onStop:()V // method@0007 00197a: 1200 |0003: const/4 v0, #int 0 // #0 00197c: 7110 ac00 0000 |0004: invoke-static {v0}, Ljava/lang/System;.exit:(I)V // method@00ac 001982: 0e00 |0007: return-void catches : (none) positions : locals : #7 : (in Lcom/google/android/checkers/Checkers;) name : 'onTrackballEvent' type : '(Landroid/view/MotionEvent;)Z' access : 0x0001 (PUBLIC) method_idx : 73 code - registers : 6 ins : 2 outs : 3 insns size : 44 16-bit code units 001984: |[001984] com.google.android.checkers.Checkers.onTrackballEvent:(Landroid/view/MotionEvent;)Z 001994: 1210 |0000: const/4 v0, #int 1 // #1 001996: 6e10 3100 0500 |0001: invoke-virtual {v5}, Landroid/view/MotionEvent;.getAction:()I // method@0031 00199c: 0a01 |0004: move-result v1 00199e: 2b01 1d00 0000 |0005: packed-switch v1, 00000022 // +0000001d 0019a4: 6f20 0800 5400 |0008: invoke-super {v4, v5}, Landroid/app/Activity;.onTrackballEvent:(Landroid/view/MotionEvent;)Z // method@0008 0019aa: 0a00 |000b: move-result v0 0019ac: 0f00 |000c: return v0 0019ae: 5441 0100 |000d: iget-object v1, v4, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 0019b2: 6e10 5d00 0100 |000f: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.b:()V // method@005d 0019b8: 28fa |0012: goto 000c // -0006 0019ba: 5441 0100 |0013: iget-object v1, v4, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001 0019be: 6e10 3200 0500 |0015: invoke-virtual {v5}, Landroid/view/MotionEvent;.getX:()F // method@0032 0019c4: 0a02 |0018: move-result v2 0019c6: 6e10 3300 0500 |0019: invoke-virtual {v5}, Landroid/view/MotionEvent;.getY:()F // method@0033 0019cc: 0a03 |001c: move-result v3 0019ce: 6e30 4f00 2103 |001d: invoke-virtual {v1, v2, v3}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f 0019d4: 28ec |0020: goto 000c // -0014 0019d6: 0000 |0021: nop // spacer 0019d8: 0001 0300 0000 0000 0800 0000 0300 ... |0022: packed-switch-data (10 units) catches : (none) positions : locals : source_file_idx : -1 (unknown) Class #1 header: class_idx : 31 access_flags : 1 (0x0001) superclass_idx : 27 interfaces_off : 0 (0x000000) source_file_idx : -1 annotations_off : 0 (0x000000) class_data_off : 34602 (0x00872a) static_fields_size : 0 instance_fields_size: 43 direct_methods_size : 15 virtual_methods_size: 16 Class #1 - Class descriptor : 'Lcom/google/android/checkers/CheckersView;' Access flags : 0x0001 (PUBLIC) Superclass : 'Landroid/view/View;' Interfaces - Static fields - Instance fields - #0 : (in Lcom/google/android/checkers/CheckersView;) name : 'A' type : 'Z' access : 0x0002 (PRIVATE) #1 : (in Lcom/google/android/checkers/CheckersView;) name : 'B' type : 'Z' access : 0x0002 (PRIVATE) #2 : (in Lcom/google/android/checkers/CheckersView;) name : 'C' type : 'Z' access : 0x0002 (PRIVATE) #3 : (in Lcom/google/android/checkers/CheckersView;) name : 'D' type : 'Z' access : 0x0002 (PRIVATE) #4 : (in Lcom/google/android/checkers/CheckersView;) name : 'E' type : 'Z' access : 0x0002 (PRIVATE) #5 : (in Lcom/google/android/checkers/CheckersView;) name : 'F' type : 'I' access : 0x0002 (PRIVATE) #6 : (in Lcom/google/android/checkers/CheckersView;) name : 'G' type : '[I' access : 0x0002 (PRIVATE) #7 : (in Lcom/google/android/checkers/CheckersView;) name : 'H' type : '[I' access : 0x0002 (PRIVATE) #8 : (in Lcom/google/android/checkers/CheckersView;) name : 'I' type : '[I' access : 0x0002 (PRIVATE) #9 : (in Lcom/google/android/checkers/CheckersView;) name : 'J' type : '[I' access : 0x0002 (PRIVATE) #10 : (in Lcom/google/android/checkers/CheckersView;) name : 'K' type : 'I' access : 0x0002 (PRIVATE) #11 : (in Lcom/google/android/checkers/CheckersView;) name : 'L' type : 'I' access : 0x0002 (PRIVATE) #12 : (in Lcom/google/android/checkers/CheckersView;) name : 'M' type : 'I' access : 0x0002 (PRIVATE) #13 : (in Lcom/google/android/checkers/CheckersView;) name : 'N' type : 'Ljava/lang/String;' access : 0x0002 (PRIVATE) #14 : (in Lcom/google/android/checkers/CheckersView;) name : 'O' type : 'F' access : 0x0002 (PRIVATE) #15 : (in Lcom/google/android/checkers/CheckersView;) name : 'P' type : 'F' access : 0x0002 (PRIVATE) #16 : (in Lcom/google/android/checkers/CheckersView;) name : 'Q' type : 'I' access : 0x0002 (PRIVATE) #17 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : 'Landroid/content/Context;' access : 0x0002 (PRIVATE) #18 : (in Lcom/google/android/checkers/CheckersView;) name : 'b' type : 'Landroid/graphics/Paint;' access : 0x0002 (PRIVATE) #19 : (in Lcom/google/android/checkers/CheckersView;) name : 'c' type : 'Landroid/graphics/Paint;' access : 0x0002 (PRIVATE) #20 : (in Lcom/google/android/checkers/CheckersView;) name : 'd' type : 'Landroid/graphics/Paint;' access : 0x0002 (PRIVATE) #21 : (in Lcom/google/android/checkers/CheckersView;) name : 'e' type : 'Landroid/graphics/Paint;' access : 0x0002 (PRIVATE) #22 : (in Lcom/google/android/checkers/CheckersView;) name : 'f' type : 'Landroid/graphics/Paint;' access : 0x0002 (PRIVATE) #23 : (in Lcom/google/android/checkers/CheckersView;) name : 'g' type : 'Landroid/graphics/Paint;' access : 0x0002 (PRIVATE) #24 : (in Lcom/google/android/checkers/CheckersView;) name : 'h' type : 'Landroid/graphics/Paint;' access : 0x0002 (PRIVATE) #25 : (in Lcom/google/android/checkers/CheckersView;) name : 'i' type : 'Landroid/graphics/Paint;' access : 0x0002 (PRIVATE) #26 : (in Lcom/google/android/checkers/CheckersView;) name : 'j' type : 'Landroid/graphics/Paint;' access : 0x0002 (PRIVATE) #27 : (in Lcom/google/android/checkers/CheckersView;) name : 'k' type : 'I' access : 0x0002 (PRIVATE) #28 : (in Lcom/google/android/checkers/CheckersView;) name : 'l' type : 'F' access : 0x0002 (PRIVATE) #29 : (in Lcom/google/android/checkers/CheckersView;) name : 'm' type : 'I' access : 0x0002 (PRIVATE) #30 : (in Lcom/google/android/checkers/CheckersView;) name : 'n' type : 'I' access : 0x0002 (PRIVATE) #31 : (in Lcom/google/android/checkers/CheckersView;) name : 'o' type : 'Landroid/graphics/drawable/Drawable;' access : 0x0002 (PRIVATE) #32 : (in Lcom/google/android/checkers/CheckersView;) name : 'p' type : 'Lcom/google/android/checkers/a;' access : 0x0002 (PRIVATE) #33 : (in Lcom/google/android/checkers/CheckersView;) name : 'q' type : 'I' access : 0x0002 (PRIVATE) #34 : (in Lcom/google/android/checkers/CheckersView;) name : 'r' type : 'I' access : 0x0002 (PRIVATE) #35 : (in Lcom/google/android/checkers/CheckersView;) name : 's' type : 'I' access : 0x0002 (PRIVATE) #36 : (in Lcom/google/android/checkers/CheckersView;) name : 't' type : 'I' access : 0x0002 (PRIVATE) #37 : (in Lcom/google/android/checkers/CheckersView;) name : 'u' type : 'I' access : 0x0002 (PRIVATE) #38 : (in Lcom/google/android/checkers/CheckersView;) name : 'v' type : 'I' access : 0x0002 (PRIVATE) #39 : (in Lcom/google/android/checkers/CheckersView;) name : 'w' type : 'I' access : 0x0002 (PRIVATE) #40 : (in Lcom/google/android/checkers/CheckersView;) name : 'x' type : 'I' access : 0x0002 (PRIVATE) #41 : (in Lcom/google/android/checkers/CheckersView;) name : 'y' type : 'Z' access : 0x0002 (PRIVATE) #42 : (in Lcom/google/android/checkers/CheckersView;) name : 'z' type : 'I' access : 0x0002 (PRIVATE) Direct methods - #0 : (in Lcom/google/android/checkers/CheckersView;) name : '' type : '(Landroid/content/Context;Landroid/content/SharedPreferences;)V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 77 code - registers : 12 ins : 3 outs : 5 insns size : 662 16-bit code units 0019ec: |[0019ec] com.google.android.checkers.CheckersView.:(Landroid/content/Context;Landroid/content/SharedPreferences;)V 0019fc: 1308 0800 |0000: const/16 v8, #int 8 // #8 001a00: 1217 |0002: const/4 v7, #int 1 // #1 001a02: 1306 ff00 |0003: const/16 v6, #int 255 // #ff 001a06: 1205 |0005: const/4 v5, #int 0 // #0 001a08: 1204 |0006: const/4 v4, #int 0 // #0 001a0a: 7020 3700 a900 |0007: invoke-direct {v9, v10}, Landroid/view/View;.:(Landroid/content/Context;)V // method@0037 001a10: 5b9a 1300 |000a: iput-object v10, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013 001a14: 2200 1100 |000c: new-instance v0, Landroid/graphics/Paint; // type@0011 001a18: 7010 2100 0000 |000e: invoke-direct {v0}, Landroid/graphics/Paint;.:()V // method@0021 001a1e: 5b90 1400 |0011: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014 001a22: 5490 1400 |0013: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014 001a26: 6e20 2300 7000 |0015: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023 001a2c: 5490 1400 |0018: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014 001a30: 6e54 2200 6044 |001a: invoke-virtual {v0, v6, v4, v4, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 001a36: 2200 1100 |001d: new-instance v0, Landroid/graphics/Paint; // type@0011 001a3a: 7010 2100 0000 |001f: invoke-direct {v0}, Landroid/graphics/Paint;.:()V // method@0021 001a40: 5b90 1500 |0022: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 001a44: 5490 1500 |0024: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 001a48: 6e20 2300 7000 |0026: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023 001a4e: 5490 1500 |0029: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 001a52: 6e56 2200 6066 |002b: invoke-virtual {v0, v6, v6, v6, v6}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 001a58: 2200 1100 |002e: new-instance v0, Landroid/graphics/Paint; // type@0011 001a5c: 7010 2100 0000 |0030: invoke-direct {v0}, Landroid/graphics/Paint;.:()V // method@0021 001a62: 5b90 1600 |0033: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.d:Landroid/graphics/Paint; // field@0016 001a66: 5490 1600 |0035: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.d:Landroid/graphics/Paint; // field@0016 001a6a: 6e20 2300 7000 |0037: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023 001a70: 5490 1600 |003a: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.d:Landroid/graphics/Paint; // field@0016 001a74: 1301 fb00 |003c: const/16 v1, #int 251 // #fb 001a78: 1302 d700 |003e: const/16 v2, #int 215 // #d7 001a7c: 1303 ae00 |0040: const/16 v3, #int 174 // #ae 001a80: 6e53 2200 6021 |0042: invoke-virtual {v0, v6, v1, v2, v3}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 001a86: 2200 1100 |0045: new-instance v0, Landroid/graphics/Paint; // type@0011 001a8a: 7010 2100 0000 |0047: invoke-direct {v0}, Landroid/graphics/Paint;.:()V // method@0021 001a90: 5b90 1700 |004a: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017 001a94: 5490 1700 |004c: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017 001a98: 6e20 2300 7000 |004e: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023 001a9e: 5490 1700 |0051: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017 001aa2: 6e54 2200 6044 |0053: invoke-virtual {v0, v6, v4, v4, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 001aa8: 2200 1100 |0056: new-instance v0, Landroid/graphics/Paint; // type@0011 001aac: 7010 2100 0000 |0058: invoke-direct {v0}, Landroid/graphics/Paint;.:()V // method@0021 001ab2: 5b90 1800 |005b: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018 001ab6: 5490 1800 |005d: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018 001aba: 6e20 2300 7000 |005f: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023 001ac0: 5490 1800 |0062: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018 001ac4: 6e54 2200 6046 |0064: invoke-virtual {v0, v6, v6, v4, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 001aca: 2200 1100 |0067: new-instance v0, Landroid/graphics/Paint; // type@0011 001ace: 7010 2100 0000 |0069: invoke-direct {v0}, Landroid/graphics/Paint;.:()V // method@0021 001ad4: 5b90 1900 |006c: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.g:Landroid/graphics/Paint; // field@0019 001ad8: 5490 1900 |006e: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.g:Landroid/graphics/Paint; // field@0019 001adc: 6e20 2300 7000 |0070: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023 001ae2: 5490 1900 |0073: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.g:Landroid/graphics/Paint; // field@0019 001ae6: 1301 a500 |0075: const/16 v1, #int 165 // #a5 001aea: 6e54 2200 6016 |0077: invoke-virtual {v0, v6, v6, v1, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 001af0: 2200 1100 |007a: new-instance v0, Landroid/graphics/Paint; // type@0011 001af4: 7010 2100 0000 |007c: invoke-direct {v0}, Landroid/graphics/Paint;.:()V // method@0021 001afa: 5b90 1a00 |007f: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a 001afe: 5490 1a00 |0081: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a 001b02: 6e20 2300 7000 |0083: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023 001b08: 5490 1a00 |0086: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a 001b0c: 1301 c800 |0088: const/16 v1, #int 200 // #c8 001b10: 6e54 2200 6016 |008a: invoke-virtual {v0, v6, v6, v1, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 001b16: 5490 1a00 |008d: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a 001b1a: 1501 0040 |008f: const/high16 v1, #int 1073741824 // #4000 001b1e: 6e20 2400 1000 |0091: invoke-virtual {v0, v1}, Landroid/graphics/Paint;.setStrokeWidth:(F)V // method@0024 001b24: 2200 1100 |0094: new-instance v0, Landroid/graphics/Paint; // type@0011 001b28: 7010 2100 0000 |0096: invoke-direct {v0}, Landroid/graphics/Paint;.:()V // method@0021 001b2e: 5b90 1b00 |0099: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b 001b32: 5490 1b00 |009b: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b 001b36: 6e20 2300 7000 |009d: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023 001b3c: 5490 1b00 |00a0: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b 001b40: 6e54 2200 6064 |00a2: invoke-virtual {v0, v6, v4, v6, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 001b46: 2200 1100 |00a5: new-instance v0, Landroid/graphics/Paint; // type@0011 001b4a: 7010 2100 0000 |00a7: invoke-direct {v0}, Landroid/graphics/Paint;.:()V // method@0021 001b50: 5b90 1c00 |00aa: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c 001b54: 5490 1c00 |00ac: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c 001b58: 6e20 2300 7000 |00ae: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023 001b5e: 5490 1c00 |00b1: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c 001b62: 6e54 2200 6044 |00b3: invoke-virtual {v0, v6, v4, v4, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 001b68: 5490 1c00 |00b6: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c 001b6c: 6201 0000 |00b8: sget-object v1, Landroid/graphics/Paint$Style;.STROKE:Landroid/graphics/Paint$Style; // field@0000 001b70: 6e20 2500 1000 |00ba: invoke-virtual {v0, v1}, Landroid/graphics/Paint;.setStyle:(Landroid/graphics/Paint$Style;)V // method@0025 001b76: 5490 1c00 |00bd: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c 001b7a: 1501 a040 |00bf: const/high16 v1, #int 1084227584 // #40a0 001b7e: 6e20 2400 1000 |00c1: invoke-virtual {v0, v1}, Landroid/graphics/Paint;.setStrokeWidth:(F)V // method@0024 001b84: 1300 0c00 |00c4: const/16 v0, #int 12 // #c 001b88: 5990 1d00 |00c6: iput v0, v9, Lcom/google/android/checkers/CheckersView;.k:I // field@001d 001b8c: 1200 |00c8: const/4 v0, #int 0 // #0 001b8e: 5990 1e00 |00c9: iput v0, v9, Lcom/google/android/checkers/CheckersView;.l:F // field@001e 001b92: 5994 1f00 |00cb: iput v4, v9, Lcom/google/android/checkers/CheckersView;.m:I // field@001f 001b96: 5994 2000 |00cd: iput v4, v9, Lcom/google/android/checkers/CheckersView;.n:I // field@0020 001b9a: 5490 1300 |00cf: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013 001b9e: 6e10 1100 0000 |00d1: invoke-virtual {v0}, Landroid/content/Context;.getResources:()Landroid/content/res/Resources; // method@0011 001ba4: 0c00 |00d4: move-result-object v0 001ba6: 1501 027f |00d5: const/high16 v1, #int 2130837504 // #7f02 001baa: 6e20 1a00 1000 |00d7: invoke-virtual {v0, v1}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@001a 001bb0: 0c00 |00da: move-result-object v0 001bb2: 5b90 2100 |00db: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.o:Landroid/graphics/drawable/Drawable; // field@0021 001bb6: 2380 3700 |00dd: new-array v0, v8, [I // type@0037 001bba: 5b90 0800 |00df: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008 001bbe: 2380 3700 |00e1: new-array v0, v8, [I // type@0037 001bc2: 5b90 0900 |00e3: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009 001bc6: 2380 3700 |00e5: new-array v0, v8, [I // type@0037 001bca: 5b90 0a00 |00e7: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a 001bce: 2380 3700 |00e9: new-array v0, v8, [I // type@0037 001bd2: 5b90 0b00 |00eb: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b 001bd6: 1300 0002 |00ed: const/16 v0, #int 512 // #200 001bda: 2300 3600 |00ef: new-array v0, v0, [B // type@0036 001bde: 6900 5900 |00f1: sput-object v0, Lcom/google/android/checkers/g;.a:[B // field@0059 001be2: 1300 8003 |00f3: const/16 v0, #int 896 // #380 001be6: 2300 3600 |00f5: new-array v0, v0, [B // type@0036 001bea: 6900 5a00 |00f7: sput-object v0, Lcom/google/android/checkers/g;.b:[B // field@005a 001bee: 1300 8003 |00f9: const/16 v0, #int 896 // #380 001bf2: 2300 3600 |00fb: new-array v0, v0, [B // type@0036 001bf6: 6900 5b00 |00fd: sput-object v0, Lcom/google/android/checkers/g;.c:[B // field@005b 001bfa: 1300 1003 |00ff: const/16 v0, #int 784 // #310 001bfe: 2300 3600 |0101: new-array v0, v0, [B // type@0036 001c02: 6900 5c00 |0103: sput-object v0, Lcom/google/android/checkers/g;.d:[B // field@005c 001c06: 1300 001f |0105: const/16 v0, #int 7936 // #1f00 001c0a: 2300 3600 |0107: new-array v0, v0, [B // type@0036 001c0e: 6900 5d00 |0109: sput-object v0, Lcom/google/android/checkers/g;.e:[B // field@005d 001c12: 1300 001f |010b: const/16 v0, #int 7936 // #1f00 001c16: 2300 3600 |010d: new-array v0, v0, [B // type@0036 001c1a: 6900 5e00 |010f: sput-object v0, Lcom/google/android/checkers/g;.f:[B // field@005e 001c1e: 1300 4036 |0111: const/16 v0, #int 13888 // #3640 001c22: 2300 3600 |0113: new-array v0, v0, [B // type@0036 001c26: 6900 5f00 |0115: sput-object v0, Lcom/google/android/checkers/g;.g:[B // field@005f 001c2a: 1300 4036 |0117: const/16 v0, #int 13888 // #3640 001c2e: 2300 3600 |0119: new-array v0, v0, [B // type@0036 001c32: 6900 6000 |011b: sput-object v0, Lcom/google/android/checkers/g;.h:[B // field@0060 001c36: 1300 0070 |011d: const/16 v0, #int 28672 // #7000 001c3a: 2300 3600 |011f: new-array v0, v0, [B // type@0036 001c3e: 6900 6100 |0121: sput-object v0, Lcom/google/android/checkers/g;.i:[B // field@0061 001c42: 1300 0070 |0123: const/16 v0, #int 28672 // #7000 001c46: 2300 3600 |0125: new-array v0, v0, [B // type@0036 001c4a: 6900 6200 |0127: sput-object v0, Lcom/google/android/checkers/g;.j:[B // field@0062 001c4e: 1300 0062 |0129: const/16 v0, #int 25088 // #6200 001c52: 2300 3600 |012b: new-array v0, v0, [B // type@0036 001c56: 6900 6300 |012d: sput-object v0, Lcom/google/android/checkers/g;.k:[B // field@0063 001c5a: 1300 0062 |012f: const/16 v0, #int 25088 // #6200 001c5e: 2300 3600 |0131: new-array v0, v0, [B // type@0036 001c62: 6900 6400 |0133: sput-object v0, Lcom/google/android/checkers/g;.l:[B // field@0064 001c66: 1300 402f |0135: const/16 v0, #int 12096 // #2f40 001c6a: 2300 3600 |0137: new-array v0, v0, [B // type@0036 001c6e: 6900 6500 |0139: sput-object v0, Lcom/google/android/checkers/g;.m:[B // field@0065 001c72: 1300 402f |013b: const/16 v0, #int 12096 // #2f40 001c76: 2300 3600 |013d: new-array v0, v0, [B // type@0036 001c7a: 6900 6600 |013f: sput-object v0, Lcom/google/android/checkers/g;.n:[B // field@0066 001c7e: 1300 5829 |0141: const/16 v0, #int 10584 // #2958 001c82: 2300 3600 |0143: new-array v0, v0, [B // type@0036 001c86: 6900 6700 |0145: sput-object v0, Lcom/google/android/checkers/g;.o:[B // field@0067 001c8a: 1300 5829 |0147: const/16 v0, #int 10584 // #2958 001c8e: 2300 3600 |0149: new-array v0, v0, [B // type@0036 001c92: 6900 6800 |014b: sput-object v0, Lcom/google/android/checkers/g;.p:[B // field@0068 001c96: 1400 00c1 0300 |014d: const v0, #float 3.44742e-40 // #0003c100 001c9c: 2300 3600 |0150: new-array v0, v0, [B // type@0036 001ca0: 6900 6900 |0152: sput-object v0, Lcom/google/android/checkers/g;.q:[B // field@0069 001ca4: 6e10 1100 0a00 |0154: invoke-virtual {v10}, Landroid/content/Context;.getResources:()Landroid/content/res/Resources; // method@0011 001caa: 0c00 |0157: move-result-object v0 001cac: 1501 037f |0158: const/high16 v1, #int 2130903040 // #7f03 001cb0: 6e20 1b00 1000 |015a: invoke-virtual {v0, v1}, Landroid/content/res/Resources;.openRawResource:(I)Ljava/io/InputStream; // method@001b 001cb6: 0c00 |015d: move-result-object v0 001cb8: 2201 2700 |015e: new-instance v1, Ljava/io/BufferedInputStream; // type@0027 001cbc: 1302 0020 |0160: const/16 v2, #int 8192 // #2000 001cc0: 7030 9a00 0102 |0162: invoke-direct {v1, v0, v2}, Ljava/io/BufferedInputStream;.:(Ljava/io/InputStream;I)V // method@009a 001cc6: 6901 6b00 |0165: sput-object v1, Lcom/google/android/checkers/g;.s:Ljava/io/BufferedInputStream; // field@006b 001cca: 6200 5900 |0167: sget-object v0, Lcom/google/android/checkers/g;.a:[B // field@0059 001cce: 7110 9900 0000 |0169: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001cd4: 6200 5a00 |016c: sget-object v0, Lcom/google/android/checkers/g;.b:[B // field@005a 001cd8: 7110 9900 0000 |016e: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001cde: 6200 5b00 |0171: sget-object v0, Lcom/google/android/checkers/g;.c:[B // field@005b 001ce2: 7110 9900 0000 |0173: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001ce8: 6200 5c00 |0176: sget-object v0, Lcom/google/android/checkers/g;.d:[B // field@005c 001cec: 7110 9900 0000 |0178: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001cf2: 6200 5d00 |017b: sget-object v0, Lcom/google/android/checkers/g;.e:[B // field@005d 001cf6: 7110 9900 0000 |017d: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001cfc: 6200 5e00 |0180: sget-object v0, Lcom/google/android/checkers/g;.f:[B // field@005e 001d00: 7110 9900 0000 |0182: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001d06: 6200 5f00 |0185: sget-object v0, Lcom/google/android/checkers/g;.g:[B // field@005f 001d0a: 7110 9900 0000 |0187: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001d10: 6200 6000 |018a: sget-object v0, Lcom/google/android/checkers/g;.h:[B // field@0060 001d14: 7110 9900 0000 |018c: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001d1a: 6200 6100 |018f: sget-object v0, Lcom/google/android/checkers/g;.i:[B // field@0061 001d1e: 7110 9900 0000 |0191: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001d24: 6200 6200 |0194: sget-object v0, Lcom/google/android/checkers/g;.j:[B // field@0062 001d28: 7110 9900 0000 |0196: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001d2e: 6200 6300 |0199: sget-object v0, Lcom/google/android/checkers/g;.k:[B // field@0063 001d32: 7110 9900 0000 |019b: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001d38: 6200 6400 |019e: sget-object v0, Lcom/google/android/checkers/g;.l:[B // field@0064 001d3c: 7110 9900 0000 |01a0: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001d42: 6200 6500 |01a3: sget-object v0, Lcom/google/android/checkers/g;.m:[B // field@0065 001d46: 7110 9900 0000 |01a5: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001d4c: 6200 6600 |01a8: sget-object v0, Lcom/google/android/checkers/g;.n:[B // field@0066 001d50: 7110 9900 0000 |01aa: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001d56: 6200 6700 |01ad: sget-object v0, Lcom/google/android/checkers/g;.o:[B // field@0067 001d5a: 7110 9900 0000 |01af: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001d60: 6200 6800 |01b2: sget-object v0, Lcom/google/android/checkers/g;.p:[B // field@0068 001d64: 7110 9900 0000 |01b4: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001d6a: 6200 6900 |01b7: sget-object v0, Lcom/google/android/checkers/g;.q:[B // field@0069 001d6e: 7110 9900 0000 |01b9: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099 001d74: 6200 6b00 |01bc: sget-object v0, Lcom/google/android/checkers/g;.s:Ljava/io/BufferedInputStream; // field@006b 001d78: 6e10 9b00 0000 |01be: invoke-virtual {v0}, Ljava/io/BufferedInputStream;.close:()V // method@009b 001d7e: 1200 |01c1: const/4 v0, #int 0 // #0 001d80: 6900 6b00 |01c2: sput-object v0, Lcom/google/android/checkers/g;.s:Ljava/io/BufferedInputStream; // field@006b 001d84: 1210 |01c4: const/4 v0, #int 1 // #1 001d86: 6a00 6a00 |01c5: sput-boolean v0, Lcom/google/android/checkers/g;.r:Z // field@006a 001d8a: 2200 2000 |01c7: new-instance v0, Lcom/google/android/checkers/a; // type@0020 001d8e: 7020 7200 9000 |01c9: invoke-direct {v0, v9}, Lcom/google/android/checkers/a;.:(Lcom/google/android/checkers/CheckersView;)V // method@0072 001d94: 5b90 2200 |01cc: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 001d98: 5b95 0f00 |01ce: iput-object v5, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 001d9c: 7020 5800 b900 |01d0: invoke-direct {v9, v11}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;)Z // method@0058 001da2: 0a00 |01d3: move-result v0 001da4: 3800 8500 |01d4: if-eqz v0, 0259 // +0085 001da8: 7010 6700 0900 |01d6: invoke-direct {v9}, Lcom/google/android/checkers/CheckersView;.e:()Z // method@0067 001dae: 0a00 |01d9: move-result v0 001db0: 3900 0600 |01da: if-nez v0, 01e0 // +0006 001db4: 1a00 1701 |01dc: const-string v0, "restored game" // string@0117 001db8: 5b90 0f00 |01de: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 001dbc: 7010 6400 0900 |01e0: invoke-direct {v9}, Lcom/google/android/checkers/CheckersView;.d:()V // method@0064 001dc2: 1500 20c1 |01e3: const/high16 v0, #int -1054867456 // #c120 001dc6: 5990 1000 |01e5: iput v0, v9, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 001dca: 1500 20c1 |01e7: const/high16 v0, #int -1054867456 // #c120 001dce: 5990 1100 |01e9: iput v0, v9, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 001dd2: 5994 1200 |01eb: iput v4, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012 001dd6: 5590 0600 |01ed: iget-boolean v0, v9, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006 001dda: 3800 2e00 |01ef: if-eqz v0, 021d // +002e 001dde: 7010 6700 0900 |01f1: invoke-direct {v9}, Lcom/google/android/checkers/CheckersView;.e:()Z // method@0067 001de4: 0a00 |01f4: move-result v0 001de6: 3800 2800 |01f5: if-eqz v0, 021d // +0028 001dea: 2200 0500 |01f7: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0005 001dee: 5491 1300 |01f9: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013 001df2: 7020 0900 1000 |01fb: invoke-direct {v0, v1}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0009 001df8: 1a01 1200 |01fe: const-string v1, "Checkers for Android was written by Aart J.C. Bik. Use the touch screen or trackball to make a move. Press the MENU button for more options, such as making captures optional instead of mandatory. The application complies with the official American checkers rules, where black moves first, captures are mandatory, men only move and jump forward, and kings move and jump forward and backward (but not over a distance). Please note that many variants of checkers exist, and this game may not use the rules you are most familiar with. " // string@0012 001dfc: 6e20 0c00 1000 |0200: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c 001e02: 0c00 |0203: move-result-object v0 001e04: 1a01 2b00 |0204: const-string v1, "KEEP SHOWING" // string@002b 001e08: 2202 2300 |0206: new-instance v2, Lcom/google/android/checkers/d; // type@0023 001e0c: 7020 9300 9200 |0208: invoke-direct {v2, v9}, Lcom/google/android/checkers/d;.:(Lcom/google/android/checkers/CheckersView;)V // method@0093 001e12: 6e30 0e00 1002 |020b: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000e 001e18: 0c00 |020e: move-result-object v0 001e1a: 1a01 7c00 |020f: const-string v1, "STOP SHOWING" // string@007c 001e1e: 2202 2400 |0211: new-instance v2, Lcom/google/android/checkers/e; // type@0024 001e22: 7020 9500 9200 |0213: invoke-direct {v2, v9}, Lcom/google/android/checkers/e;.:(Lcom/google/android/checkers/CheckersView;)V // method@0095 001e28: 6e30 0d00 1002 |0216: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d 001e2e: 0c00 |0219: move-result-object v0 001e30: 6e10 1000 0000 |021a: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@0010 001e36: 0e00 |021d: return-void 001e38: 0d00 |021e: move-exception v0 001e3a: 1a01 0800 |021f: const-string v1, "BIK" // string@0008 001e3e: 2202 3000 |0221: new-instance v2, Ljava/lang/StringBuilder; // type@0030 001e42: 1a03 b700 |0223: const-string v3, "cannot read tb: " // string@00b7 001e46: 7020 a600 3200 |0225: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@00a6 001e4c: 6e20 a800 0200 |0228: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00a8 001e52: 0c00 |022b: move-result-object v0 001e54: 6e10 aa00 0000 |022c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa 001e5a: 0c00 |022f: move-result-object v0 001e5c: 7120 2a00 0100 |0230: invoke-static {v1, v0}, Landroid/util/Log;.d:(Ljava/lang/String;Ljava/lang/String;)I // method@002a 001e62: 6905 5900 |0233: sput-object v5, Lcom/google/android/checkers/g;.a:[B // field@0059 001e66: 6905 5a00 |0235: sput-object v5, Lcom/google/android/checkers/g;.b:[B // field@005a 001e6a: 6905 5b00 |0237: sput-object v5, Lcom/google/android/checkers/g;.c:[B // field@005b 001e6e: 6905 5c00 |0239: sput-object v5, Lcom/google/android/checkers/g;.d:[B // field@005c 001e72: 6905 5d00 |023b: sput-object v5, Lcom/google/android/checkers/g;.e:[B // field@005d 001e76: 6905 5e00 |023d: sput-object v5, Lcom/google/android/checkers/g;.f:[B // field@005e 001e7a: 6905 5f00 |023f: sput-object v5, Lcom/google/android/checkers/g;.g:[B // field@005f 001e7e: 6905 6000 |0241: sput-object v5, Lcom/google/android/checkers/g;.h:[B // field@0060 001e82: 6905 6100 |0243: sput-object v5, Lcom/google/android/checkers/g;.i:[B // field@0061 001e86: 6905 6200 |0245: sput-object v5, Lcom/google/android/checkers/g;.j:[B // field@0062 001e8a: 6905 6300 |0247: sput-object v5, Lcom/google/android/checkers/g;.k:[B // field@0063 001e8e: 6905 6400 |0249: sput-object v5, Lcom/google/android/checkers/g;.l:[B // field@0064 001e92: 6905 6500 |024b: sput-object v5, Lcom/google/android/checkers/g;.m:[B // field@0065 001e96: 6905 6600 |024d: sput-object v5, Lcom/google/android/checkers/g;.n:[B // field@0066 001e9a: 6905 6700 |024f: sput-object v5, Lcom/google/android/checkers/g;.o:[B // field@0067 001e9e: 6905 6800 |0251: sput-object v5, Lcom/google/android/checkers/g;.p:[B // field@0068 001ea2: 6905 6900 |0253: sput-object v5, Lcom/google/android/checkers/g;.q:[B // field@0069 001ea6: 6a04 6a00 |0255: sput-boolean v4, Lcom/google/android/checkers/g;.r:Z // field@006a 001eaa: 2900 70ff |0257: goto/16 01c7 // -0090 001eae: 5997 2300 |0259: iput v7, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 001eb2: 5490 2200 |025b: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 001eb6: 5200 3d00 |025d: iget v0, v0, Lcom/google/android/checkers/a;.d:I // field@003d 001eba: 5990 2400 |025f: iput v0, v9, Lcom/google/android/checkers/CheckersView;.r:I // field@0024 001ebe: 5490 2200 |0261: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 001ec2: 5200 3f00 |0263: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f 001ec6: 5990 2500 |0265: iput v0, v9, Lcom/google/android/checkers/CheckersView;.s:I // field@0025 001eca: 5490 2200 |0267: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 001ece: 5200 3e00 |0269: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e 001ed2: 5990 2600 |026b: iput v0, v9, Lcom/google/android/checkers/CheckersView;.t:I // field@0026 001ed6: 5490 2200 |026d: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 001eda: 5200 4000 |026f: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040 001ede: 5990 2700 |0271: iput v0, v9, Lcom/google/android/checkers/CheckersView;.u:I // field@0027 001ee2: 5994 2800 |0273: iput v4, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 001ee6: 5994 2900 |0275: iput v4, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029 001eea: 5994 2a00 |0277: iput v4, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a 001eee: 5c94 2b00 |0279: iput-boolean v4, v9, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b 001ef2: 1230 |027b: const/4 v0, #int 3 // #3 001ef4: 5990 2c00 |027c: iput v0, v9, Lcom/google/android/checkers/CheckersView;.z:I // field@002c 001ef8: 5c97 0200 |027e: iput-boolean v7, v9, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002 001efc: 5c94 0300 |0280: iput-boolean v4, v9, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 001f00: 5c94 0400 |0282: iput-boolean v4, v9, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004 001f04: 5c94 0500 |0284: iput-boolean v4, v9, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005 001f08: 5c97 0600 |0286: iput-boolean v7, v9, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006 001f0c: 5994 0700 |0288: iput v4, v9, Lcom/google/android/checkers/CheckersView;.F:I // field@0007 001f10: 5994 0c00 |028a: iput v4, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 001f14: 5994 0d00 |028c: iput v4, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d 001f18: 5490 2200 |028e: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 001f1c: 5200 3c00 |0290: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c 001f20: 5990 0e00 |0292: iput v0, v9, Lcom/google/android/checkers/CheckersView;.M:I // field@000e 001f24: 2900 4cff |0294: goto/16 01e0 // -00b4 catches : 1 0x00ef - 0x01c7 Ljava/lang/Exception; -> 0x021e positions : locals : #1 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V' access : 0x000a (PRIVATE STATIC) method_idx : 82 code - registers : 6 ins : 3 outs : 3 insns size : 31 16-bit code units 001f38: |[001f38] com.google.android.checkers.CheckersView.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V 001f48: 1200 |0000: const/4 v0, #int 0 // #0 001f4a: 1301 0800 |0001: const/16 v1, #int 8 // #8 001f4e: 3410 0300 |0003: if-lt v0, v1, 0006 // +0003 001f52: 0e00 |0005: return-void 001f54: 2201 3000 |0006: new-instance v1, Ljava/lang/StringBuilder; // type@0030 001f58: 7110 a500 0400 |0008: invoke-static {v4}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@00a5 001f5e: 0c02 |000b: move-result-object v2 001f60: 7020 a600 2100 |000c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@00a6 001f66: 6e20 a700 0100 |000f: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7 001f6c: 0c01 |0012: move-result-object v1 001f6e: 6e10 aa00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa 001f74: 0c01 |0016: move-result-object v1 001f76: 4402 0500 |0017: aget v2, v5, v0 001f7a: 7230 1600 1302 |0019: invoke-interface {v3, v1, v2}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 001f80: d800 0001 |001c: add-int/lit8 v0, v0, #int 1 // #01 001f84: 28e3 |001e: goto 0001 // -001d catches : (none) positions : locals : #2 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V' access : 0x000a (PRIVATE STATIC) method_idx : 83 code - registers : 7 ins : 3 outs : 3 insns size : 33 16-bit code units 001f88: |[001f88] com.google.android.checkers.CheckersView.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V 001f98: 1201 |0000: const/4 v1, #int 0 // #0 001f9a: 0110 |0001: move v0, v1 001f9c: 1302 0800 |0002: const/16 v2, #int 8 // #8 001fa0: 3420 0300 |0004: if-lt v0, v2, 0007 // +0003 001fa4: 0e00 |0006: return-void 001fa6: 2202 3000 |0007: new-instance v2, Ljava/lang/StringBuilder; // type@0030 001faa: 7110 a500 0500 |0009: invoke-static {v5}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@00a5 001fb0: 0c03 |000c: move-result-object v3 001fb2: 7020 a600 3200 |000d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@00a6 001fb8: 6e20 a700 0200 |0010: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7 001fbe: 0c02 |0013: move-result-object v2 001fc0: 6e10 aa00 0200 |0014: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa 001fc6: 0c02 |0017: move-result-object v2 001fc8: 7230 1900 2401 |0018: invoke-interface {v4, v2, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 001fce: 0a02 |001b: move-result v2 001fd0: 4b02 0600 |001c: aput v2, v6, v0 001fd4: d800 0001 |001e: add-int/lit8 v0, v0, #int 1 // #01 001fd8: 28e2 |0020: goto 0002 // -001e catches : (none) positions : locals : #3 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '(Landroid/graphics/Canvas;IIII)V' access : 0x0012 (PRIVATE FINAL) method_idx : 84 code - registers : 13 ins : 6 outs : 6 insns size : 63 16-bit code units 001fdc: |[001fdc] com.google.android.checkers.CheckersView.a:(Landroid/graphics/Canvas;IIII)V 001fec: e201 0902 |0000: ushr-int/lit8 v1, v9, #int 2 // #02 001ff0: dd00 0903 |0002: and-int/lit8 v0, v9, #int 3 // #03 001ff4: da00 0002 |0004: mul-int/lit8 v0, v0, #int 2 // #02 001ff8: d800 0001 |0006: add-int/lit8 v0, v0, #int 1 // #01 001ffc: dd02 0101 |0008: and-int/lit8 v2, v1, #int 1 // #01 002000: 9103 0002 |000a: sub-int v3, v0, v2 002004: e200 0a02 |000c: ushr-int/lit8 v0, v10, #int 2 // #02 002008: dd02 0a03 |000e: and-int/lit8 v2, v10, #int 3 // #03 00200c: da02 0202 |0010: mul-int/lit8 v2, v2, #int 2 // #02 002010: d802 0201 |0012: add-int/lit8 v2, v2, #int 1 // #01 002014: dd04 0001 |0014: and-int/lit8 v4, v0, #int 1 // #01 002018: b142 |0016: sub-int/2addr v2, v4 00201a: 5574 0400 |0017: iget-boolean v4, v7, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004 00201e: 3804 2100 |0019: if-eqz v4, 003a // +0021 002022: d901 0107 |001b: rsub-int/lit8 v1, v1, #int 7 // #07 002026: d903 0307 |001d: rsub-int/lit8 v3, v3, #int 7 // #07 00202a: d900 0007 |001f: rsub-int/lit8 v0, v0, #int 7 // #07 00202e: d902 0207 |0021: rsub-int/lit8 v2, v2, #int 7 // #07 002032: 0116 |0023: move v6, v1 002034: 0131 |0024: move v1, v3 002036: 0123 |0025: move v3, v2 002038: 0162 |0026: move v2, v6 00203a: b2b1 |0027: mul-int/2addr v1, v11 00203c: b0c1 |0028: add-int/2addr v1, v12 00203e: 8211 |0029: int-to-float v1, v1 002040: b2b2 |002a: mul-int/2addr v2, v11 002042: b0c2 |002b: add-int/2addr v2, v12 002044: 8222 |002c: int-to-float v2, v2 002046: b2b3 |002d: mul-int/2addr v3, v11 002048: b0c3 |002e: add-int/2addr v3, v12 00204a: 8233 |002f: int-to-float v3, v3 00204c: b2b0 |0030: mul-int/2addr v0, v11 00204e: b0c0 |0031: add-int/2addr v0, v12 002050: 8204 |0032: int-to-float v4, v0 002052: 5475 1a00 |0033: iget-object v5, v7, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a 002056: 0780 |0035: move-object v0, v8 002058: 7406 1d00 0000 |0036: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawLine:(FFFFLandroid/graphics/Paint;)V // method@001d 00205e: 0e00 |0039: return-void 002060: 0116 |003a: move v6, v1 002062: 0131 |003b: move v1, v3 002064: 0123 |003c: move v3, v2 002066: 0162 |003d: move v2, v6 002068: 28e9 |003e: goto 0027 // -0017 catches : (none) positions : locals : #4 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V' access : 0x000a (PRIVATE STATIC) method_idx : 85 code - registers : 13 ins : 8 outs : 5 insns size : 81 16-bit code units 00206c: |[00206c] com.google.android.checkers.CheckersView.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V 00207c: 8260 |0000: int-to-float v0, v6 00207e: 8271 |0001: int-to-float v1, v7 002080: d802 08fe |0002: add-int/lit8 v2, v8, #int -2 // #fe 002084: 8222 |0004: int-to-float v2, v2 002086: 6e5a 1c00 0521 |0005: invoke-virtual {v5, v0, v1, v2, v10}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 00208c: 8260 |0008: int-to-float v0, v6 00208e: 8271 |0009: int-to-float v1, v7 002090: d802 08fc |000a: add-int/lit8 v2, v8, #int -4 // #fc 002094: 8222 |000c: int-to-float v2, v2 002096: 6e5b 1c00 0521 |000d: invoke-virtual {v5, v0, v1, v2, v11}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 00209c: 8260 |0010: int-to-float v0, v6 00209e: 8271 |0011: int-to-float v1, v7 0020a0: d802 08f9 |0012: add-int/lit8 v2, v8, #int -7 // #f9 0020a4: 8222 |0014: int-to-float v2, v2 0020a6: 6e5a 1c00 0521 |0015: invoke-virtual {v5, v0, v1, v2, v10}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 0020ac: 8260 |0018: int-to-float v0, v6 0020ae: 8271 |0019: int-to-float v1, v7 0020b0: d802 08f7 |001a: add-int/lit8 v2, v8, #int -9 // #f7 0020b4: 8222 |001c: int-to-float v2, v2 0020b6: 6e5b 1c00 0521 |001d: invoke-virtual {v5, v0, v1, v2, v11}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 0020bc: 380c 3000 |0020: if-eqz v12, 0050 // +0030 0020c0: e100 0802 |0022: shr-int/lit8 v0, v8, #int 2 // #02 0020c4: 9101 0600 |0024: sub-int v1, v6, v0 0020c8: 9100 0700 |0026: sub-int v0, v7, v0 0020cc: 8212 |0028: int-to-float v2, v1 0020ce: 8203 |0029: int-to-float v3, v0 0020d0: d804 08fe |002a: add-int/lit8 v4, v8, #int -2 // #fe 0020d4: 8244 |002c: int-to-float v4, v4 0020d6: 6e5a 1c00 2543 |002d: invoke-virtual {v5, v2, v3, v4, v10}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 0020dc: 8212 |0030: int-to-float v2, v1 0020de: 8203 |0031: int-to-float v3, v0 0020e0: d804 08fc |0032: add-int/lit8 v4, v8, #int -4 // #fc 0020e4: 8244 |0034: int-to-float v4, v4 0020e6: 6e5b 1c00 2543 |0035: invoke-virtual {v5, v2, v3, v4, v11}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 0020ec: 8212 |0038: int-to-float v2, v1 0020ee: 8203 |0039: int-to-float v3, v0 0020f0: d804 08f9 |003a: add-int/lit8 v4, v8, #int -7 // #f9 0020f4: 8244 |003c: int-to-float v4, v4 0020f6: 6e5a 1c00 2543 |003d: invoke-virtual {v5, v2, v3, v4, v10}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 0020fc: 8212 |0040: int-to-float v2, v1 0020fe: 8203 |0041: int-to-float v3, v0 002100: d804 08f7 |0042: add-int/lit8 v4, v8, #int -9 // #f7 002104: 8244 |0044: int-to-float v4, v4 002106: 6e5b 1c00 2543 |0045: invoke-virtual {v5, v2, v3, v4, v11}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 00210c: 1a02 2a00 |0048: const-string v2, "K" // string@002a 002110: b191 |004a: sub-int/2addr v1, v9 002112: 8211 |004b: int-to-float v1, v1 002114: 8200 |004c: int-to-float v0, v0 002116: 6e5a 2000 2501 |004d: invoke-virtual {v5, v2, v1, v0, v10}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 00211c: 0e00 |0050: return-void catches : (none) positions : locals : #5 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '(Lcom/google/android/checkers/CheckersView;I)V' access : 0x1008 (STATIC SYNTHETIC) method_idx : 86 code - registers : 2 ins : 2 outs : 2 insns size : 4 16-bit code units 002120: |[002120] com.google.android.checkers.CheckersView.a:(Lcom/google/android/checkers/CheckersView;I)V 002130: 7020 5e00 1000 |0000: invoke-direct {v0, v1}, Lcom/google/android/checkers/CheckersView;.b:(I)V // method@005e 002136: 0e00 |0003: return-void catches : (none) positions : locals : #6 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '(Landroid/content/SharedPreferences;)Z' access : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED) method_idx : 88 code - registers : 12 ins : 2 outs : 6 insns size : 294 16-bit code units 002138: |[002138] com.google.android.checkers.CheckersView.a:(Landroid/content/SharedPreferences;)Z 002148: 1249 |0000: const/4 v9, #int 4 // #4 00214a: 1232 |0001: const/4 v2, #int 3 // #3 00214c: 1217 |0002: const/4 v7, #int 1 // #1 00214e: 1206 |0003: const/4 v6, #int 0 // #0 002150: 1d0a |0004: monitor-enter v10 002152: 380b 1b01 |0005: if-eqz v11, 0120 // +011b 002156: 1a00 d000 |0007: const-string v0, "format" // string@00d0 00215a: 1201 |0009: const/4 v1, #int 0 // #0 00215c: 7230 1900 0b01 |000a: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 002162: 0a00 |000d: move-result v0 002164: 1301 2200 |000e: const/16 v1, #int 34 // #22 002168: 3210 0500 |0010: if-eq v0, v1, 0015 // +0005 00216c: 0160 |0012: move v0, v6 00216e: 1e0a |0013: monitor-exit v10 002170: 0f00 |0014: return v0 002172: 1a00 3101 |0015: const-string v0, "state" // string@0131 002176: 1211 |0017: const/4 v1, #int 1 // #1 002178: 7230 1900 0b01 |0018: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 00217e: 0a00 |001b: move-result v0 002180: 59a0 2300 |001c: iput v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002184: 1a00 3f01 |001e: const-string v0, "wp" // string@013f 002188: 1201 |0020: const/4 v1, #int 0 // #0 00218a: 7230 1900 0b01 |0021: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 002190: 0a00 |0024: move-result v0 002192: 59a0 2400 |0025: iput v0, v10, Lcom/google/android/checkers/CheckersView;.r:I // field@0024 002196: 1a00 b400 |0027: const-string v0, "bp" // string@00b4 00219a: 1201 |0029: const/4 v1, #int 0 // #0 00219c: 7230 1900 0b01 |002a: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 0021a2: 0a00 |002d: move-result v0 0021a4: 59a0 2500 |002e: iput v0, v10, Lcom/google/android/checkers/CheckersView;.s:I // field@0025 0021a8: 1a00 3e01 |0030: const-string v0, "wk" // string@013e 0021ac: 1201 |0032: const/4 v1, #int 0 // #0 0021ae: 7230 1900 0b01 |0033: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 0021b4: 0a00 |0036: move-result v0 0021b6: 59a0 2600 |0037: iput v0, v10, Lcom/google/android/checkers/CheckersView;.t:I // field@0026 0021ba: 1a00 b300 |0039: const-string v0, "bk" // string@00b3 0021be: 1201 |003b: const/4 v1, #int 0 // #0 0021c0: 7230 1900 0b01 |003c: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 0021c6: 0a00 |003f: move-result v0 0021c8: 59a0 2700 |0040: iput v0, v10, Lcom/google/android/checkers/CheckersView;.u:I // field@0027 0021cc: 1a00 e800 |0042: const-string v0, "l1" // string@00e8 0021d0: 1201 |0044: const/4 v1, #int 0 // #0 0021d2: 7230 1900 0b01 |0045: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 0021d8: 0a00 |0048: move-result v0 0021da: 59a0 2800 |0049: iput v0, v10, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 0021de: 1a00 e900 |004b: const-string v0, "l2" // string@00e9 0021e2: 1201 |004d: const/4 v1, #int 0 // #0 0021e4: 7230 1900 0b01 |004e: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 0021ea: 0a00 |0051: move-result v0 0021ec: 59a0 2900 |0052: iput v0, v10, Lcom/google/android/checkers/CheckersView;.w:I // field@0029 0021f0: 1a00 ef00 |0054: const-string v0, "lm" // string@00ef 0021f4: 1201 |0056: const/4 v1, #int 0 // #0 0021f6: 7230 1900 0b01 |0057: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 0021fc: 0a00 |005a: move-result v0 0021fe: 59a0 2a00 |005b: iput v0, v10, Lcom/google/android/checkers/CheckersView;.x:I // field@002a 002202: 1a00 b800 |005d: const-string v0, "cap" // string@00b8 002206: 1211 |005f: const/4 v1, #int 1 // #1 002208: 7230 1800 0b01 |0060: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018 00220e: 0a00 |0063: move-result v0 002210: 5ca0 2b00 |0064: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b 002214: 1a00 ee00 |0066: const-string v0, "level" // string@00ee 002218: 1231 |0068: const/4 v1, #int 3 // #3 00221a: 7230 1900 0b01 |0069: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 002220: 0a00 |006c: move-result v0 002222: 59a0 2c00 |006d: iput v0, v10, Lcom/google/android/checkers/CheckersView;.z:I // field@002c 002226: 1a00 2d01 |006f: const-string v0, "show" // string@012d 00222a: 1211 |0071: const/4 v1, #int 1 // #1 00222c: 7230 1800 0b01 |0072: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018 002232: 0a00 |0075: move-result v0 002234: 5ca0 0200 |0076: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002 002238: 1a00 d100 |0078: const-string v0, "free" // string@00d1 00223c: 1201 |007a: const/4 v1, #int 0 // #0 00223e: 7230 1800 0b01 |007b: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018 002244: 0a00 |007e: move-result v0 002246: 5ca0 0300 |007f: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 00224a: 1a00 1801 |0081: const-string v0, "rot" // string@0118 00224e: 1201 |0083: const/4 v1, #int 0 // #0 002250: 7230 1800 0b01 |0084: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018 002256: 0a00 |0087: move-result v0 002258: 5ca0 0400 |0088: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004 00225c: 1a00 d300 |008a: const-string v0, "full" // string@00d3 002260: 1201 |008c: const/4 v1, #int 0 // #0 002262: 7230 1800 0b01 |008d: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018 002268: 0a00 |0090: move-result v0 00226a: 5ca0 0500 |0091: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005 00226e: 1a00 2f01 |0093: const-string v0, "start" // string@012f 002272: 1211 |0095: const/4 v1, #int 1 // #1 002274: 7230 1800 0b01 |0096: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018 00227a: 0a00 |0099: move-result v0 00227c: 5ca0 0600 |009a: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006 002280: 1a00 bd00 |009c: const-string v0, "color" // string@00bd 002284: 1201 |009e: const/4 v1, #int 0 // #0 002286: 7230 1900 0b01 |009f: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 00228c: 0a00 |00a2: move-result v0 00228e: 59a0 0700 |00a3: iput v0, v10, Lcom/google/android/checkers/CheckersView;.F:I // field@0007 002292: 1a00 f300 |00a5: const-string v0, "lwp" // string@00f3 002296: 54a1 0800 |00a7: iget-object v1, v10, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008 00229a: 7130 5300 0b01 |00a9: invoke-static {v11, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V // method@0053 0022a0: 1a00 f200 |00ac: const-string v0, "lwk" // string@00f2 0022a4: 54a1 0900 |00ae: iget-object v1, v10, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009 0022a8: 7130 5300 0b01 |00b0: invoke-static {v11, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V // method@0053 0022ae: 1a00 eb00 |00b3: const-string v0, "lbp" // string@00eb 0022b2: 54a1 0a00 |00b5: iget-object v1, v10, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a 0022b6: 7130 5300 0b01 |00b7: invoke-static {v11, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V // method@0053 0022bc: 1a00 ea00 |00ba: const-string v0, "lbk" // string@00ea 0022c0: 54a1 0b00 |00bc: iget-object v1, v10, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b 0022c4: 7130 5300 0b01 |00be: invoke-static {v11, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V // method@0053 0022ca: 1a00 f100 |00c1: const-string v0, "lp" // string@00f1 0022ce: 1201 |00c3: const/4 v1, #int 0 // #0 0022d0: 7230 1900 0b01 |00c4: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 0022d6: 0a00 |00c7: move-result v0 0022d8: 59a0 0c00 |00c8: iput v0, v10, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 0022dc: 1a00 ec00 |00ca: const-string v0, "lc" // string@00ec 0022e0: 1201 |00cc: const/4 v1, #int 0 // #0 0022e2: 7230 1900 0b01 |00cd: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019 0022e8: 0a00 |00d0: move-result v0 0022ea: 59a0 0d00 |00d1: iput v0, v10, Lcom/google/android/checkers/CheckersView;.L:I // field@000d 0022ee: 52a0 2c00 |00d3: iget v0, v10, Lcom/google/android/checkers/CheckersView;.z:I // field@002c 0022f2: 6e20 7000 0a00 |00d5: invoke-virtual {v10, v0}, Lcom/google/android/checkers/CheckersView;.setLevel:(I)V // method@0070 0022f8: 52a0 2300 |00d8: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 0022fc: 3220 3d00 |00da: if-eq v0, v2, 0117 // +003d 002300: 52a0 2300 |00dc: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002304: 3290 3900 |00de: if-eq v0, v9, 0117 // +0039 002308: 52a0 2300 |00e0: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 00230c: 1261 |00e2: const/4 v1, #int 6 // #6 00230e: 3210 3400 |00e3: if-eq v0, v1, 0117 // +0034 002312: 0165 |00e5: move v5, v6 002314: 54a8 2200 |00e6: iget-object v8, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002318: 1d08 |00e8: monitor-enter v8 00231a: 54a0 2200 |00e9: iget-object v0, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 00231e: 52a1 2400 |00eb: iget v1, v10, Lcom/google/android/checkers/CheckersView;.r:I // field@0024 002322: 52a2 2600 |00ed: iget v2, v10, Lcom/google/android/checkers/CheckersView;.t:I // field@0026 002326: 52a3 2500 |00ef: iget v3, v10, Lcom/google/android/checkers/CheckersView;.s:I // field@0025 00232a: 52a4 2700 |00f1: iget v4, v10, Lcom/google/android/checkers/CheckersView;.u:I // field@0027 00232e: 7406 8000 0000 |00f3: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIIZ)V // method@0080 002334: 54a0 2200 |00f6: iget-object v0, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002338: 55a1 0300 |00f8: iget-boolean v1, v10, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 00233c: 6e30 7a00 5001 |00fa: invoke-virtual {v0, v5, v1}, Lcom/google/android/checkers/a;.a:(ZZ)I // method@007a 002342: 54a0 2200 |00fd: iget-object v0, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002346: 5200 3c00 |00ff: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c 00234a: 59a0 0e00 |0101: iput v0, v10, Lcom/google/android/checkers/CheckersView;.M:I // field@000e 00234e: 1e08 |0103: monitor-exit v8 002350: 52a0 2300 |0104: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002354: 3290 0700 |0106: if-eq v0, v9, 010d // +0007 002358: 52a0 2300 |0108: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 00235c: 1221 |010a: const/4 v1, #int 2 // #2 00235e: 3310 0900 |010b: if-ne v0, v1, 0114 // +0009 002362: 54a0 2200 |010d: iget-object v0, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002366: 55a1 0300 |010f: iget-boolean v1, v10, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 00236a: 6e30 8700 5001 |0111: invoke-virtual {v0, v5, v1}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087 002370: 0170 |0114: move v0, v7 002372: 2900 fefe |0115: goto/16 0013 // -0102 002376: 0175 |0117: move v5, v7 002378: 28ce |0118: goto 00e6 // -0032 00237a: 0d00 |0119: move-exception v0 00237c: 1e08 |011a: monitor-exit v8 00237e: 2700 |011b: throw v0 002380: 0d00 |011c: move-exception v0 002382: 0160 |011d: move v0, v6 002384: 2900 f5fe |011e: goto/16 0013 // -010b 002388: 0160 |0120: move v0, v6 00238a: 2900 f2fe |0121: goto/16 0013 // -010e 00238e: 0d00 |0123: move-exception v0 002390: 1e0a |0124: monitor-exit v10 002392: 2700 |0125: throw v0 catches : 4 0x0007 - 0x000d Ljava/lang/ClassCastException; -> 0x011c -> 0x0123 0x0015 - 0x00e9 Ljava/lang/ClassCastException; -> 0x011c -> 0x0123 0x00e9 - 0x0104 -> 0x0119 0x0104 - 0x011c Ljava/lang/ClassCastException; -> 0x011c -> 0x0123 positions : locals : #7 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '(Lcom/google/android/checkers/CheckersView;)Z' access : 0x1008 (STATIC SYNTHETIC) method_idx : 89 code - registers : 7 ins : 1 outs : 6 insns size : 11 16-bit code units 0023c0: |[0023c0] com.google.android.checkers.CheckersView.a:(Lcom/google/android/checkers/CheckersView;)Z 0023d0: 1201 |0000: const/4 v1, #int 0 // #0 0023d2: 12f2 |0001: const/4 v2, #int -1 // #ff 0023d4: 0760 |0002: move-object v0, v6 0023d6: 0113 |0003: move v3, v1 0023d8: 0114 |0004: move v4, v1 0023da: 0115 |0005: move v5, v1 0023dc: 7606 5b00 0000 |0006: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b 0023e2: 0a00 |0009: move-result v0 0023e4: 0f00 |000a: return v0 catches : (none) positions : locals : #8 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '(ZIIII)Z' access : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED) method_idx : 91 code - registers : 15 ins : 6 outs : 6 insns size : 645 16-bit code units 0023e8: |[0023e8] com.google.android.checkers.CheckersView.a:(ZIIII)Z 0023f8: 1232 |0000: const/4 v2, #int 3 // #3 0023fa: 12f1 |0001: const/4 v1, #int -1 // #ff 0023fc: 1223 |0002: const/4 v3, #int 2 // #2 0023fe: 1216 |0003: const/4 v6, #int 1 // #1 002400: 1207 |0004: const/4 v7, #int 0 // #0 002402: 1d09 |0005: monitor-enter v9 002404: 380a 1b00 |0006: if-eqz v10, 0021 // +001b 002408: 5290 1200 |0008: iget v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012 00240c: 3d00 1700 |000a: if-lez v0, 0021 // +0017 002410: 5290 1200 |000c: iget v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012 002414: 3330 2b00 |000e: if-ne v0, v3, 0039 // +002b 002418: 12eb |0010: const/4 v11, #int -2 // #fe 00241a: 5290 2300 |0011: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 00241e: 3330 2800 |0013: if-ne v0, v3, 003b // +0028 002422: 0160 |0015: move v0, v6 002424: 5990 2300 |0016: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002428: 5290 2c00 |0018: iget v0, v9, Lcom/google/android/checkers/CheckersView;.z:I // field@002c 00242c: 6e20 7000 0900 |001a: invoke-virtual {v9, v0}, Lcom/google/android/checkers/CheckersView;.setLevel:(I)V // method@0070 002432: 1200 |001d: const/4 v0, #int 0 // #0 002434: 5990 1200 |001e: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012 002438: 017a |0020: move v10, v7 00243a: 380a 8800 |0021: if-eqz v10, 00a9 // +0088 00243e: 7020 6200 b900 |0023: invoke-direct {v9, v11}, Lcom/google/android/checkers/CheckersView;.c:(I)V // method@0062 002444: 5290 2300 |0026: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002448: 1252 |0028: const/4 v2, #int 5 // #5 00244a: 3220 0d00 |0029: if-eq v0, v2, 0036 // +000d 00244e: 5290 2300 |002b: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002452: 1262 |002d: const/4 v2, #int 6 // #6 002454: 3220 0800 |002e: if-eq v0, v2, 0036 // +0008 002458: 390d 0d00 |0030: if-nez v13, 003d // +000d 00245c: 1a00 1301 |0032: const-string v0, "random play" // string@0113 002460: 5b90 0f00 |0034: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 002464: 0160 |0036: move v0, v6 002466: 1e09 |0037: monitor-exit v9 002468: 0f00 |0038: return v0 00246a: 011b |0039: move v11, v1 00246c: 28d7 |003a: goto 0011 // -0029 00246e: 0120 |003b: move v0, v2 002470: 28da |003c: goto 0016 // -0026 002472: 331d 0a00 |003d: if-ne v13, v1, 0047 // +000a 002476: 1a00 0801 |003f: const-string v0, "only reply" // string@0108 00247a: 5b90 0f00 |0041: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 00247e: 28f3 |0043: goto 0036 // -000d 002480: 0d00 |0044: move-exception v0 002482: 1e09 |0045: monitor-exit v9 002484: 2700 |0046: throw v0 002486: 12e0 |0047: const/4 v0, #int -2 // #fe 002488: 330d 0700 |0048: if-ne v13, v0, 004f // +0007 00248c: 1a00 0a01 |004a: const-string v0, "opening" // string@010a 002490: 5b90 0f00 |004c: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 002494: 28e8 |004e: goto 0036 // -0018 002496: 1300 0083 |004f: const/16 v0, #int -32000 // #8300 00249a: 360c 1800 |0051: if-gt v12, v0, 0069 // +0018 00249e: 2200 3000 |0053: new-instance v0, Ljava/lang/StringBuilder; // type@0030 0024a2: 1a01 f000 |0055: const-string v1, "loss in #" // string@00f0 0024a6: 7020 a600 1000 |0057: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@00a6 0024ac: d0c1 f47e |005a: add-int/lit16 v1, v12, #int 32500 // #7ef4 0024b0: db01 0102 |005c: div-int/lit8 v1, v1, #int 2 // #02 0024b4: 6e20 a700 1000 |005e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7 0024ba: 0c00 |0061: move-result-object v0 0024bc: 6e10 aa00 0000 |0062: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa 0024c2: 0c00 |0065: move-result-object v0 0024c4: 5b90 0f00 |0066: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 0024c8: 28ce |0068: goto 0036 // -0032 0024ca: 1300 007d |0069: const/16 v0, #int 32000 // #7d00 0024ce: 340c 1800 |006b: if-lt v12, v0, 0083 // +0018 0024d2: 2200 3000 |006d: new-instance v0, Ljava/lang/StringBuilder; // type@0030 0024d6: 1a01 3d01 |006f: const-string v1, "win in #" // string@013d 0024da: 7020 a600 1000 |0071: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@00a6 0024e0: d1c1 f47e |0074: rsub-int v1, v12, #int 32500 // #7ef4 0024e4: db01 0102 |0076: div-int/lit8 v1, v1, #int 2 // #02 0024e8: 6e20 a700 1000 |0078: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7 0024ee: 0c00 |007b: move-result-object v0 0024f0: 6e10 aa00 0000 |007c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa 0024f6: 0c00 |007f: move-result-object v0 0024f8: 5b90 0f00 |0080: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 0024fc: 28b4 |0082: goto 0036 // -004c 0024fe: 2200 3000 |0083: new-instance v0, Ljava/lang/StringBuilder; // type@0030 002502: 1a01 3901 |0085: const-string v1, "v=" // string@0139 002506: 7020 a600 1000 |0087: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@00a6 00250c: 6e20 a700 c000 |008a: invoke-virtual {v0, v12}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7 002512: 0c00 |008d: move-result-object v0 002514: 1a01 0000 |008e: const-string v1, " d=" // string@0000 002518: 6e20 a900 1000 |0090: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00a9 00251e: 0c00 |0093: move-result-object v0 002520: 6e20 a700 d000 |0094: invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7 002526: 0c00 |0097: move-result-object v0 002528: 1a01 0100 |0098: const-string v1, " n=" // string@0001 00252c: 6e20 a900 1000 |009a: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00a9 002532: 0c00 |009d: move-result-object v0 002534: 6e20 a700 e000 |009e: invoke-virtual {v0, v14}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7 00253a: 0c00 |00a1: move-result-object v0 00253c: 6e10 aa00 0000 |00a2: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa 002542: 0c00 |00a5: move-result-object v0 002544: 5b90 0f00 |00a6: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 002548: 288e |00a8: goto 0036 // -0072 00254a: 12d0 |00a9: const/4 v0, #int -3 // #fd 00254c: 330b 3000 |00aa: if-ne v11, v0, 00da // +0030 002550: 2200 0500 |00ac: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0005 002554: 5491 1300 |00ae: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013 002558: 7020 0900 1000 |00b0: invoke-direct {v0, v1}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0009 00255e: 1a01 7f00 |00b3: const-string v1, "Start a new game?" // string@007f 002562: 6e20 0c00 1000 |00b5: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c 002568: 0c00 |00b8: move-result-object v0 00256a: 1201 |00b9: const/4 v1, #int 0 // #0 00256c: 6e20 0a00 1000 |00ba: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@000a 002572: 0c00 |00bd: move-result-object v0 002574: 1a01 9e00 |00be: const-string v1, "Yes" // string@009e 002578: 2202 2100 |00c0: new-instance v2, Lcom/google/android/checkers/b; // type@0021 00257c: 7020 8f00 9200 |00c2: invoke-direct {v2, v9}, Lcom/google/android/checkers/b;.:(Lcom/google/android/checkers/CheckersView;)V // method@008f 002582: 6e30 0e00 1002 |00c5: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000e 002588: 0c00 |00c8: move-result-object v0 00258a: 1a01 7500 |00c9: const-string v1, "No" // string@0075 00258e: 2202 2200 |00cb: new-instance v2, Lcom/google/android/checkers/c; // type@0022 002592: 7020 9100 9200 |00cd: invoke-direct {v2, v9}, Lcom/google/android/checkers/c;.:(Lcom/google/android/checkers/CheckersView;)V // method@0091 002598: 6e30 0d00 1002 |00d0: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d 00259e: 0c00 |00d3: move-result-object v0 0025a0: 6e10 1000 0000 |00d4: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@0010 0025a6: 0160 |00d7: move v0, v6 0025a8: 2900 5fff |00d8: goto/16 0037 // -00a1 0025ac: 331b 5b00 |00da: if-ne v11, v1, 0135 // +005b 0025b0: 5290 2300 |00dc: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 0025b4: 3230 0700 |00de: if-eq v0, v3, 00e5 // +0007 0025b8: 5290 2300 |00e0: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 0025bc: 1241 |00e2: const/4 v1, #int 4 // #4 0025be: 3310 1100 |00e3: if-ne v0, v1, 00f4 // +0011 0025c2: 1210 |00e5: const/4 v0, #int 1 // #1 0025c4: 5990 1200 |00e6: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012 0025c8: 5490 2200 |00e8: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 0025cc: 1211 |00ea: const/4 v1, #int 1 // #1 0025ce: 5901 4100 |00eb: iput v1, v0, Lcom/google/android/checkers/a;.h:I // field@0041 0025d2: 1a00 3201 |00ed: const-string v0, "stopping...." // string@0132 0025d6: 5b90 0f00 |00ef: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 0025da: 0160 |00f1: move v0, v6 0025dc: 2900 45ff |00f2: goto/16 0037 // -00bb 0025e0: 1200 |00f4: const/4 v0, #int 0 // #0 0025e2: 5990 1200 |00f5: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012 0025e6: 5490 2200 |00f7: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 0025ea: 6e10 7b00 0000 |00f9: invoke-virtual {v0}, Lcom/google/android/checkers/a;.a:()V // method@007b 0025f0: 1210 |00fc: const/4 v0, #int 1 // #1 0025f2: 5990 2300 |00fd: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 0025f6: 5490 2200 |00ff: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 0025fa: 5200 3d00 |0101: iget v0, v0, Lcom/google/android/checkers/a;.d:I // field@003d 0025fe: 5990 2400 |0103: iput v0, v9, Lcom/google/android/checkers/CheckersView;.r:I // field@0024 002602: 5490 2200 |0105: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002606: 5200 3f00 |0107: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f 00260a: 5990 2500 |0109: iput v0, v9, Lcom/google/android/checkers/CheckersView;.s:I // field@0025 00260e: 5490 2200 |010b: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002612: 5200 3e00 |010d: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e 002616: 5990 2600 |010f: iput v0, v9, Lcom/google/android/checkers/CheckersView;.t:I // field@0026 00261a: 5490 2200 |0111: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 00261e: 5200 4000 |0113: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040 002622: 5990 2700 |0115: iput v0, v9, Lcom/google/android/checkers/CheckersView;.u:I // field@0027 002626: 1200 |0117: const/4 v0, #int 0 // #0 002628: 5990 2800 |0118: iput v0, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 00262c: 1200 |011a: const/4 v0, #int 0 // #0 00262e: 5990 2900 |011b: iput v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029 002632: 1200 |011d: const/4 v0, #int 0 // #0 002634: 5990 2a00 |011e: iput v0, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a 002638: 1200 |0120: const/4 v0, #int 0 // #0 00263a: 5c90 2b00 |0121: iput-boolean v0, v9, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b 00263e: 1200 |0123: const/4 v0, #int 0 // #0 002640: 5990 0c00 |0124: iput v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 002644: 1200 |0126: const/4 v0, #int 0 // #0 002646: 5990 0d00 |0127: iput v0, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d 00264a: 5490 2200 |0129: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 00264e: 5200 3c00 |012b: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c 002652: 5990 0e00 |012d: iput v0, v9, Lcom/google/android/checkers/CheckersView;.M:I // field@000e 002656: 1200 |012f: const/4 v0, #int 0 // #0 002658: 5b90 0f00 |0130: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 00265c: 0160 |0132: move v0, v6 00265e: 2900 04ff |0133: goto/16 0037 // -00fc 002662: 12e0 |0135: const/4 v0, #int -2 // #fe 002664: 330b b100 |0136: if-ne v11, v0, 01e7 // +00b1 002668: 1200 |0138: const/4 v0, #int 0 // #0 00266a: 5990 2800 |0139: iput v0, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 00266e: 1200 |013b: const/4 v0, #int 0 // #0 002670: 5990 2900 |013c: iput v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029 002674: 1200 |013e: const/4 v0, #int 0 // #0 002676: 5990 2a00 |013f: iput v0, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a 00267a: 5290 2300 |0141: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 00267e: 3230 0700 |0143: if-eq v0, v3, 014a // +0007 002682: 5290 2300 |0145: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002686: 1241 |0147: const/4 v1, #int 4 // #4 002688: 3310 1100 |0148: if-ne v0, v1, 0159 // +0011 00268c: 1220 |014a: const/4 v0, #int 2 // #2 00268e: 5990 1200 |014b: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012 002692: 5490 2200 |014d: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002696: 1211 |014f: const/4 v1, #int 1 // #1 002698: 5901 4100 |0150: iput v1, v0, Lcom/google/android/checkers/a;.h:I // field@0041 00269c: 1a00 3201 |0152: const-string v0, "stopping...." // string@0132 0026a0: 5b90 0f00 |0154: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 0026a4: 0160 |0156: move v0, v6 0026a6: 2900 e0fe |0157: goto/16 0037 // -0120 0026aa: 1200 |0159: const/4 v0, #int 0 // #0 0026ac: 5990 1200 |015a: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012 0026b0: 5290 2300 |015c: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 0026b4: 3260 7600 |015e: if-eq v0, v6, 01d4 // +0076 0026b8: 5290 2300 |0160: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 0026bc: 1251 |0162: const/4 v1, #int 5 // #5 0026be: 3210 7100 |0163: if-eq v0, v1, 01d4 // +0071 0026c2: 0175 |0165: move v5, v7 0026c4: 5290 0d00 |0166: iget v0, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d 0026c8: 3d00 7200 |0168: if-lez v0, 01da // +0072 0026cc: 5290 0d00 |016a: iget v0, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d 0026d0: d800 00ff |016c: add-int/lit8 v0, v0, #int -1 // #ff 0026d4: 5990 0d00 |016e: iput v0, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d 0026d8: 5290 0c00 |0170: iget v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 0026dc: 3d00 6400 |0172: if-lez v0, 01d6 // +0064 0026e0: 5290 0c00 |0174: iget v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 0026e4: d800 00ff |0176: add-int/lit8 v0, v0, #int -1 // #ff 0026e8: 5990 0c00 |0178: iput v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 0026ec: 5294 0c00 |017a: iget v4, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 0026f0: 5490 2200 |017c: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 0026f4: 5491 0800 |017e: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008 0026f8: 4401 0104 |0180: aget v1, v1, v4 0026fc: 5492 0900 |0182: iget-object v2, v9, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009 002700: 4402 0204 |0184: aget v2, v2, v4 002704: 5493 0a00 |0186: iget-object v3, v9, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a 002708: 4403 0304 |0188: aget v3, v3, v4 00270c: 5498 0b00 |018a: iget-object v8, v9, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b 002710: 4404 0804 |018c: aget v4, v8, v4 002714: 7406 8000 0000 |018e: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIIZ)V // method@0080 00271a: 0160 |0191: move v0, v6 00271c: 3800 4e00 |0192: if-eqz v0, 01e0 // +004e 002720: 3805 4800 |0194: if-eqz v5, 01dc // +0048 002724: 1230 |0196: const/4 v0, #int 3 // #3 002726: 5990 2300 |0197: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 00272a: 5490 2200 |0199: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 00272e: 5200 3d00 |019b: iget v0, v0, Lcom/google/android/checkers/a;.d:I // field@003d 002732: 5990 2400 |019d: iput v0, v9, Lcom/google/android/checkers/CheckersView;.r:I // field@0024 002736: 5490 2200 |019f: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 00273a: 5200 3f00 |01a1: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f 00273e: 5990 2500 |01a3: iput v0, v9, Lcom/google/android/checkers/CheckersView;.s:I // field@0025 002742: 5490 2200 |01a5: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002746: 5200 3e00 |01a7: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e 00274a: 5990 2600 |01a9: iput v0, v9, Lcom/google/android/checkers/CheckersView;.t:I // field@0026 00274e: 5490 2200 |01ab: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002752: 5200 4000 |01ad: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040 002756: 5990 2700 |01af: iput v0, v9, Lcom/google/android/checkers/CheckersView;.u:I // field@0027 00275a: 1200 |01b1: const/4 v0, #int 0 // #0 00275c: 5990 2800 |01b2: iput v0, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 002760: 1200 |01b4: const/4 v0, #int 0 // #0 002762: 5990 2900 |01b5: iput v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029 002766: 1200 |01b7: const/4 v0, #int 0 // #0 002768: 5990 2a00 |01b8: iput v0, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a 00276c: 5490 2200 |01ba: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002770: 5591 0300 |01bc: iget-boolean v1, v9, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 002774: 6e30 7a00 5001 |01be: invoke-virtual {v0, v5, v1}, Lcom/google/android/checkers/a;.a:(ZZ)I // method@007a 00277a: 0a00 |01c1: move-result v0 00277c: 3360 0300 |01c2: if-ne v0, v6, 01c5 // +0003 002780: 0167 |01c4: move v7, v6 002782: 5c97 2b00 |01c5: iput-boolean v7, v9, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b 002786: 5490 2200 |01c7: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 00278a: 5200 3c00 |01c9: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c 00278e: 5990 0e00 |01cb: iput v0, v9, Lcom/google/android/checkers/CheckersView;.M:I // field@000e 002792: 1a00 3701 |01cd: const-string v0, "undid half-move" // string@0137 002796: 5b90 0f00 |01cf: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 00279a: 0160 |01d1: move v0, v6 00279c: 2900 65fe |01d2: goto/16 0037 // -019b 0027a0: 0165 |01d4: move v5, v6 0027a2: 2891 |01d5: goto 0166 // -006f 0027a4: 1270 |01d6: const/4 v0, #int 7 // #7 0027a6: 5990 0c00 |01d7: iput v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 0027aa: 28a1 |01d9: goto 017a // -005f 0027ac: 0170 |01da: move v0, v7 0027ae: 28b7 |01db: goto 0192 // -0049 0027b0: 1210 |01dc: const/4 v0, #int 1 // #1 0027b2: 5990 2300 |01dd: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 0027b6: 28ba |01df: goto 0199 // -0046 0027b8: 1a00 f900 |01e0: const-string v0, "no more undo" // string@00f9 0027bc: 5b90 0f00 |01e2: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 0027c0: 0160 |01e4: move v0, v6 0027c2: 2900 52fe |01e5: goto/16 0037 // -01ae 0027c6: 12c0 |01e7: const/4 v0, #int -4 // #fc 0027c8: 330b 4c00 |01e8: if-ne v11, v0, 0234 // +004c 0027cc: 5290 2300 |01ea: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 0027d0: 3360 2300 |01ec: if-ne v0, v6, 020f // +0023 0027d4: 1220 |01ee: const/4 v0, #int 2 // #2 0027d6: 5990 2300 |01ef: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 0027da: 5490 2200 |01f1: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 0027de: 1201 |01f3: const/4 v1, #int 0 // #0 0027e0: 5592 0300 |01f4: iget-boolean v2, v9, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 0027e4: 6e30 8700 1002 |01f6: invoke-virtual {v0, v1, v2}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087 0027ea: 5491 1300 |01f9: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013 0027ee: 5590 0400 |01fb: iget-boolean v0, v9, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004 0027f2: 3800 0f00 |01fd: if-eqz v0, 020c // +000f 0027f6: 1a00 bf00 |01ff: const-string v0, "computer now plays black" // string@00bf 0027fa: 1202 |0201: const/4 v2, #int 0 // #0 0027fc: 7130 3c00 0102 |0202: invoke-static {v1, v0, v2}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@003c 002802: 0c00 |0205: move-result-object v0 002804: 6e10 3d00 0000 |0206: invoke-virtual {v0}, Landroid/widget/Toast;.show:()V // method@003d 00280a: 0160 |0209: move v0, v6 00280c: 2900 2dfe |020a: goto/16 0037 // -01d3 002810: 1a00 c000 |020c: const-string v0, "computer now plays black goto options to rotate board" // string@00c0 002814: 28f3 |020e: goto 0201 // -000d 002816: 5290 2300 |020f: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 00281a: 3320 6f00 |0211: if-ne v0, v2, 0280 // +006f 00281e: 1240 |0213: const/4 v0, #int 4 // #4 002820: 5990 2300 |0214: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002824: 5490 2200 |0216: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002828: 1211 |0218: const/4 v1, #int 1 // #1 00282a: 5592 0300 |0219: iget-boolean v2, v9, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 00282e: 6e30 8700 1002 |021b: invoke-virtual {v0, v1, v2}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087 002834: 5491 1300 |021e: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013 002838: 5590 0400 |0220: iget-boolean v0, v9, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004 00283c: 3800 0f00 |0222: if-eqz v0, 0231 // +000f 002840: 1a00 c200 |0224: const-string v0, "computer now plays white goto options to rotate board" // string@00c2 002844: 1202 |0226: const/4 v2, #int 0 // #0 002846: 7130 3c00 0102 |0227: invoke-static {v1, v0, v2}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@003c 00284c: 0c00 |022a: move-result-object v0 00284e: 6e10 3d00 0000 |022b: invoke-virtual {v0}, Landroid/widget/Toast;.show:()V // method@003d 002854: 0160 |022e: move v0, v6 002856: 2900 08fe |022f: goto/16 0037 // -01f8 00285a: 1a00 c100 |0231: const-string v0, "computer now plays white" // string@00c1 00285e: 28f3 |0233: goto 0226 // -000d 002860: 336b 4c00 |0234: if-ne v11, v6, 0280 // +004c 002864: 5290 2300 |0236: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002868: 3260 0600 |0238: if-eq v0, v6, 023e // +0006 00286c: 5290 2300 |023a: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002870: 3320 4400 |023c: if-ne v0, v2, 0280 // +0044 002874: 1200 |023e: const/4 v0, #int 0 // #0 002876: 5990 2900 |023f: iput v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029 00287a: 1200 |0241: const/4 v0, #int 0 // #0 00287c: 5990 2a00 |0242: iput v0, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a 002880: 5490 2200 |0244: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002884: 5204 3c00 |0246: iget v4, v0, Lcom/google/android/checkers/a;.c:I // field@003c 002888: 5490 2200 |0248: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 00288c: 5405 3b00 |024a: iget-object v5, v0, Lcom/google/android/checkers/a;.b:[I // field@003b 002890: 0172 |024c: move v2, v7 002892: 0170 |024d: move v0, v7 002894: 0173 |024e: move v3, v7 002896: 3442 0a00 |024f: if-lt v2, v4, 0259 // +000a 00289a: 3363 2500 |0251: if-ne v3, v6, 0276 // +0025 00289e: 7020 6200 1900 |0253: invoke-direct {v9, v1}, Lcom/google/android/checkers/CheckersView;.c:(I)V // method@0062 0028a4: 0160 |0256: move v0, v6 0028a6: 2900 e0fd |0257: goto/16 0037 // -0220 0028aa: 5297 2800 |0259: iget v7, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 0028ae: 4408 0502 |025b: aget v8, v5, v2 0028b2: b587 |025d: and-int/2addr v7, v8 0028b4: 5298 2800 |025e: iget v8, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 0028b8: 3387 1300 |0260: if-ne v7, v8, 0273 // +0013 0028bc: 4401 0502 |0262: aget v1, v5, v2 0028c0: 3201 1f00 |0264: if-eq v1, v0, 0283 // +001f 0028c4: d801 0301 |0266: add-int/lit8 v1, v3, #int 1 // #01 0028c8: 4400 0502 |0268: aget v0, v5, v2 0028cc: 5293 2900 |026a: iget v3, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029 0028d0: 4407 0502 |026c: aget v7, v5, v2 0028d4: b673 |026e: or-int/2addr v3, v7 0028d6: 5993 2900 |026f: iput v3, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029 0028da: 0113 |0271: move v3, v1 0028dc: 0121 |0272: move v1, v2 0028de: d802 0201 |0273: add-int/lit8 v2, v2, #int 1 // #01 0028e2: 28da |0275: goto 024f // -0026 0028e4: 5290 2900 |0276: iget v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029 0028e8: 3900 0500 |0278: if-nez v0, 027d // +0005 0028ec: 1200 |027a: const/4 v0, #int 0 // #0 0028ee: 5990 2800 |027b: iput v0, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 0028f2: 0160 |027d: move v0, v6 0028f4: 2900 b9fd |027e: goto/16 0037 // -0247 0028f8: 0170 |0280: move v0, v7 0028fa: 2900 b6fd |0281: goto/16 0037 // -024a 0028fe: 0131 |0283: move v1, v3 002900: 28e4 |0284: goto 0268 // -001c catches : 3 0x0008 - 0x0036 -> 0x0044 0x003f - 0x0043 -> 0x0044 0x004a - 0x027d -> 0x0044 positions : locals : #9 : (in Lcom/google/android/checkers/CheckersView;) name : 'b' type : '(FF)I' access : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED) method_idx : 92 code - registers : 13 ins : 3 outs : 1 insns size : 102 16-bit code units 002920: |[002920] com.google.android.checkers.CheckersView.b:(FF)I 002930: 1309 0800 |0000: const/16 v9, #int 8 // #8 002934: 1201 |0002: const/4 v1, #int 0 // #0 002936: 1210 |0003: const/4 v0, #int 1 // #1 002938: 1d0a |0004: monitor-enter v10 00293a: 6e10 6a00 0a00 |0005: invoke-virtual {v10}, Lcom/google/android/checkers/CheckersView;.getWidth:()I // method@006a 002940: 0a02 |0008: move-result v2 002942: 6e10 6900 0a00 |0009: invoke-virtual {v10}, Lcom/google/android/checkers/CheckersView;.getHeight:()I // method@0069 002948: 0a03 |000c: move-result v3 00294a: 3532 1400 |000d: if-ge v2, v3, 0021 // +0014 00294e: e207 0203 |000f: ushr-int/lit8 v7, v2, #int 3 // #03 002952: 52a2 2300 |0011: iget v2, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002956: 3202 0700 |0013: if-eq v2, v0, 001a // +0007 00295a: 52a2 2300 |0015: iget v2, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 00295e: 1233 |0017: const/4 v3, #int 3 // #3 002960: 3332 0600 |0018: if-ne v2, v3, 001e // +0006 002964: 0116 |001a: move v6, v1 002966: 0103 |001b: move v3, v0 002968: 3496 0700 |001c: if-lt v6, v9, 0023 // +0007 00296c: 0110 |001e: move v0, v1 00296e: 1e0a |001f: monitor-exit v10 002970: 0f00 |0020: return v0 002972: 0132 |0021: move v2, v3 002974: 28ed |0022: goto 000f // -0013 002976: d902 0601 |0023: rsub-int/lit8 v2, v6, #int 1 // #01 00297a: dd02 0201 |0025: and-int/lit8 v2, v2, #int 1 // #01 00297e: 0124 |0027: move v4, v2 002980: 0135 |0028: move v5, v3 002982: 3494 0700 |0029: if-lt v4, v9, 0030 // +0007 002986: d802 0601 |002b: add-int/lit8 v2, v6, #int 1 // #01 00298a: 0126 |002d: move v6, v2 00298c: 0153 |002e: move v3, v5 00298e: 28ed |002f: goto 001c // -0013 002990: 55a2 0400 |0030: iget-boolean v2, v10, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004 002994: 3802 2800 |0032: if-eqz v2, 005a // +0028 002998: d902 0407 |0034: rsub-int/lit8 v2, v4, #int 7 // #07 00299c: 9203 0702 |0036: mul-int v3, v7, v2 0029a0: d902 0607 |0038: rsub-int/lit8 v2, v6, #int 7 // #07 0029a4: b272 |003a: mul-int/2addr v2, v7 0029a6: 8238 |003b: int-to-float v8, v3 0029a8: 2e08 080b |003c: cmpg-float v8, v8, v11 0029ac: 3c08 2100 |003e: if-gtz v8, 005f // +0021 0029b0: b073 |0040: add-int/2addr v3, v7 0029b2: 8233 |0041: int-to-float v3, v3 0029b4: 2e03 0b03 |0042: cmpg-float v3, v11, v3 0029b8: 3b03 1b00 |0044: if-gez v3, 005f // +001b 0029bc: 8223 |0046: int-to-float v3, v2 0029be: 2e03 030c |0047: cmpg-float v3, v3, v12 0029c2: 3c03 1600 |0049: if-gtz v3, 005f // +0016 0029c6: b072 |004b: add-int/2addr v2, v7 0029c8: 8222 |004c: int-to-float v2, v2 0029ca: 2e02 0c02 |004d: cmpg-float v2, v12, v2 0029ce: 3b02 1000 |004f: if-gez v2, 005f // +0010 0029d2: 52a1 2800 |0051: iget v1, v10, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 0029d6: b651 |0053: or-int/2addr v1, v5 0029d8: 59a1 2800 |0054: iput v1, v10, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 0029dc: 28c9 |0056: goto 001f // -0037 0029de: 0d00 |0057: move-exception v0 0029e0: 1e0a |0058: monitor-exit v10 0029e2: 2700 |0059: throw v0 0029e4: 9203 0704 |005a: mul-int v3, v7, v4 0029e8: 9202 0706 |005c: mul-int v2, v7, v6 0029ec: 28dd |005e: goto 003b // -0023 0029ee: e003 0501 |005f: shl-int/lit8 v3, v5, #int 1 // #01 0029f2: d802 0402 |0061: add-int/lit8 v2, v4, #int 2 // #02 0029f6: 0124 |0063: move v4, v2 0029f8: 0135 |0064: move v5, v3 0029fa: 28c4 |0065: goto 0029 // -003c catches : 2 0x0005 - 0x0017 -> 0x0057 0x0030 - 0x0056 -> 0x0057 positions : locals : #10 : (in Lcom/google/android/checkers/CheckersView;) name : 'b' type : '(I)V' access : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED) method_idx : 94 code - registers : 3 ins : 2 outs : 1 insns size : 18 16-bit code units 002a10: |[002a10] com.google.android.checkers.CheckersView.b:(I)V 002a20: 1d01 |0000: monitor-enter v1 002a22: 5210 0700 |0001: iget v0, v1, Lcom/google/android/checkers/CheckersView;.F:I // field@0007 002a26: 3220 0a00 |0003: if-eq v0, v2, 000d // +000a 002a2a: 5912 0700 |0005: iput v2, v1, Lcom/google/android/checkers/CheckersView;.F:I // field@0007 002a2e: 7010 6400 0100 |0007: invoke-direct {v1}, Lcom/google/android/checkers/CheckersView;.d:()V // method@0064 002a34: 6e10 6d00 0100 |000a: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d 002a3a: 1e01 |000d: monitor-exit v1 002a3c: 0e00 |000e: return-void 002a3e: 0d00 |000f: move-exception v0 002a40: 1e01 |0010: monitor-exit v1 002a42: 2700 |0011: throw v0 catches : 1 0x0001 - 0x000d -> 0x000f positions : locals : #11 : (in Lcom/google/android/checkers/CheckersView;) name : 'b' type : '(Landroid/graphics/Canvas;IIII)V' access : 0x0012 (PRIVATE FINAL) method_idx : 95 code - registers : 16 ins : 6 outs : 6 insns size : 99 16-bit code units 002a50: |[002a50] com.google.android.checkers.CheckersView.b:(Landroid/graphics/Canvas;IIII)V 002a60: df00 0cff |0000: xor-int/lit8 v0, v12, #int -1 // #ff 002a64: b5d0 |0002: and-int/2addr v0, v13 002a66: 3900 5e00 |0003: if-nez v0, 0061 // +005e 002a6a: 7110 9f00 0c00 |0005: invoke-static {v12}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 002a70: 0a02 |0008: move-result v2 002a72: d800 0cff |0009: add-int/lit8 v0, v12, #int -1 // #ff 002a76: b5c0 |000b: and-int/2addr v0, v12 002a78: 7110 9f00 0000 |000c: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 002a7e: 0a03 |000f: move-result v3 002a80: 07a0 |0010: move-object v0, v10 002a82: 07b1 |0011: move-object v1, v11 002a84: 01e4 |0012: move v4, v14 002a86: 01f5 |0013: move v5, v15 002a88: 7606 5400 0000 |0014: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIII)V // method@0054 002a8e: 0e00 |0017: return-void 002a90: 7110 9f00 0800 |0018: invoke-static {v8}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 002a96: 0a03 |001b: move-result v3 002a98: e200 0302 |001c: ushr-int/lit8 v0, v3, #int 2 // #02 002a9c: dd00 0001 |001e: and-int/lit8 v0, v0, #int 1 // #01 002aa0: 3800 3600 |0020: if-eqz v0, 0056 // +0036 002aa4: d802 03fb |0022: add-int/lit8 v2, v3, #int -5 // #fb 002aa8: d801 03fc |0024: add-int/lit8 v1, v3, #int -4 // #fc 002aac: d800 0303 |0026: add-int/lit8 v0, v3, #int 3 // #03 002ab0: d803 0304 |0028: add-int/lit8 v3, v3, #int 4 // #04 002ab4: 0106 |002a: move v6, v0 002ab6: 0117 |002b: move v7, v1 002ab8: 1210 |002c: const/4 v0, #int 1 // #1 002aba: b820 |002d: shl-int/2addr v0, v2 002abc: 1211 |002e: const/4 v1, #int 1 // #1 002abe: b831 |002f: shl-int/2addr v1, v3 002ac0: b610 |0030: or-int/2addr v0, v1 002ac2: 1211 |0031: const/4 v1, #int 1 // #1 002ac4: b871 |0032: shl-int/2addr v1, v7 002ac6: 1214 |0033: const/4 v4, #int 1 // #1 002ac8: b864 |0034: shl-int/2addr v4, v6 002aca: 9609 0104 |0035: or-int v9, v1, v4 002ace: 9501 000c |0037: and-int v1, v0, v12 002ad2: 3301 0900 |0039: if-ne v1, v0, 0042 // +0009 002ad6: 07a0 |003b: move-object v0, v10 002ad8: 07b1 |003c: move-object v1, v11 002ada: 01e4 |003d: move v4, v14 002adc: 01f5 |003e: move v5, v15 002ade: 7606 5400 0000 |003f: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIII)V // method@0054 002ae4: 9500 090c |0042: and-int v0, v9, v12 002ae8: 3390 0b00 |0044: if-ne v0, v9, 004f // +000b 002aec: 07a0 |0046: move-object v0, v10 002aee: 07b1 |0047: move-object v1, v11 002af0: 0172 |0048: move v2, v7 002af2: 0163 |0049: move v3, v6 002af4: 01e4 |004a: move v4, v14 002af6: 01f5 |004b: move v5, v15 002af8: 7606 5400 0000 |004c: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIII)V // method@0054 002afe: d800 08ff |004f: add-int/lit8 v0, v8, #int -1 // #ff 002b02: b580 |0051: and-int/2addr v0, v8 002b04: 0108 |0052: move v8, v0 002b06: 3908 c5ff |0053: if-nez v8, 0018 // -003b 002b0a: 28c2 |0055: goto 0017 // -003e 002b0c: d802 03fc |0056: add-int/lit8 v2, v3, #int -4 // #fc 002b10: d801 03fd |0058: add-int/lit8 v1, v3, #int -3 // #fd 002b14: d800 0304 |005a: add-int/lit8 v0, v3, #int 4 // #04 002b18: d803 0305 |005c: add-int/lit8 v3, v3, #int 5 // #05 002b1c: 0106 |005e: move v6, v0 002b1e: 0117 |005f: move v7, v1 002b20: 28cc |0060: goto 002c // -0034 002b22: 0108 |0061: move v8, v0 002b24: 28f1 |0062: goto 0053 // -000f catches : (none) positions : locals : #12 : (in Lcom/google/android/checkers/CheckersView;) name : 'c' type : '(I)V' access : 0x0012 (PRIVATE FINAL) method_idx : 98 code - registers : 10 ins : 2 outs : 3 insns size : 262 16-bit code units 002b28: |[002b28] com.google.android.checkers.CheckersView.c:(I)V 002b38: 1237 |0000: const/4 v7, #int 3 // #3 002b3a: 1226 |0001: const/4 v6, #int 2 // #2 002b3c: 1212 |0002: const/4 v2, #int 1 // #1 002b3e: 1201 |0003: const/4 v1, #int 0 // #0 002b40: 5280 0c00 |0004: iget v0, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 002b44: 5483 0800 |0006: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008 002b48: 5484 2200 |0008: iget-object v4, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002b4c: 5244 3d00 |000a: iget v4, v4, Lcom/google/android/checkers/a;.d:I // field@003d 002b50: 4b04 0300 |000c: aput v4, v3, v0 002b54: 5483 0900 |000e: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009 002b58: 5484 2200 |0010: iget-object v4, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002b5c: 5244 3e00 |0012: iget v4, v4, Lcom/google/android/checkers/a;.e:I // field@003e 002b60: 4b04 0300 |0014: aput v4, v3, v0 002b64: 5483 0a00 |0016: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a 002b68: 5484 2200 |0018: iget-object v4, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002b6c: 5244 3f00 |001a: iget v4, v4, Lcom/google/android/checkers/a;.f:I // field@003f 002b70: 4b04 0300 |001c: aput v4, v3, v0 002b74: 5483 0b00 |001e: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b 002b78: 5484 2200 |0020: iget-object v4, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002b7c: 5244 4000 |0022: iget v4, v4, Lcom/google/android/checkers/a;.g:I // field@0040 002b80: 4b04 0300 |0024: aput v4, v3, v0 002b84: 5280 0c00 |0026: iget v0, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 002b88: 1273 |0028: const/4 v3, #int 7 // #7 002b8a: 3530 6e00 |0029: if-ge v0, v3, 0097 // +006e 002b8e: 5280 0c00 |002b: iget v0, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 002b92: d800 0001 |002d: add-int/lit8 v0, v0, #int 1 // #01 002b96: 5980 0c00 |002f: iput v0, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 002b9a: 5280 0d00 |0031: iget v0, v8, Lcom/google/android/checkers/CheckersView;.L:I // field@000d 002b9e: 1303 0800 |0033: const/16 v3, #int 8 // #8 002ba2: 3530 0800 |0035: if-ge v0, v3, 003d // +0008 002ba6: 5280 0d00 |0037: iget v0, v8, Lcom/google/android/checkers/CheckersView;.L:I // field@000d 002baa: d800 0001 |0039: add-int/lit8 v0, v0, #int 1 // #01 002bae: 5980 0d00 |003b: iput v0, v8, Lcom/google/android/checkers/CheckersView;.L:I // field@000d 002bb2: 5280 2300 |003d: iget v0, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002bb6: 3220 5b00 |003f: if-eq v0, v2, 009a // +005b 002bba: 5280 2300 |0041: iget v0, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002bbe: 3260 5700 |0043: if-eq v0, v6, 009a // +0057 002bc2: 0110 |0045: move v0, v1 002bc4: 5981 2800 |0046: iput v1, v8, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 002bc8: 5981 2900 |0048: iput v1, v8, Lcom/google/android/checkers/CheckersView;.w:I // field@0029 002bcc: 5483 2200 |004a: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002bd0: 5433 3b00 |004c: iget-object v3, v3, Lcom/google/android/checkers/a;.b:[I // field@003b 002bd4: 4403 0309 |004e: aget v3, v3, v9 002bd8: 5983 2a00 |0050: iput v3, v8, Lcom/google/android/checkers/CheckersView;.x:I // field@002a 002bdc: 1403 6666 663f |0052: const v3, #float 0.9 // #3f666666 002be2: 5983 1e00 |0055: iput v3, v8, Lcom/google/android/checkers/CheckersView;.l:F // field@001e 002be6: 3800 4500 |0057: if-eqz v0, 009c // +0045 002bea: 5483 2200 |0059: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002bee: 5433 3a00 |005b: iget-object v3, v3, Lcom/google/android/checkers/a;.a:[I // field@003a 002bf2: 4403 0309 |005d: aget v3, v3, v9 002bf6: 5284 2400 |005f: iget v4, v8, Lcom/google/android/checkers/CheckersView;.r:I // field@0024 002bfa: 5285 2600 |0061: iget v5, v8, Lcom/google/android/checkers/CheckersView;.t:I // field@0026 002bfe: b654 |0063: or-int/2addr v4, v5 002c00: b543 |0064: and-int/2addr v3, v4 002c02: 5983 1f00 |0065: iput v3, v8, Lcom/google/android/checkers/CheckersView;.m:I // field@001f 002c06: 5981 2000 |0067: iput v1, v8, Lcom/google/android/checkers/CheckersView;.n:I // field@0020 002c0a: 5483 2200 |0069: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002c0e: 6e20 7c00 9300 |006b: invoke-virtual {v3, v9}, Lcom/google/android/checkers/a;.a:(I)V // method@007c 002c14: 5483 2200 |006e: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002c18: 5233 3d00 |0070: iget v3, v3, Lcom/google/android/checkers/a;.d:I // field@003d 002c1c: 5983 2400 |0072: iput v3, v8, Lcom/google/android/checkers/CheckersView;.r:I // field@0024 002c20: 5483 2200 |0074: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002c24: 5233 3f00 |0076: iget v3, v3, Lcom/google/android/checkers/a;.f:I // field@003f 002c28: 5983 2500 |0078: iput v3, v8, Lcom/google/android/checkers/CheckersView;.s:I // field@0025 002c2c: 5483 2200 |007a: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002c30: 5233 3e00 |007c: iget v3, v3, Lcom/google/android/checkers/a;.e:I // field@003e 002c34: 5983 2600 |007e: iput v3, v8, Lcom/google/android/checkers/CheckersView;.t:I // field@0026 002c38: 5483 2200 |0080: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002c3c: 5233 4000 |0082: iget v3, v3, Lcom/google/android/checkers/a;.g:I // field@0040 002c40: 5983 2700 |0084: iput v3, v8, Lcom/google/android/checkers/CheckersView;.u:I // field@0027 002c44: 5c81 2b00 |0086: iput-boolean v1, v8, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b 002c48: 1203 |0088: const/4 v3, #int 0 // #0 002c4a: 5b83 0f00 |0089: iput-object v3, v8, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 002c4e: 5483 2200 |008b: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002c52: 5584 0300 |008d: iget-boolean v4, v8, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 002c56: 6e30 7a00 0304 |008f: invoke-virtual {v3, v0, v4}, Lcom/google/android/checkers/a;.a:(ZZ)I // method@007a 002c5c: 0a03 |0092: move-result v3 002c5e: 2b03 6900 0000 |0093: packed-switch v3, 000000fc // +00000069 002c64: 0e00 |0096: return-void 002c66: 5981 0c00 |0097: iput v1, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 002c6a: 2898 |0099: goto 0031 // -0068 002c6c: 0120 |009a: move v0, v2 002c6e: 28ab |009b: goto 0046 // -0055 002c70: 5981 1f00 |009c: iput v1, v8, Lcom/google/android/checkers/CheckersView;.m:I // field@001f 002c74: 5483 2200 |009e: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002c78: 5433 3a00 |00a0: iget-object v3, v3, Lcom/google/android/checkers/a;.a:[I // field@003a 002c7c: 4403 0309 |00a2: aget v3, v3, v9 002c80: 5284 2500 |00a4: iget v4, v8, Lcom/google/android/checkers/CheckersView;.s:I // field@0025 002c84: 5285 2700 |00a6: iget v5, v8, Lcom/google/android/checkers/CheckersView;.u:I // field@0027 002c88: b654 |00a8: or-int/2addr v4, v5 002c8a: b543 |00a9: and-int/2addr v3, v4 002c8c: 5983 2000 |00aa: iput v3, v8, Lcom/google/android/checkers/CheckersView;.n:I // field@0020 002c90: 28bd |00ac: goto 0069 // -0043 002c92: 3800 0800 |00ad: if-eqz v0, 00b5 // +0008 002c96: 1260 |00af: const/4 v0, #int 6 // #6 002c98: 5980 2300 |00b0: iput v0, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002c9c: 5981 0e00 |00b2: iput v1, v8, Lcom/google/android/checkers/CheckersView;.M:I // field@000e 002ca0: 28e2 |00b4: goto 0096 // -001e 002ca2: 1250 |00b5: const/4 v0, #int 5 // #5 002ca4: 28fa |00b6: goto 00b0 // -0006 002ca6: 5c82 2b00 |00b7: iput-boolean v2, v8, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b 002caa: 5481 2200 |00b9: iget-object v1, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002cae: 5211 3c00 |00bb: iget v1, v1, Lcom/google/android/checkers/a;.c:I // field@003c 002cb2: 5981 0e00 |00bd: iput v1, v8, Lcom/google/android/checkers/CheckersView;.M:I // field@000e 002cb6: 5281 2300 |00bf: iget v1, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002cba: 3321 1800 |00c1: if-ne v1, v2, 00d9 // +0018 002cbe: 5281 2c00 |00c3: iget v1, v8, Lcom/google/android/checkers/CheckersView;.z:I // field@002c 002cc2: 3901 0900 |00c5: if-nez v1, 00ce // +0009 002cc6: 5987 2300 |00c7: iput v7, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002cca: 1a00 d200 |00c9: const-string v0, "free play" // string@00d2 002cce: 5b80 0f00 |00cb: iput-object v0, v8, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 002cd2: 28c9 |00cd: goto 0096 // -0037 002cd4: 1241 |00ce: const/4 v1, #int 4 // #4 002cd6: 5981 2300 |00cf: iput v1, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002cda: 5481 2200 |00d1: iget-object v1, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002cde: 5582 0300 |00d3: iget-boolean v2, v8, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 002ce2: 6e30 8700 0102 |00d5: invoke-virtual {v1, v0, v2}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087 002ce8: 28be |00d8: goto 0096 // -0042 002cea: 5281 2300 |00d9: iget v1, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002cee: 3371 1700 |00db: if-ne v1, v7, 00f2 // +0017 002cf2: 5281 2c00 |00dd: iget v1, v8, Lcom/google/android/checkers/CheckersView;.z:I // field@002c 002cf6: 3901 0900 |00df: if-nez v1, 00e8 // +0009 002cfa: 5982 2300 |00e1: iput v2, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002cfe: 1a00 d200 |00e3: const-string v0, "free play" // string@00d2 002d02: 5b80 0f00 |00e5: iput-object v0, v8, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 002d06: 28af |00e7: goto 0096 // -0051 002d08: 5986 2300 |00e8: iput v6, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002d0c: 5481 2200 |00ea: iget-object v1, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 002d10: 5582 0300 |00ec: iget-boolean v2, v8, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 002d14: 6e30 8700 0102 |00ee: invoke-virtual {v1, v0, v2}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087 002d1a: 28a5 |00f1: goto 0096 // -005b 002d1c: 5280 2300 |00f2: iget v0, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002d20: 3360 0500 |00f4: if-ne v0, v6, 00f9 // +0005 002d24: 5987 2300 |00f6: iput v7, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002d28: 289e |00f8: goto 0096 // -0062 002d2a: 5982 2300 |00f9: iput v2, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 002d2e: 289b |00fb: goto 0096 // -0065 002d30: 0001 0300 0000 0000 1a00 0000 2400 ... |00fc: packed-switch-data (10 units) catches : (none) positions : locals : #13 : (in Lcom/google/android/checkers/CheckersView;) name : 'd' type : '()V' access : 0x0012 (PRIVATE FINAL) method_idx : 100 code - registers : 6 ins : 1 outs : 5 insns size : 88 16-bit code units 002d44: |[002d44] com.google.android.checkers.CheckersView.d:()V 002d54: 1303 8b00 |0000: const/16 v3, #int 139 // #8b 002d58: 1301 cc00 |0002: const/16 v1, #int 204 // #cc 002d5c: 1304 ff00 |0004: const/16 v4, #int 255 // #ff 002d60: 5250 0700 |0006: iget v0, v5, Lcom/google/android/checkers/CheckersView;.F:I // field@0007 002d64: 2b00 4000 0000 |0008: packed-switch v0, 00000048 // +00000040 002d6a: 0e00 |000b: return-void 002d6c: 5450 1700 |000c: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017 002d70: 1301 6600 |000e: const/16 v1, #int 102 // #66 002d74: 1302 cd00 |0010: const/16 v2, #int 205 // #cd 002d78: 1303 aa00 |0012: const/16 v3, #int 170 // #aa 002d7c: 6e53 2200 4021 |0014: invoke-virtual {v0, v4, v1, v2, v3}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 002d82: 28f4 |0017: goto 000b // -000c 002d84: 5450 1700 |0018: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017 002d88: 1301 4500 |001a: const/16 v1, #int 69 // #45 002d8c: 1302 7400 |001c: const/16 v2, #int 116 // #74 002d90: 6e52 2200 4031 |001e: invoke-virtual {v0, v4, v1, v3, v2}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 002d96: 28ea |0021: goto 000b // -0016 002d98: 5450 1700 |0022: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017 002d9c: 1301 1e00 |0024: const/16 v1, #int 30 // #1e 002da0: 1302 9000 |0026: const/16 v2, #int 144 // #90 002da4: 6e54 2200 4021 |0028: invoke-virtual {v0, v4, v1, v2, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 002daa: 28e0 |002b: goto 000b // -0020 002dac: 5450 1700 |002c: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017 002db0: 1301 8e00 |002e: const/16 v1, #int 142 // #8e 002db4: 1302 6b00 |0030: const/16 v2, #int 107 // #6b 002db8: 1303 2300 |0032: const/16 v3, #int 35 // #23 002dbc: 6e53 2200 4021 |0034: invoke-virtual {v0, v4, v1, v2, v3}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 002dc2: 28d4 |0037: goto 000b // -002c 002dc4: 5450 1700 |0038: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017 002dc8: 1301 6c00 |003a: const/16 v1, #int 108 // #6c 002dcc: 1302 7b00 |003c: const/16 v2, #int 123 // #7b 002dd0: 6e53 2200 4021 |003e: invoke-virtual {v0, v4, v1, v2, v3}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 002dd6: 28ca |0041: goto 000b // -0036 002dd8: 5450 1700 |0042: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017 002ddc: 6e51 2200 4011 |0044: invoke-virtual {v0, v4, v1, v1, v1}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022 002de2: 28c4 |0047: goto 000b // -003c 002de4: 0001 0600 0100 0000 0400 0000 1000 ... |0048: packed-switch-data (16 units) catches : (none) positions : locals : #14 : (in Lcom/google/android/checkers/CheckersView;) name : 'e' type : '()Z' access : 0x0012 (PRIVATE FINAL) method_idx : 103 code - registers : 3 ins : 1 outs : 0 insns size : 10 16-bit code units 002e04: |[002e04] com.google.android.checkers.CheckersView.e:()Z 002e14: 5220 2500 |0000: iget v0, v2, Lcom/google/android/checkers/CheckersView;.s:I // field@0025 002e18: 1501 f0ff |0002: const/high16 v1, #int -1048576 // #fff0 002e1c: 3310 0400 |0004: if-ne v0, v1, 0008 // +0004 002e20: 1210 |0006: const/4 v0, #int 1 // #1 002e22: 0f00 |0007: return v0 002e24: 1200 |0008: const/4 v0, #int 0 // #0 002e26: 28fe |0009: goto 0007 // -0002 catches : (none) positions : locals : Virtual methods - #0 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '()V' access : 0x0011 (PUBLIC FINAL) method_idx : 78 code - registers : 4 ins : 1 outs : 3 insns size : 64 16-bit code units 002e28: |[002e28] com.google.android.checkers.CheckersView.a:()V 002e38: 1270 |0000: const/4 v0, #int 7 // #7 002e3a: 2300 3800 |0001: new-array v0, v0, [Ljava/lang/CharSequence; // type@0038 002e3e: 1201 |0003: const/4 v1, #int 0 // #0 002e40: 1a02 9d00 |0004: const-string v2, "Wood" // string@009d 002e44: 4d02 0001 |0006: aput-object v2, v0, v1 002e48: 1211 |0008: const/4 v1, #int 1 // #1 002e4a: 1a02 6000 |0009: const-string v2, "Light Aquamarine" // string@0060 002e4e: 4d02 0001 |000b: aput-object v2, v0, v1 002e52: 1221 |000d: const/4 v1, #int 2 // #2 002e54: 1a02 1400 |000e: const-string v2, "Dark Aquamarine" // string@0014 002e58: 4d02 0001 |0010: aput-object v2, v0, v1 002e5c: 1231 |0012: const/4 v1, #int 3 // #3 002e5e: 1a02 0c00 |0013: const-string v2, "Blue" // string@000c 002e62: 4d02 0001 |0015: aput-object v2, v0, v1 002e66: 1241 |0017: const/4 v1, #int 4 // #4 002e68: 1a02 0e00 |0018: const-string v2, "Brown" // string@000e 002e6c: 4d02 0001 |001a: aput-object v2, v0, v1 002e70: 1251 |001c: const/4 v1, #int 5 // #5 002e72: 1a02 1a00 |001d: const-string v2, "Grey" // string@001a 002e76: 4d02 0001 |001f: aput-object v2, v0, v1 002e7a: 1261 |0021: const/4 v1, #int 6 // #6 002e7c: 1a02 6100 |0022: const-string v2, "Light Grey" // string@0061 002e80: 4d02 0001 |0024: aput-object v2, v0, v1 002e84: 2201 0500 |0026: new-instance v1, Landroid/app/AlertDialog$Builder; // type@0005 002e88: 5432 1300 |0028: iget-object v2, v3, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013 002e8c: 7020 0900 2100 |002a: invoke-direct {v1, v2}, Landroid/app/AlertDialog$Builder;.:(Landroid/content/Context;)V // method@0009 002e92: 1a02 0d00 |002d: const-string v2, "Board Color" // string@000d 002e96: 6e20 0f00 2100 |002f: invoke-virtual {v1, v2}, Landroid/app/AlertDialog$Builder;.setTitle:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000f 002e9c: 0c01 |0032: move-result-object v1 002e9e: 2202 2500 |0033: new-instance v2, Lcom/google/android/checkers/f; // type@0025 002ea2: 7020 9700 3200 |0035: invoke-direct {v2, v3}, Lcom/google/android/checkers/f;.:(Lcom/google/android/checkers/CheckersView;)V // method@0097 002ea8: 6e30 0b00 0102 |0038: invoke-virtual {v1, v0, v2}, Landroid/app/AlertDialog$Builder;.setItems:([Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000b 002eae: 0c00 |003b: move-result-object v0 002eb0: 6e10 1000 0000 |003c: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@0010 002eb6: 0e00 |003f: return-void catches : (none) positions : locals : #1 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '(FF)V' access : 0x0011 (PUBLIC FINAL) method_idx : 79 code - registers : 10 ins : 3 outs : 1 insns size : 113 16-bit code units 002eb8: |[002eb8] com.google.android.checkers.CheckersView.a:(FF)V 002ec8: 1206 |0000: const/4 v6, #int 0 // #0 002eca: 6e10 6a00 0700 |0001: invoke-virtual {v7}, Lcom/google/android/checkers/CheckersView;.getWidth:()I // method@006a 002ed0: 0a01 |0004: move-result v1 002ed2: 6e10 6900 0700 |0005: invoke-virtual {v7}, Lcom/google/android/checkers/CheckersView;.getHeight:()I // method@0069 002ed8: 0a02 |0008: move-result v2 002eda: 3521 4900 |0009: if-ge v1, v2, 0052 // +0049 002ede: 0110 |000b: move v0, v1 002ee0: e200 0003 |000c: ushr-int/lit8 v0, v0, #int 3 // #03 002ee4: e003 0003 |000e: shl-int/lit8 v3, v0, #int 3 // #03 002ee8: 5274 1000 |0010: iget v4, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 002eec: 2e04 0604 |0012: cmpg-float v4, v6, v4 002ef0: 3c04 1600 |0014: if-gtz v4, 002a // +0016 002ef4: 5274 1000 |0016: iget v4, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 002ef8: 8235 |0018: int-to-float v5, v3 002efa: 2e04 0405 |0019: cmpg-float v4, v4, v5 002efe: 3b04 0f00 |001b: if-gez v4, 002a // +000f 002f02: 5274 1100 |001d: iget v4, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 002f06: 2e04 0604 |001f: cmpg-float v4, v6, v4 002f0a: 3c04 0900 |0021: if-gtz v4, 002a // +0009 002f0e: 5274 1100 |0023: iget v4, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 002f12: 8233 |0025: int-to-float v3, v3 002f14: 2e03 0403 |0026: cmpg-float v3, v4, v3 002f18: 3a03 0400 |0028: if-ltz v3, 002c // +0004 002f1c: 1300 1000 |002a: const/16 v0, #int 16 // #10 002f20: 1d07 |002c: monitor-enter v7 002f22: 5273 1000 |002d: iget v3, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 002f26: 8204 |002f: int-to-float v4, v0 002f28: c884 |0030: mul-float/2addr v4, v8 002f2a: c643 |0031: add-float/2addr v3, v4 002f2c: 5973 1000 |0032: iput v3, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 002f30: 5273 1100 |0034: iget v3, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 002f34: 8200 |0036: int-to-float v0, v0 002f36: c890 |0037: mul-float/2addr v0, v9 002f38: c630 |0038: add-float/2addr v0, v3 002f3a: 5970 1100 |0039: iput v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 002f3e: 5270 1000 |003b: iget v0, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 002f42: 2e00 0006 |003d: cmpg-float v0, v0, v6 002f46: 3b00 1500 |003f: if-gez v0, 0054 // +0015 002f4a: 1200 |0041: const/4 v0, #int 0 // #0 002f4c: 5970 1000 |0042: iput v0, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 002f50: 5270 1100 |0044: iget v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 002f54: 2e00 0006 |0046: cmpg-float v0, v0, v6 002f58: 3b00 1c00 |0048: if-gez v0, 0064 // +001c 002f5c: 1200 |004a: const/4 v0, #int 0 // #0 002f5e: 5970 1100 |004b: iput v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 002f62: 1e07 |004d: monitor-exit v7 002f64: 6e10 6d00 0700 |004e: invoke-virtual {v7}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d 002f6a: 0e00 |0051: return-void 002f6c: 0120 |0052: move v0, v2 002f6e: 28b9 |0053: goto 000c // -0047 002f70: 5270 1000 |0054: iget v0, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 002f74: 8213 |0056: int-to-float v3, v1 002f76: 2d00 0003 |0057: cmpl-float v0, v0, v3 002f7a: 3a00 ebff |0059: if-ltz v0, 0044 // -0015 002f7e: d800 01ff |005b: add-int/lit8 v0, v1, #int -1 // #ff 002f82: 8200 |005d: int-to-float v0, v0 002f84: 5970 1000 |005e: iput v0, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 002f88: 28e4 |0060: goto 0044 // -001c 002f8a: 0d00 |0061: move-exception v0 002f8c: 1e07 |0062: monitor-exit v7 002f8e: 2700 |0063: throw v0 002f90: 5270 1100 |0064: iget v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 002f94: 8221 |0066: int-to-float v1, v2 002f96: 2d00 0001 |0067: cmpl-float v0, v0, v1 002f9a: 3a00 e4ff |0069: if-ltz v0, 004d // -001c 002f9e: d800 02ff |006b: add-int/lit8 v0, v2, #int -1 // #ff 002fa2: 8200 |006d: int-to-float v0, v0 002fa4: 5970 1100 |006e: iput v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 002fa8: 28dd |0070: goto 004d // -0023 catches : 3 0x002d - 0x004e -> 0x0061 0x0054 - 0x0060 -> 0x0061 0x0064 - 0x0070 -> 0x0061 positions : locals : #2 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '(IIII)V' access : 0x0011 (PUBLIC FINAL) method_idx : 80 code - registers : 11 ins : 5 outs : 6 insns size : 16 16-bit code units 002fc8: |[002fc8] com.google.android.checkers.CheckersView.a:(IIII)V 002fd8: 1211 |0000: const/4 v1, #int 1 // #1 002fda: 0760 |0001: move-object v0, v6 002fdc: 0172 |0002: move v2, v7 002fde: 0183 |0003: move v3, v8 002fe0: 0194 |0004: move v4, v9 002fe2: 01a5 |0005: move v5, v10 002fe4: 7606 5b00 0000 |0006: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b 002fea: 0a00 |0009: move-result v0 002fec: 3800 0500 |000a: if-eqz v0, 000f // +0005 002ff0: 6e10 6d00 0600 |000c: invoke-virtual {v6}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d 002ff6: 0e00 |000f: return-void catches : (none) positions : locals : #3 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '(Landroid/content/SharedPreferences$Editor;)V' access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED) method_idx : 81 code - registers : 4 ins : 2 outs : 3 insns size : 170 16-bit code units 002ff8: |[002ff8] com.google.android.checkers.CheckersView.a:(Landroid/content/SharedPreferences$Editor;)V 003008: 1d02 |0000: monitor-enter v2 00300a: 7210 1300 0300 |0001: invoke-interface {v3}, Landroid/content/SharedPreferences$Editor;.clear:()Landroid/content/SharedPreferences$Editor; // method@0013 003010: 1a00 d000 |0004: const-string v0, "format" // string@00d0 003014: 1301 2200 |0006: const/16 v1, #int 34 // #22 003018: 7230 1600 0301 |0008: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 00301e: 1a00 3101 |000b: const-string v0, "state" // string@0131 003022: 5221 2300 |000d: iget v1, v2, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 003026: 7230 1600 0301 |000f: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 00302c: 1a00 3f01 |0012: const-string v0, "wp" // string@013f 003030: 5221 2400 |0014: iget v1, v2, Lcom/google/android/checkers/CheckersView;.r:I // field@0024 003034: 7230 1600 0301 |0016: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 00303a: 1a00 b400 |0019: const-string v0, "bp" // string@00b4 00303e: 5221 2500 |001b: iget v1, v2, Lcom/google/android/checkers/CheckersView;.s:I // field@0025 003042: 7230 1600 0301 |001d: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 003048: 1a00 3e01 |0020: const-string v0, "wk" // string@013e 00304c: 5221 2600 |0022: iget v1, v2, Lcom/google/android/checkers/CheckersView;.t:I // field@0026 003050: 7230 1600 0301 |0024: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 003056: 1a00 b300 |0027: const-string v0, "bk" // string@00b3 00305a: 5221 2700 |0029: iget v1, v2, Lcom/google/android/checkers/CheckersView;.u:I // field@0027 00305e: 7230 1600 0301 |002b: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 003064: 1a00 e800 |002e: const-string v0, "l1" // string@00e8 003068: 5221 2800 |0030: iget v1, v2, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 00306c: 7230 1600 0301 |0032: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 003072: 1a00 e900 |0035: const-string v0, "l2" // string@00e9 003076: 5221 2900 |0037: iget v1, v2, Lcom/google/android/checkers/CheckersView;.w:I // field@0029 00307a: 7230 1600 0301 |0039: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 003080: 1a00 ef00 |003c: const-string v0, "lm" // string@00ef 003084: 5221 2a00 |003e: iget v1, v2, Lcom/google/android/checkers/CheckersView;.x:I // field@002a 003088: 7230 1600 0301 |0040: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 00308e: 1a00 b800 |0043: const-string v0, "cap" // string@00b8 003092: 5521 2b00 |0045: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b 003096: 7230 1500 0301 |0047: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015 00309c: 1a00 ee00 |004a: const-string v0, "level" // string@00ee 0030a0: 5221 2c00 |004c: iget v1, v2, Lcom/google/android/checkers/CheckersView;.z:I // field@002c 0030a4: 7230 1600 0301 |004e: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 0030aa: 1a00 2d01 |0051: const-string v0, "show" // string@012d 0030ae: 5521 0200 |0053: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002 0030b2: 7230 1500 0301 |0055: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015 0030b8: 1a00 d100 |0058: const-string v0, "free" // string@00d1 0030bc: 5521 0300 |005a: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 0030c0: 7230 1500 0301 |005c: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015 0030c6: 1a00 1801 |005f: const-string v0, "rot" // string@0118 0030ca: 5521 0400 |0061: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004 0030ce: 7230 1500 0301 |0063: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015 0030d4: 1a00 d300 |0066: const-string v0, "full" // string@00d3 0030d8: 5521 0500 |0068: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005 0030dc: 7230 1500 0301 |006a: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015 0030e2: 1a00 2f01 |006d: const-string v0, "start" // string@012f 0030e6: 5521 0600 |006f: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006 0030ea: 7230 1500 0301 |0071: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015 0030f0: 1a00 bd00 |0074: const-string v0, "color" // string@00bd 0030f4: 5221 0700 |0076: iget v1, v2, Lcom/google/android/checkers/CheckersView;.F:I // field@0007 0030f8: 7230 1600 0301 |0078: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 0030fe: 1a00 f300 |007b: const-string v0, "lwp" // string@00f3 003102: 5421 0800 |007d: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008 003106: 7130 5200 0301 |007f: invoke-static {v3, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V // method@0052 00310c: 1a00 f200 |0082: const-string v0, "lwk" // string@00f2 003110: 5421 0900 |0084: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009 003114: 7130 5200 0301 |0086: invoke-static {v3, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V // method@0052 00311a: 1a00 eb00 |0089: const-string v0, "lbp" // string@00eb 00311e: 5421 0a00 |008b: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a 003122: 7130 5200 0301 |008d: invoke-static {v3, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V // method@0052 003128: 1a00 ea00 |0090: const-string v0, "lbk" // string@00ea 00312c: 5421 0b00 |0092: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b 003130: 7130 5200 0301 |0094: invoke-static {v3, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V // method@0052 003136: 1a00 f100 |0097: const-string v0, "lp" // string@00f1 00313a: 5221 0c00 |0099: iget v1, v2, Lcom/google/android/checkers/CheckersView;.K:I // field@000c 00313e: 7230 1600 0301 |009b: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 003144: 1a00 ec00 |009e: const-string v0, "lc" // string@00ec 003148: 5221 0d00 |00a0: iget v1, v2, Lcom/google/android/checkers/CheckersView;.L:I // field@000d 00314c: 7230 1600 0301 |00a2: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016 003152: 1e02 |00a5: monitor-exit v2 003154: 0e00 |00a6: return-void 003156: 0d00 |00a7: move-exception v0 003158: 1e02 |00a8: monitor-exit v2 00315a: 2700 |00a9: throw v0 catches : 1 0x0001 - 0x00a5 -> 0x00a7 positions : locals : #4 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '(I)Z' access : 0x0011 (PUBLIC FINAL) method_idx : 87 code - registers : 8 ins : 2 outs : 6 insns size : 17 16-bit code units 003168: |[003168] com.google.android.checkers.CheckersView.a:(I)Z 003178: 1201 |0000: const/4 v1, #int 0 // #0 00317a: 0760 |0001: move-object v0, v6 00317c: 0172 |0002: move v2, v7 00317e: 0113 |0003: move v3, v1 003180: 0114 |0004: move v4, v1 003182: 0115 |0005: move v5, v1 003184: 7606 5b00 0000 |0006: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b 00318a: 0a00 |0009: move-result v0 00318c: 3800 0600 |000a: if-eqz v0, 0010 // +0006 003190: 6e10 6d00 0600 |000c: invoke-virtual {v6}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d 003196: 1211 |000f: const/4 v1, #int 1 // #1 003198: 0f01 |0010: return v1 catches : (none) positions : locals : #5 : (in Lcom/google/android/checkers/CheckersView;) name : 'a' type : '(Z)Z' access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED) method_idx : 90 code - registers : 3 ins : 2 outs : 1 insns size : 22 16-bit code units 00319c: |[00319c] com.google.android.checkers.CheckersView.a:(Z)Z 0031ac: 1d01 |0000: monitor-enter v1 0031ae: 3802 0c00 |0001: if-eqz v2, 000d // +000c 0031b2: 5510 0200 |0003: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002 0031b6: 3800 0c00 |0005: if-eqz v0, 0011 // +000c 0031ba: 1200 |0007: const/4 v0, #int 0 // #0 0031bc: 5c10 0200 |0008: iput-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002 0031c0: 6e10 6d00 0100 |000a: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d 0031c6: 5510 0200 |000d: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002 0031ca: 1e01 |000f: monitor-exit v1 0031cc: 0f00 |0010: return v0 0031ce: 1210 |0011: const/4 v0, #int 1 // #1 0031d0: 28f6 |0012: goto 0008 // -000a 0031d2: 0d00 |0013: move-exception v0 0031d4: 1e01 |0014: monitor-exit v1 0031d6: 2700 |0015: throw v0 catches : 1 0x0003 - 0x000f -> 0x0013 positions : locals : #6 : (in Lcom/google/android/checkers/CheckersView;) name : 'b' type : '()V' access : 0x0011 (PUBLIC FINAL) method_idx : 93 code - registers : 7 ins : 1 outs : 6 insns size : 30 16-bit code units 0031e4: |[0031e4] com.google.android.checkers.CheckersView.b:()V 0031f4: 1201 |0000: const/4 v1, #int 0 // #0 0031f6: 1d06 |0001: monitor-enter v6 0031f8: 5260 1000 |0002: iget v0, v6, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 0031fc: 5262 1100 |0004: iget v2, v6, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 003200: 7030 5c00 0602 |0006: invoke-direct {v6, v0, v2}, Lcom/google/android/checkers/CheckersView;.b:(FF)I // method@005c 003206: 0a02 |0009: move-result v2 003208: 1e06 |000a: monitor-exit v6 00320a: 3802 0f00 |000b: if-eqz v2, 001a // +000f 00320e: 0760 |000d: move-object v0, v6 003210: 0113 |000e: move v3, v1 003212: 0114 |000f: move v4, v1 003214: 0115 |0010: move v5, v1 003216: 7606 5b00 0000 |0011: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b 00321c: 0a00 |0014: move-result v0 00321e: 3800 0500 |0015: if-eqz v0, 001a // +0005 003222: 6e10 6d00 0600 |0017: invoke-virtual {v6}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d 003228: 0e00 |001a: return-void 00322a: 0d00 |001b: move-exception v0 00322c: 1e06 |001c: monitor-exit v6 00322e: 2700 |001d: throw v0 catches : 1 0x0002 - 0x000b -> 0x001b positions : locals : #7 : (in Lcom/google/android/checkers/CheckersView;) name : 'b' type : '(Z)Z' access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED) method_idx : 96 code - registers : 7 ins : 2 outs : 3 insns size : 69 16-bit code units 00323c: |[00323c] com.google.android.checkers.CheckersView.b:(Z)Z 00324c: 1233 |0000: const/4 v3, #int 3 // #3 00324e: 1210 |0001: const/4 v0, #int 1 // #1 003250: 1201 |0002: const/4 v1, #int 0 // #0 003252: 1d05 |0003: monitor-enter v5 003254: 3806 3400 |0004: if-eqz v6, 0038 // +0034 003258: 5552 0300 |0006: iget-boolean v2, v5, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 00325c: 3802 3400 |0008: if-eqz v2, 003c // +0034 003260: 0112 |000a: move v2, v1 003262: 5c52 0300 |000b: iput-boolean v2, v5, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 003266: 5252 2300 |000d: iget v2, v5, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 00326a: 3232 0600 |000f: if-eq v2, v3, 0015 // +0006 00326e: 5252 2300 |0011: iget v2, v5, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 003272: 3302 2500 |0013: if-ne v2, v0, 0038 // +0025 003276: 5252 2300 |0015: iget v2, v5, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 00327a: 3332 2700 |0017: if-ne v2, v3, 003e // +0027 00327e: 0102 |0019: move v2, v0 003280: 1203 |001a: const/4 v3, #int 0 // #0 003282: 5953 2800 |001b: iput v3, v5, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 003286: 1203 |001d: const/4 v3, #int 0 // #0 003288: 5953 2900 |001e: iput v3, v5, Lcom/google/android/checkers/CheckersView;.w:I // field@0029 00328c: 1203 |0020: const/4 v3, #int 0 // #0 00328e: 5953 2a00 |0021: iput v3, v5, Lcom/google/android/checkers/CheckersView;.x:I // field@002a 003292: 5453 2200 |0023: iget-object v3, v5, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 003296: 5554 0300 |0025: iget-boolean v4, v5, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 00329a: 6e30 7a00 2304 |0027: invoke-virtual {v3, v2, v4}, Lcom/google/android/checkers/a;.a:(ZZ)I // method@007a 0032a0: 0a02 |002a: move-result v2 0032a2: 3302 1500 |002b: if-ne v2, v0, 0040 // +0015 0032a6: 5c50 2b00 |002d: iput-boolean v0, v5, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b 0032aa: 5450 2200 |002f: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 0032ae: 5200 3c00 |0031: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c 0032b2: 5950 0e00 |0033: iput v0, v5, Lcom/google/android/checkers/CheckersView;.M:I // field@000e 0032b6: 6e10 6d00 0500 |0035: invoke-virtual {v5}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d 0032bc: 5550 0300 |0038: iget-boolean v0, v5, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003 0032c0: 1e05 |003a: monitor-exit v5 0032c2: 0f00 |003b: return v0 0032c4: 0102 |003c: move v2, v0 0032c6: 28ce |003d: goto 000b // -0032 0032c8: 0112 |003e: move v2, v1 0032ca: 28db |003f: goto 001a // -0025 0032cc: 0110 |0040: move v0, v1 0032ce: 28ec |0041: goto 002d // -0014 0032d0: 0d00 |0042: move-exception v0 0032d2: 1e05 |0043: monitor-exit v5 0032d4: 2700 |0044: throw v0 catches : 1 0x0006 - 0x003a -> 0x0042 positions : locals : #8 : (in Lcom/google/android/checkers/CheckersView;) name : 'c' type : '()I' access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED) method_idx : 97 code - registers : 2 ins : 1 outs : 0 insns size : 8 16-bit code units 0032e4: |[0032e4] com.google.android.checkers.CheckersView.c:()I 0032f4: 1d01 |0000: monitor-enter v1 0032f6: 5210 2c00 |0001: iget v0, v1, Lcom/google/android/checkers/CheckersView;.z:I // field@002c 0032fa: 1e01 |0003: monitor-exit v1 0032fc: 0f00 |0004: return v0 0032fe: 0d00 |0005: move-exception v0 003300: 1e01 |0006: monitor-exit v1 003302: 2700 |0007: throw v0 catches : 1 0x0001 - 0x0003 -> 0x0005 positions : locals : #9 : (in Lcom/google/android/checkers/CheckersView;) name : 'c' type : '(Z)Z' access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED) method_idx : 99 code - registers : 5 ins : 2 outs : 3 insns size : 34 16-bit code units 003310: |[003310] com.google.android.checkers.CheckersView.c:(Z)Z 003320: 1200 |0000: const/4 v0, #int 0 // #0 003322: 1d03 |0001: monitor-enter v3 003324: 3804 1700 |0002: if-eqz v4, 0019 // +0017 003328: 5531 0400 |0004: iget-boolean v1, v3, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004 00332c: 3801 1700 |0006: if-eqz v1, 001d // +0017 003330: 5c30 0400 |0008: iput-boolean v0, v3, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004 003334: 5430 1300 |000a: iget-object v0, v3, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013 003338: 1a01 1901 |000c: const-string v1, "rotated board" // string@0119 00333c: 1202 |000e: const/4 v2, #int 0 // #0 00333e: 7130 3c00 1002 |000f: invoke-static {v0, v1, v2}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@003c 003344: 0c00 |0012: move-result-object v0 003346: 6e10 3d00 0000 |0013: invoke-virtual {v0}, Landroid/widget/Toast;.show:()V // method@003d 00334c: 6e10 6d00 0300 |0016: invoke-virtual {v3}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d 003352: 5530 0400 |0019: iget-boolean v0, v3, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004 003356: 1e03 |001b: monitor-exit v3 003358: 0f00 |001c: return v0 00335a: 1210 |001d: const/4 v0, #int 1 // #1 00335c: 28ea |001e: goto 0008 // -0016 00335e: 0d00 |001f: move-exception v0 003360: 1e03 |0020: monitor-exit v3 003362: 2700 |0021: throw v0 catches : 1 0x0004 - 0x001b -> 0x001f positions : locals : #10 : (in Lcom/google/android/checkers/CheckersView;) name : 'd' type : '(Z)Z' access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED) method_idx : 101 code - registers : 3 ins : 2 outs : 0 insns size : 19 16-bit code units 003370: |[003370] com.google.android.checkers.CheckersView.d:(Z)Z 003380: 1d01 |0000: monitor-enter v1 003382: 3802 0900 |0001: if-eqz v2, 000a // +0009 003386: 5510 0500 |0003: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005 00338a: 3800 0900 |0005: if-eqz v0, 000e // +0009 00338e: 1200 |0007: const/4 v0, #int 0 // #0 003390: 5c10 0500 |0008: iput-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005 003394: 5510 0500 |000a: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005 003398: 1e01 |000c: monitor-exit v1 00339a: 0f00 |000d: return v0 00339c: 1210 |000e: const/4 v0, #int 1 // #1 00339e: 28f9 |000f: goto 0008 // -0007 0033a0: 0d00 |0010: move-exception v0 0033a2: 1e01 |0011: monitor-exit v1 0033a4: 2700 |0012: throw v0 catches : 1 0x0003 - 0x000c -> 0x0010 positions : locals : #11 : (in Lcom/google/android/checkers/CheckersView;) name : 'draw' type : '(Landroid/graphics/Canvas;)V' access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED) method_idx : 102 code - registers : 30 ins : 2 outs : 8 insns size : 1264 16-bit code units 0033b4: |[0033b4] com.google.android.checkers.CheckersView.draw:(Landroid/graphics/Canvas;)V 0033c4: 1d1c |0000: monitor-enter v28 0033c6: 7502 3800 1c00 |0001: invoke-super/range {v28, v29}, Landroid/view/View;.draw:(Landroid/graphics/Canvas;)V // method@0038 0033cc: 7401 6a00 1c00 |0004: invoke-virtual/range {v28}, Lcom/google/android/checkers/CheckersView;.getWidth:()I // method@006a 0033d2: 0a03 |0007: move-result v3 0033d4: 7401 6900 1c00 |0008: invoke-virtual/range {v28}, Lcom/google/android/checkers/CheckersView;.getHeight:()I // method@0069 0033da: 0a04 |000b: move-result v4 0033dc: 3543 bc01 |000c: if-ge v3, v4, 01c8 // +01bc 0033e0: 0132 |000e: move v2, v3 0033e2: e216 0203 |000f: ushr-int/lit8 v22, v2, #int 3 // #03 0033e6: e017 1603 |0011: shl-int/lit8 v23, v22, #int 3 // #03 0033ea: e218 1601 |0013: ushr-int/lit8 v24, v22, #int 1 // #01 0033ee: 0800 1c00 |0015: move-object/from16 v0, v28 0033f2: 5200 1d00 |0017: iget v0, v0, Lcom/google/android/checkers/CheckersView;.k:I // field@001d 0033f6: 0214 0000 |0019: move/from16 v20, v0 0033fa: db19 1403 |001b: div-int/lit8 v25, v20, #int 3 // #03 0033fe: 3543 ae01 |001d: if-ge v3, v4, 01cb // +01ae 003402: 1224 |001f: const/4 v4, #int 2 // #2 003404: da02 140b |0020: mul-int/lit8 v2, v20, #int 11 // #0b 003408: 9103 1702 |0022: sub-int v3, v23, v2 00340c: 9002 1714 |0024: add-int v2, v23, v20 003410: 0211 0200 |0026: move/from16 v17, v2 003414: 0212 0300 |0028: move/from16 v18, v3 003418: 0213 0200 |002a: move/from16 v19, v2 00341c: 0215 0400 |002c: move/from16 v21, v4 003420: 0800 1c00 |002e: move-object/from16 v0, v28 003424: 5402 1400 |0030: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014 003428: 0800 1d00 |0032: move-object/from16 v0, v29 00342c: 6e20 1e00 2000 |0034: invoke-virtual {v0, v2}, Landroid/graphics/Canvas;.drawPaint:(Landroid/graphics/Paint;)V // method@001e 003432: 0800 1c00 |0037: move-object/from16 v0, v28 003436: 5202 0700 |0039: iget v2, v0, Lcom/google/android/checkers/CheckersView;.F:I // field@0007 00343a: 3902 a201 |003b: if-nez v2, 01dd // +01a2 00343e: 0800 1c00 |003d: move-object/from16 v0, v28 003442: 5407 1600 |003f: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.d:Landroid/graphics/Paint; // field@0016 003446: 0800 1c00 |0041: move-object/from16 v0, v28 00344a: 5402 2100 |0043: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.o:Landroid/graphics/drawable/Drawable; // field@0021 00344e: 1203 |0045: const/4 v3, #int 0 // #0 003450: 1204 |0046: const/4 v4, #int 0 // #0 003452: 0200 1700 |0047: move/from16 v0, v23 003456: 0201 1700 |0049: move/from16 v1, v23 00345a: 6e51 2800 3204 |004b: invoke-virtual {v2, v3, v4, v0, v1}, Landroid/graphics/drawable/Drawable;.setBounds:(IIII)V // method@0028 003460: 0800 1c00 |004e: move-object/from16 v0, v28 003464: 5402 2100 |0050: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.o:Landroid/graphics/drawable/Drawable; // field@0021 003468: 0800 1d00 |0052: move-object/from16 v0, v29 00346c: 6e20 2700 0200 |0054: invoke-virtual {v2, v0}, Landroid/graphics/drawable/Drawable;.draw:(Landroid/graphics/Canvas;)V // method@0027 003472: 1202 |0057: const/4 v2, #int 0 // #0 003474: 0129 |0058: move v9, v2 003476: 1302 0800 |0059: const/16 v2, #int 8 // #8 00347a: 3429 9a01 |005b: if-lt v9, v2, 01f5 // +019a 00347e: 120d |005d: const/4 v13, #int 0 // #0 003480: 120c |005e: const/4 v12, #int 0 // #0 003482: 120b |005f: const/4 v11, #int 0 // #0 003484: 120a |0060: const/4 v10, #int 0 // #0 003486: 1213 |0061: const/4 v3, #int 1 // #1 003488: 1202 |0062: const/4 v2, #int 0 // #0 00348a: 0210 0200 |0063: move/from16 v16, v2 00348e: 1302 0800 |0065: const/16 v2, #int 8 // #8 003492: 0200 1000 |0067: move/from16 v0, v16 003496: 3420 ad01 |0069: if-lt v0, v2, 0216 // +01ad 00349a: 7601 6700 1c00 |006b: invoke-direct/range {v28}, Lcom/google/android/checkers/CheckersView;.e:()Z // method@0067 0034a0: 0a02 |006e: move-result v2 0034a2: 3802 4d03 |006f: if-eqz v2, 03bc // +034d 0034a6: 1a02 1100 |0071: const-string v2, "Checkers for Android" // string@0011 0034aa: 0200 1500 |0073: move/from16 v0, v21 0034ae: 8203 |0075: int-to-float v3, v0 0034b0: 0200 1300 |0076: move/from16 v0, v19 0034b4: 8204 |0078: int-to-float v4, v0 0034b6: 0800 1c00 |0079: move-object/from16 v0, v28 0034ba: 5405 1500 |007b: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 0034be: 0800 1d00 |007d: move-object/from16 v0, v29 0034c2: 6e55 2000 2043 |007f: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 0034c8: 1a02 b500 |0082: const-string v2, "by Aart J.C. Bik" // string@00b5 0034cc: 0200 1500 |0084: move/from16 v0, v21 0034d0: 8203 |0086: int-to-float v3, v0 0034d2: 9004 1314 |0087: add-int v4, v19, v20 0034d6: 8244 |0089: int-to-float v4, v4 0034d8: 0800 1c00 |008a: move-object/from16 v0, v28 0034dc: 5405 1500 |008c: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 0034e0: 0800 1d00 |008e: move-object/from16 v0, v29 0034e4: 6e55 2000 2043 |0090: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 0034ea: 6302 6a00 |0093: sget-boolean v2, Lcom/google/android/checkers/g;.r:Z // field@006a 0034ee: 3902 1500 |0095: if-nez v2, 00aa // +0015 0034f2: 1a02 f800 |0097: const-string v2, "no endgame TBs" // string@00f8 0034f6: 0200 1500 |0099: move/from16 v0, v21 0034fa: 8203 |009b: int-to-float v3, v0 0034fc: da04 1402 |009c: mul-int/lit8 v4, v20, #int 2 // #02 003500: 9004 0413 |009e: add-int v4, v4, v19 003504: 8244 |00a0: int-to-float v4, v4 003506: 0800 1c00 |00a1: move-object/from16 v0, v28 00350a: 5405 1500 |00a3: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 00350e: 0800 1d00 |00a5: move-object/from16 v0, v29 003512: 6e55 2000 2043 |00a7: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 003518: 0800 1c00 |00aa: move-object/from16 v0, v28 00351c: 5502 2b00 |00ac: iget-boolean v2, v0, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b 003520: 3802 1300 |00ae: if-eqz v2, 00c1 // +0013 003524: 1a02 7000 |00b0: const-string v2, "MUST CAPTURE" // string@0070 003528: 0200 1200 |00b2: move/from16 v0, v18 00352c: 8203 |00b4: int-to-float v3, v0 00352e: 0200 1100 |00b5: move/from16 v0, v17 003532: 8204 |00b7: int-to-float v4, v0 003534: 0800 1c00 |00b8: move-object/from16 v0, v28 003538: 5405 1800 |00ba: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018 00353c: 0800 1d00 |00bc: move-object/from16 v0, v29 003540: 6e55 2000 2043 |00be: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 003546: 0800 1c00 |00c1: move-object/from16 v0, v28 00354a: 5202 2300 |00c3: iget v2, v0, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 00354e: 2b02 1b04 0000 |00c5: packed-switch v2, 000004e0 // +0000041b 003554: 0800 1c00 |00c8: move-object/from16 v0, v28 003558: 5502 0200 |00ca: iget-boolean v2, v0, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002 00355c: 3802 2600 |00cc: if-eqz v2, 00f2 // +0026 003560: 0800 1c00 |00ce: move-object/from16 v0, v28 003564: 5202 2300 |00d0: iget v2, v0, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 003568: 1213 |00d2: const/4 v3, #int 1 // #1 00356a: 3232 0900 |00d3: if-eq v2, v3, 00dc // +0009 00356e: 0800 1c00 |00d5: move-object/from16 v0, v28 003572: 5202 2300 |00d7: iget v2, v0, Lcom/google/android/checkers/CheckersView;.q:I // field@0023 003576: 1233 |00d9: const/4 v3, #int 3 // #3 003578: 3332 1800 |00da: if-ne v2, v3, 00f2 // +0018 00357c: 0800 1c00 |00dc: move-object/from16 v0, v28 003580: 5402 2200 |00de: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 003584: 5229 3c00 |00e0: iget v9, v2, Lcom/google/android/checkers/a;.c:I // field@003c 003588: 0800 1c00 |00e2: move-object/from16 v0, v28 00358c: 5402 2200 |00e4: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 003590: 542a 3b00 |00e6: iget-object v10, v2, Lcom/google/android/checkers/a;.b:[I // field@003b 003594: 0800 1c00 |00e8: move-object/from16 v0, v28 003598: 5402 2200 |00ea: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 00359c: 542b 3a00 |00ec: iget-object v11, v2, Lcom/google/android/checkers/a;.a:[I // field@003a 0035a0: 1202 |00ee: const/4 v2, #int 0 // #0 0035a2: 0128 |00ef: move v8, v2 0035a4: 3498 dc03 |00f0: if-lt v8, v9, 04cc // +03dc 0035a8: 0800 1c00 |00f2: move-object/from16 v0, v28 0035ac: 5402 0f00 |00f4: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 0035b0: 3802 1700 |00f6: if-eqz v2, 010d // +0017 0035b4: 0800 1c00 |00f8: move-object/from16 v0, v28 0035b8: 5402 0f00 |00fa: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f 0035bc: 0200 1200 |00fc: move/from16 v0, v18 0035c0: 8203 |00fe: int-to-float v3, v0 0035c2: da04 1402 |00ff: mul-int/lit8 v4, v20, #int 2 // #02 0035c6: 9004 0411 |0101: add-int v4, v4, v17 0035ca: 8244 |0103: int-to-float v4, v4 0035cc: 0800 1c00 |0104: move-object/from16 v0, v28 0035d0: 5405 1b00 |0106: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b 0035d4: 0800 1d00 |0108: move-object/from16 v0, v29 0035d8: 6e55 2000 2043 |010a: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 0035de: 1202 |010d: const/4 v2, #int 0 // #0 0035e0: 1203 |010e: const/4 v3, #int 0 // #0 0035e2: 0800 1c00 |010f: move-object/from16 v0, v28 0035e6: 5204 1000 |0111: iget v4, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 0035ea: 2e03 0304 |0113: cmpg-float v3, v3, v4 0035ee: 3c03 5100 |0115: if-gtz v3, 0166 // +0051 0035f2: 0800 1c00 |0117: move-object/from16 v0, v28 0035f6: 5203 1000 |0119: iget v3, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 0035fa: 0200 1700 |011b: move/from16 v0, v23 0035fe: 8204 |011d: int-to-float v4, v0 003600: 2e03 0304 |011e: cmpg-float v3, v3, v4 003604: 3b03 4600 |0120: if-gez v3, 0166 // +0046 003608: 1203 |0122: const/4 v3, #int 0 // #0 00360a: 0800 1c00 |0123: move-object/from16 v0, v28 00360e: 5204 1100 |0125: iget v4, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 003612: 2e03 0304 |0127: cmpg-float v3, v3, v4 003616: 3c03 3d00 |0129: if-gtz v3, 0166 // +003d 00361a: 0800 1c00 |012b: move-object/from16 v0, v28 00361e: 5203 1100 |012d: iget v3, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 003622: 0200 1700 |012f: move/from16 v0, v23 003626: 8204 |0131: int-to-float v4, v0 003628: 2e03 0304 |0132: cmpg-float v3, v3, v4 00362c: 3b03 3200 |0134: if-gez v3, 0166 // +0032 003630: 0800 1c00 |0136: move-object/from16 v0, v28 003634: 5203 1000 |0138: iget v3, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 003638: 8733 |013a: float-to-int v3, v3 00363a: 9303 0316 |013b: div-int v3, v3, v22 00363e: 0800 1c00 |013d: move-object/from16 v0, v28 003642: 5204 1100 |013f: iget v4, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 003646: 8744 |0141: float-to-int v4, v4 003648: 9304 0416 |0142: div-int v4, v4, v22 00364c: 3a03 2200 |0144: if-ltz v3, 0166 // +0022 003650: 1305 0800 |0146: const/16 v5, #int 8 // #8 003654: 3553 1e00 |0148: if-ge v3, v5, 0166 // +001e 003658: 3a04 1c00 |014a: if-ltz v4, 0166 // +001c 00365c: 1305 0800 |014c: const/16 v5, #int 8 // #8 003660: 3554 1800 |014e: if-ge v4, v5, 0166 // +0018 003664: 9202 1603 |0150: mul-int v2, v22, v3 003668: 9206 1604 |0152: mul-int v6, v22, v4 00366c: 8223 |0154: int-to-float v3, v2 00366e: 8264 |0155: int-to-float v4, v6 003670: 9002 0216 |0156: add-int v2, v2, v22 003674: 8225 |0158: int-to-float v5, v2 003676: 9002 0616 |0159: add-int v2, v6, v22 00367a: 8226 |015b: int-to-float v6, v2 00367c: 0800 1c00 |015c: move-object/from16 v0, v28 003680: 5407 1c00 |015e: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c 003684: 0802 1d00 |0160: move-object/from16 v2, v29 003688: 7406 1f00 0200 |0162: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f 00368e: 1212 |0165: const/4 v2, #int 1 // #1 003690: 3902 2800 |0166: if-nez v2, 018e // +0028 003694: 0800 1c00 |0168: move-object/from16 v0, v28 003698: 5202 1000 |016a: iget v2, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 00369c: 0800 1c00 |016c: move-object/from16 v0, v28 0036a0: 5203 1100 |016e: iget v3, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 0036a4: 1504 a040 |0170: const/high16 v4, #int 1084227584 // #40a0 0036a8: 0800 1c00 |0172: move-object/from16 v0, v28 0036ac: 5405 1500 |0174: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 0036b0: 0800 1d00 |0176: move-object/from16 v0, v29 0036b4: 6e55 1c00 2043 |0178: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 0036ba: 0800 1c00 |017b: move-object/from16 v0, v28 0036be: 5202 1000 |017d: iget v2, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010 0036c2: 0800 1c00 |017f: move-object/from16 v0, v28 0036c6: 5203 1100 |0181: iget v3, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011 0036ca: 1504 4040 |0183: const/high16 v4, #int 1077936128 // #4040 0036ce: 0800 1c00 |0185: move-object/from16 v0, v28 0036d2: 5405 1400 |0187: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014 0036d6: 0800 1d00 |0189: move-object/from16 v0, v29 0036da: 6e55 1c00 2043 |018b: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 0036e0: 0800 1c00 |018e: move-object/from16 v0, v28 0036e4: 5202 1e00 |0190: iget v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e 0036e8: 1203 |0192: const/4 v3, #int 0 // #0 0036ea: 2d02 0203 |0193: cmpl-float v2, v2, v3 0036ee: 3d02 3100 |0195: if-lez v2, 01c6 // +0031 0036f2: 0800 1c00 |0197: move-object/from16 v0, v28 0036f6: 5202 1e00 |0199: iget v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e 0036fa: 8922 |019b: float-to-double v2, v2 0036fc: 1804 9a99 9999 9999 a93f |019c: const-wide v4, #double 0.05 // #3fa999999999999a 003706: cc42 |01a1: sub-double/2addr v2, v4 003708: 8c22 |01a2: double-to-float v2, v2 00370a: 0800 1c00 |01a3: move-object/from16 v0, v28 00370e: 5902 1e00 |01a5: iput v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e 003712: 0800 1c00 |01a7: move-object/from16 v0, v28 003716: 5202 1e00 |01a9: iget v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e 00371a: 1203 |01ab: const/4 v3, #int 0 // #0 00371c: 2e02 0203 |01ac: cmpg-float v2, v2, v3 003720: 3c02 1100 |01ae: if-gtz v2, 01bf // +0011 003724: 1202 |01b0: const/4 v2, #int 0 // #0 003726: 0800 1c00 |01b1: move-object/from16 v0, v28 00372a: 5902 1e00 |01b3: iput v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e 00372e: 1202 |01b5: const/4 v2, #int 0 // #0 003730: 0800 1c00 |01b6: move-object/from16 v0, v28 003734: 5902 1f00 |01b8: iput v2, v0, Lcom/google/android/checkers/CheckersView;.m:I // field@001f 003738: 1202 |01ba: const/4 v2, #int 0 // #0 00373a: 0800 1c00 |01bb: move-object/from16 v0, v28 00373e: 5902 2000 |01bd: iput v2, v0, Lcom/google/android/checkers/CheckersView;.n:I // field@0020 003742: 1602 3200 |01bf: const-wide/16 v2, #int 50 // #32 003746: 0800 1c00 |01c1: move-object/from16 v0, v28 00374a: 6e30 6e00 2003 |01c3: invoke-virtual {v0, v2, v3}, Lcom/google/android/checkers/CheckersView;.postInvalidateDelayed:(J)V // method@006e 003750: 1e1c |01c6: monitor-exit v28 003752: 0e00 |01c7: return-void 003754: 0142 |01c8: move v2, v4 003756: 2900 46fe |01c9: goto/16 000f // -01ba 00375a: d803 1702 |01cb: add-int/lit8 v3, v23, #int 2 // #02 00375e: da02 1402 |01cd: mul-int/lit8 v2, v20, #int 2 // #02 003762: 9102 1702 |01cf: sub-int v2, v23, v2 003766: 9102 0219 |01d1: sub-int v2, v2, v25 00376a: 0211 0200 |01d3: move/from16 v17, v2 00376e: 0212 0300 |01d5: move/from16 v18, v3 003772: 0213 1400 |01d7: move/from16 v19, v20 003776: 0215 0300 |01d9: move/from16 v21, v3 00377a: 2900 53fe |01db: goto/16 002e // -01ad 00377e: 0800 1c00 |01dd: move-object/from16 v0, v28 003782: 5408 1500 |01df: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003786: 1203 |01e1: const/4 v3, #int 0 // #0 003788: 1204 |01e2: const/4 v4, #int 0 // #0 00378a: 0200 1700 |01e3: move/from16 v0, v23 00378e: 8205 |01e5: int-to-float v5, v0 003790: 0200 1700 |01e6: move/from16 v0, v23 003794: 8206 |01e8: int-to-float v6, v0 003796: 0800 1c00 |01e9: move-object/from16 v0, v28 00379a: 5407 1700 |01eb: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017 00379e: 0802 1d00 |01ed: move-object/from16 v2, v29 0037a2: 7406 1f00 0200 |01ef: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f 0037a8: 0787 |01f2: move-object v7, v8 0037aa: 2900 64fe |01f3: goto/16 0057 // -019c 0037ae: 920a 1609 |01f5: mul-int v10, v22, v9 0037b2: dd02 0901 |01f7: and-int/lit8 v2, v9, #int 1 // #01 0037b6: 0128 |01f9: move v8, v2 0037b8: 1302 0800 |01fa: const/16 v2, #int 8 // #8 0037bc: 3428 0700 |01fc: if-lt v8, v2, 0203 // +0007 0037c0: d802 0901 |01fe: add-int/lit8 v2, v9, #int 1 // #01 0037c4: 0129 |0200: move v9, v2 0037c6: 2900 58fe |0201: goto/16 0059 // -01a8 0037ca: 9202 1608 |0203: mul-int v2, v22, v8 0037ce: 82a3 |0205: int-to-float v3, v10 0037d0: 8224 |0206: int-to-float v4, v2 0037d2: 9005 0a16 |0207: add-int v5, v10, v22 0037d6: 8255 |0209: int-to-float v5, v5 0037d8: 9002 0216 |020a: add-int v2, v2, v22 0037dc: 8226 |020c: int-to-float v6, v2 0037de: 0802 1d00 |020d: move-object/from16 v2, v29 0037e2: 7406 1f00 0200 |020f: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f 0037e8: d802 0802 |0212: add-int/lit8 v2, v8, #int 2 // #02 0037ec: 0128 |0214: move v8, v2 0037ee: 28e5 |0215: goto 01fa // -001b 0037f0: d902 1001 |0216: rsub-int/lit8 v2, v16, #int 1 // #01 0037f4: dd02 0201 |0218: and-int/lit8 v2, v2, #int 1 // #01 0037f8: 012e |021a: move v14, v2 0037fa: 013f |021b: move v15, v3 0037fc: 1302 0800 |021c: const/16 v2, #int 8 // #8 003800: 342e 0900 |021e: if-lt v14, v2, 0227 // +0009 003804: d802 1001 |0220: add-int/lit8 v2, v16, #int 1 // #01 003808: 0210 0200 |0222: move/from16 v16, v2 00380c: 01f3 |0224: move v3, v15 00380e: 2900 40fe |0225: goto/16 0065 // -01c0 003812: 0800 1c00 |0227: move-object/from16 v0, v28 003816: 5502 0400 |0229: iget-boolean v2, v0, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004 00381a: 3802 5d00 |022b: if-eqz v2, 0288 // +005d 00381e: d902 0e07 |022d: rsub-int/lit8 v2, v14, #int 7 // #07 003822: 9203 1602 |022f: mul-int v3, v22, v2 003826: d902 1007 |0231: rsub-int/lit8 v2, v16, #int 7 // #07 00382a: 9202 0216 |0233: mul-int v2, v2, v22 00382e: 0135 |0235: move v5, v3 003830: 901a 1805 |0236: add-int v26, v24, v5 003834: 901b 1802 |0238: add-int v27, v24, v2 003838: 0800 1c00 |023a: move-object/from16 v0, v28 00383c: 5203 2800 |023c: iget v3, v0, Lcom/google/android/checkers/CheckersView;.v:I // field@0028 003840: b5f3 |023e: and-int/2addr v3, v15 003842: 3803 4f00 |023f: if-eqz v3, 028e // +004f 003846: d803 0501 |0241: add-int/lit8 v3, v5, #int 1 // #01 00384a: 8233 |0243: int-to-float v3, v3 00384c: d804 0201 |0244: add-int/lit8 v4, v2, #int 1 // #01 003850: 8244 |0246: int-to-float v4, v4 003852: 9005 0516 |0247: add-int v5, v5, v22 003856: d805 05ff |0249: add-int/lit8 v5, v5, #int -1 // #ff 00385a: 8255 |024b: int-to-float v5, v5 00385c: 9002 0216 |024c: add-int v2, v2, v22 003860: d802 02ff |024e: add-int/lit8 v2, v2, #int -1 // #ff 003864: 8226 |0250: int-to-float v6, v2 003866: 0800 1c00 |0251: move-object/from16 v0, v28 00386a: 5407 1800 |0253: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018 00386e: 0802 1d00 |0255: move-object/from16 v2, v29 003872: 7406 1f00 0200 |0257: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f 003878: 0800 1c00 |025a: move-object/from16 v0, v28 00387c: 5202 2400 |025c: iget v2, v0, Lcom/google/android/checkers/CheckersView;.r:I // field@0024 003880: b5f2 |025e: and-int/2addr v2, v15 003882: 3802 7a00 |025f: if-eqz v2, 02d9 // +007a 003886: 0800 1c00 |0261: move-object/from16 v0, v28 00388a: 5407 1400 |0263: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014 00388e: 0800 1c00 |0265: move-object/from16 v0, v28 003892: 5408 1500 |0267: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003896: 1209 |0269: const/4 v9, #int 0 // #0 003898: 0802 1d00 |026a: move-object/from16 v2, v29 00389c: 0203 1a00 |026c: move/from16 v3, v26 0038a0: 0204 1b00 |026e: move/from16 v4, v27 0038a4: 0205 1800 |0270: move/from16 v5, v24 0038a8: 0206 1900 |0272: move/from16 v6, v25 0038ac: 7708 5500 0200 |0274: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V // method@0055 0038b2: d802 0d01 |0277: add-int/lit8 v2, v13, #int 1 // #01 0038b6: 01b3 |0279: move v3, v11 0038b8: 01c4 |027a: move v4, v12 0038ba: 0125 |027b: move v5, v2 0038bc: 01a2 |027c: move v2, v10 0038be: e007 0f01 |027d: shl-int/lit8 v7, v15, #int 1 // #01 0038c2: d806 0e02 |027f: add-int/lit8 v6, v14, #int 2 // #02 0038c6: 016e |0281: move v14, v6 0038c8: 012a |0282: move v10, v2 0038ca: 013b |0283: move v11, v3 0038cc: 014c |0284: move v12, v4 0038ce: 015d |0285: move v13, v5 0038d0: 017f |0286: move v15, v7 0038d2: 2895 |0287: goto 021c // -006b 0038d4: 9203 160e |0288: mul-int v3, v22, v14 0038d8: 9202 1610 |028a: mul-int v2, v22, v16 0038dc: 0135 |028c: move v5, v3 0038de: 28a9 |028d: goto 0236 // -0057 0038e0: 0800 1c00 |028e: move-object/from16 v0, v28 0038e4: 5203 2900 |0290: iget v3, v0, Lcom/google/android/checkers/CheckersView;.w:I // field@0029 0038e8: b5f3 |0292: and-int/2addr v3, v15 0038ea: 3803 1f00 |0293: if-eqz v3, 02b2 // +001f 0038ee: d803 0501 |0295: add-int/lit8 v3, v5, #int 1 // #01 0038f2: 8233 |0297: int-to-float v3, v3 0038f4: d804 0201 |0298: add-int/lit8 v4, v2, #int 1 // #01 0038f8: 8244 |029a: int-to-float v4, v4 0038fa: 9005 0516 |029b: add-int v5, v5, v22 0038fe: d805 05ff |029d: add-int/lit8 v5, v5, #int -1 // #ff 003902: 8255 |029f: int-to-float v5, v5 003904: 9002 0216 |02a0: add-int v2, v2, v22 003908: d802 02ff |02a2: add-int/lit8 v2, v2, #int -1 // #ff 00390c: 8226 |02a4: int-to-float v6, v2 00390e: 0800 1c00 |02a5: move-object/from16 v0, v28 003912: 5407 1900 |02a7: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.g:Landroid/graphics/Paint; // field@0019 003916: 0802 1d00 |02a9: move-object/from16 v2, v29 00391a: 7406 1f00 0200 |02ab: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f 003920: 28ac |02ae: goto 025a // -0054 003922: 0d02 |02af: move-exception v2 003924: 1e1c |02b0: monitor-exit v28 003926: 2702 |02b1: throw v2 003928: 0800 1c00 |02b2: move-object/from16 v0, v28 00392c: 5503 0200 |02b4: iget-boolean v3, v0, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002 003930: 3803 a4ff |02b6: if-eqz v3, 025a // -005c 003934: 0800 1c00 |02b8: move-object/from16 v0, v28 003938: 5203 2a00 |02ba: iget v3, v0, Lcom/google/android/checkers/CheckersView;.x:I // field@002a 00393c: b5f3 |02bc: and-int/2addr v3, v15 00393e: 3803 9dff |02bd: if-eqz v3, 025a // -0063 003942: d803 0501 |02bf: add-int/lit8 v3, v5, #int 1 // #01 003946: 8233 |02c1: int-to-float v3, v3 003948: d804 0201 |02c2: add-int/lit8 v4, v2, #int 1 // #01 00394c: 8244 |02c4: int-to-float v4, v4 00394e: 9005 0516 |02c5: add-int v5, v5, v22 003952: d805 05ff |02c7: add-int/lit8 v5, v5, #int -1 // #ff 003956: 8255 |02c9: int-to-float v5, v5 003958: 9002 0216 |02ca: add-int v2, v2, v22 00395c: d802 02ff |02cc: add-int/lit8 v2, v2, #int -1 // #ff 003960: 8226 |02ce: int-to-float v6, v2 003962: 0800 1c00 |02cf: move-object/from16 v0, v28 003966: 5407 1b00 |02d1: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b 00396a: 0802 1d00 |02d3: move-object/from16 v2, v29 00396e: 7406 1f00 0200 |02d5: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f 003974: 2882 |02d8: goto 025a // -007e 003976: 0800 1c00 |02d9: move-object/from16 v0, v28 00397a: 5202 2500 |02db: iget v2, v0, Lcom/google/android/checkers/CheckersView;.s:I // field@0025 00397e: b5f2 |02dd: and-int/2addr v2, v15 003980: 3802 1f00 |02de: if-eqz v2, 02fd // +001f 003984: 0800 1c00 |02e0: move-object/from16 v0, v28 003988: 5407 1500 |02e2: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 00398c: 0800 1c00 |02e4: move-object/from16 v0, v28 003990: 5408 1400 |02e6: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014 003994: 1209 |02e8: const/4 v9, #int 0 // #0 003996: 0802 1d00 |02e9: move-object/from16 v2, v29 00399a: 0203 1a00 |02eb: move/from16 v3, v26 00399e: 0204 1b00 |02ed: move/from16 v4, v27 0039a2: 0205 1800 |02ef: move/from16 v5, v24 0039a6: 0206 1900 |02f1: move/from16 v6, v25 0039aa: 7708 5500 0200 |02f3: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V // method@0055 0039b0: d802 0b01 |02f6: add-int/lit8 v2, v11, #int 1 // #01 0039b4: 0123 |02f8: move v3, v2 0039b6: 01c4 |02f9: move v4, v12 0039b8: 01d5 |02fa: move v5, v13 0039ba: 01a2 |02fb: move v2, v10 0039bc: 2881 |02fc: goto 027d // -007f 0039be: 0800 1c00 |02fd: move-object/from16 v0, v28 0039c2: 5202 2600 |02ff: iget v2, v0, Lcom/google/android/checkers/CheckersView;.t:I // field@0026 0039c6: b5f2 |0301: and-int/2addr v2, v15 0039c8: 3802 2000 |0302: if-eqz v2, 0322 // +0020 0039cc: 0800 1c00 |0304: move-object/from16 v0, v28 0039d0: 5407 1400 |0306: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014 0039d4: 0800 1c00 |0308: move-object/from16 v0, v28 0039d8: 5408 1500 |030a: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 0039dc: 1219 |030c: const/4 v9, #int 1 // #1 0039de: 0802 1d00 |030d: move-object/from16 v2, v29 0039e2: 0203 1a00 |030f: move/from16 v3, v26 0039e6: 0204 1b00 |0311: move/from16 v4, v27 0039ea: 0205 1800 |0313: move/from16 v5, v24 0039ee: 0206 1900 |0315: move/from16 v6, v25 0039f2: 7708 5500 0200 |0317: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V // method@0055 0039f8: d802 0c01 |031a: add-int/lit8 v2, v12, #int 1 // #01 0039fc: 01b3 |031c: move v3, v11 0039fe: 0124 |031d: move v4, v2 003a00: 01d5 |031e: move v5, v13 003a02: 01a2 |031f: move v2, v10 003a04: 2900 5dff |0320: goto/16 027d // -00a3 003a08: 0800 1c00 |0322: move-object/from16 v0, v28 003a0c: 5202 2700 |0324: iget v2, v0, Lcom/google/android/checkers/CheckersView;.u:I // field@0027 003a10: b5f2 |0326: and-int/2addr v2, v15 003a12: 3802 1f00 |0327: if-eqz v2, 0346 // +001f 003a16: 0800 1c00 |0329: move-object/from16 v0, v28 003a1a: 5407 1500 |032b: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003a1e: 0800 1c00 |032d: move-object/from16 v0, v28 003a22: 5408 1400 |032f: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014 003a26: 1219 |0331: const/4 v9, #int 1 // #1 003a28: 0802 1d00 |0332: move-object/from16 v2, v29 003a2c: 0203 1a00 |0334: move/from16 v3, v26 003a30: 0204 1b00 |0336: move/from16 v4, v27 003a34: 0205 1800 |0338: move/from16 v5, v24 003a38: 0206 1900 |033a: move/from16 v6, v25 003a3c: 7708 5500 0200 |033c: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V // method@0055 003a42: d802 0a01 |033f: add-int/lit8 v2, v10, #int 1 // #01 003a46: 01b3 |0341: move v3, v11 003a48: 01c4 |0342: move v4, v12 003a4a: 01d5 |0343: move v5, v13 003a4c: 2900 39ff |0344: goto/16 027d // -00c7 003a50: 0800 1c00 |0346: move-object/from16 v0, v28 003a54: 5202 2000 |0348: iget v2, v0, Lcom/google/android/checkers/CheckersView;.n:I // field@0020 003a58: b5f2 |034a: and-int/2addr v2, v15 003a5a: 3802 3600 |034b: if-eqz v2, 0381 // +0036 003a5e: 0200 1a00 |034d: move/from16 v0, v26 003a62: 8202 |034f: int-to-float v2, v0 003a64: 0200 1b00 |0350: move/from16 v0, v27 003a68: 8203 |0352: int-to-float v3, v0 003a6a: d804 18fe |0353: add-int/lit8 v4, v24, #int -2 // #fe 003a6e: 8244 |0355: int-to-float v4, v4 003a70: 0800 1c00 |0356: move-object/from16 v0, v28 003a74: 5205 1e00 |0358: iget v5, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e 003a78: c854 |035a: mul-float/2addr v4, v5 003a7a: 0800 1c00 |035b: move-object/from16 v0, v28 003a7e: 5405 1500 |035d: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003a82: 0800 1d00 |035f: move-object/from16 v0, v29 003a86: 6e55 1c00 2043 |0361: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 003a8c: 0200 1a00 |0364: move/from16 v0, v26 003a90: 8202 |0366: int-to-float v2, v0 003a92: 0200 1b00 |0367: move/from16 v0, v27 003a96: 8203 |0369: int-to-float v3, v0 003a98: d804 18fc |036a: add-int/lit8 v4, v24, #int -4 // #fc 003a9c: 8244 |036c: int-to-float v4, v4 003a9e: 0800 1c00 |036d: move-object/from16 v0, v28 003aa2: 5205 1e00 |036f: iget v5, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e 003aa6: c854 |0371: mul-float/2addr v4, v5 003aa8: 0800 1c00 |0372: move-object/from16 v0, v28 003aac: 5405 1400 |0374: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014 003ab0: 0800 1d00 |0376: move-object/from16 v0, v29 003ab4: 6e55 1c00 2043 |0378: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 003aba: 01a2 |037b: move v2, v10 003abc: 01b3 |037c: move v3, v11 003abe: 01c4 |037d: move v4, v12 003ac0: 01d5 |037e: move v5, v13 003ac2: 2900 fefe |037f: goto/16 027d // -0102 003ac6: 0800 1c00 |0381: move-object/from16 v0, v28 003aca: 5202 1f00 |0383: iget v2, v0, Lcom/google/android/checkers/CheckersView;.m:I // field@001f 003ace: b5f2 |0385: and-int/2addr v2, v15 003ad0: 3802 3000 |0386: if-eqz v2, 03b6 // +0030 003ad4: 0200 1a00 |0388: move/from16 v0, v26 003ad8: 8202 |038a: int-to-float v2, v0 003ada: 0200 1b00 |038b: move/from16 v0, v27 003ade: 8203 |038d: int-to-float v3, v0 003ae0: d804 18fe |038e: add-int/lit8 v4, v24, #int -2 // #fe 003ae4: 8244 |0390: int-to-float v4, v4 003ae6: 0800 1c00 |0391: move-object/from16 v0, v28 003aea: 5205 1e00 |0393: iget v5, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e 003aee: c854 |0395: mul-float/2addr v4, v5 003af0: 0800 1c00 |0396: move-object/from16 v0, v28 003af4: 5405 1400 |0398: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014 003af8: 0800 1d00 |039a: move-object/from16 v0, v29 003afc: 6e55 1c00 2043 |039c: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 003b02: 0200 1a00 |039f: move/from16 v0, v26 003b06: 8202 |03a1: int-to-float v2, v0 003b08: 0200 1b00 |03a2: move/from16 v0, v27 003b0c: 8203 |03a4: int-to-float v3, v0 003b0e: d804 18fc |03a5: add-int/lit8 v4, v24, #int -4 // #fc 003b12: 8244 |03a7: int-to-float v4, v4 003b14: 0800 1c00 |03a8: move-object/from16 v0, v28 003b18: 5205 1e00 |03aa: iget v5, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e 003b1c: c854 |03ac: mul-float/2addr v4, v5 003b1e: 0800 1c00 |03ad: move-object/from16 v0, v28 003b22: 5405 1500 |03af: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003b26: 0800 1d00 |03b1: move-object/from16 v0, v29 003b2a: 6e55 1c00 2043 |03b3: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c 003b30: 01a2 |03b6: move v2, v10 003b32: 01b3 |03b7: move v3, v11 003b34: 01c4 |03b8: move v4, v12 003b36: 01d5 |03b9: move v5, v13 003b38: 2900 c3fe |03ba: goto/16 027d // -013d 003b3c: 1a02 9c00 |03bc: const-string v2, "White" // string@009c 003b40: 0200 1500 |03be: move/from16 v0, v21 003b44: 8203 |03c0: int-to-float v3, v0 003b46: 0200 1300 |03c1: move/from16 v0, v19 003b4a: 8204 |03c3: int-to-float v4, v0 003b4c: 0800 1c00 |03c4: move-object/from16 v0, v28 003b50: 5405 1500 |03c6: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003b54: 0800 1d00 |03c8: move-object/from16 v0, v29 003b58: 6e55 2000 2043 |03ca: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 003b5e: 1a02 0b00 |03cd: const-string v2, "Black" // string@000b 003b62: 0200 1500 |03cf: move/from16 v0, v21 003b66: 8203 |03d1: int-to-float v3, v0 003b68: 9004 1314 |03d2: add-int v4, v19, v20 003b6c: 8244 |03d4: int-to-float v4, v4 003b6e: 0800 1c00 |03d5: move-object/from16 v0, v28 003b72: 5405 1500 |03d7: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003b76: 0800 1d00 |03d9: move-object/from16 v0, v29 003b7a: 6e55 2000 2043 |03db: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 003b80: 1a02 7200 |03de: const-string v2, "Moves" // string@0072 003b84: 0200 1500 |03e0: move/from16 v0, v21 003b88: 8203 |03e2: int-to-float v3, v0 003b8a: da04 1402 |03e3: mul-int/lit8 v4, v20, #int 2 // #02 003b8e: 9004 0413 |03e5: add-int v4, v4, v19 003b92: 8244 |03e7: int-to-float v4, v4 003b94: 0800 1c00 |03e8: move-object/from16 v0, v28 003b98: 5405 1500 |03ea: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003b9c: 0800 1d00 |03ec: move-object/from16 v0, v29 003ba0: 6e55 2000 2043 |03ee: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 003ba6: 2202 3000 |03f1: new-instance v2, Ljava/lang/StringBuilder; // type@0030 003baa: 1a03 0300 |03f3: const-string v3, ": " // string@0003 003bae: 7020 a600 3200 |03f5: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@00a6 003bb4: 6e20 a700 d200 |03f8: invoke-virtual {v2, v13}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7 003bba: 0c02 |03fb: move-result-object v2 003bbc: 1a03 0200 |03fc: const-string v3, "+" // string@0002 003bc0: 6e20 a900 3200 |03fe: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00a9 003bc6: 0c02 |0401: move-result-object v2 003bc8: 6e20 a700 c200 |0402: invoke-virtual {v2, v12}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7 003bce: 0c02 |0405: move-result-object v2 003bd0: 6e10 aa00 0200 |0406: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa 003bd6: 0c02 |0409: move-result-object v2 003bd8: da03 1403 |040a: mul-int/lit8 v3, v20, #int 3 // #03 003bdc: 9003 0315 |040c: add-int v3, v3, v21 003be0: 8233 |040e: int-to-float v3, v3 003be2: 0200 1300 |040f: move/from16 v0, v19 003be6: 8204 |0411: int-to-float v4, v0 003be8: 0800 1c00 |0412: move-object/from16 v0, v28 003bec: 5405 1500 |0414: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003bf0: 0800 1d00 |0416: move-object/from16 v0, v29 003bf4: 6e55 2000 2043 |0418: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 003bfa: 2202 3000 |041b: new-instance v2, Ljava/lang/StringBuilder; // type@0030 003bfe: 1a03 0300 |041d: const-string v3, ": " // string@0003 003c02: 7020 a600 3200 |041f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@00a6 003c08: 6e20 a700 b200 |0422: invoke-virtual {v2, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7 003c0e: 0c02 |0425: move-result-object v2 003c10: 1a03 0200 |0426: const-string v3, "+" // string@0002 003c14: 6e20 a900 3200 |0428: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00a9 003c1a: 0c02 |042b: move-result-object v2 003c1c: 6e20 a700 a200 |042c: invoke-virtual {v2, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7 003c22: 0c02 |042f: move-result-object v2 003c24: 6e10 aa00 0200 |0430: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa 003c2a: 0c02 |0433: move-result-object v2 003c2c: da03 1403 |0434: mul-int/lit8 v3, v20, #int 3 // #03 003c30: 9003 0315 |0436: add-int v3, v3, v21 003c34: 8233 |0438: int-to-float v3, v3 003c36: 9004 1314 |0439: add-int v4, v19, v20 003c3a: 8244 |043b: int-to-float v4, v4 003c3c: 0800 1c00 |043c: move-object/from16 v0, v28 003c40: 5405 1500 |043e: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003c44: 0800 1d00 |0440: move-object/from16 v0, v29 003c48: 6e55 2000 2043 |0442: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 003c4e: 2202 3000 |0445: new-instance v2, Ljava/lang/StringBuilder; // type@0030 003c52: 1a03 0300 |0447: const-string v3, ": " // string@0003 003c56: 7020 a600 3200 |0449: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.:(Ljava/lang/String;)V // method@00a6 003c5c: 0800 1c00 |044c: move-object/from16 v0, v28 003c60: 5203 0e00 |044e: iget v3, v0, Lcom/google/android/checkers/CheckersView;.M:I // field@000e 003c64: 6e20 a700 3200 |0450: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7 003c6a: 0c02 |0453: move-result-object v2 003c6c: 6e10 aa00 0200 |0454: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa 003c72: 0c02 |0457: move-result-object v2 003c74: da03 1403 |0458: mul-int/lit8 v3, v20, #int 3 // #03 003c78: 9003 0315 |045a: add-int v3, v3, v21 003c7c: 8233 |045c: int-to-float v3, v3 003c7e: da04 1402 |045d: mul-int/lit8 v4, v20, #int 2 // #02 003c82: 9004 0413 |045f: add-int v4, v4, v19 003c86: 8244 |0461: int-to-float v4, v4 003c88: 0800 1c00 |0462: move-object/from16 v0, v28 003c8c: 5405 1500 |0464: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003c90: 0800 1d00 |0466: move-object/from16 v0, v29 003c94: 6e55 2000 2043 |0468: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 003c9a: 2900 3ffc |046b: goto/16 00aa // -03c1 003c9e: 1a02 0a00 |046d: const-string v2, "BLACK'S MOVE?" // string@000a 003ca2: 0200 1200 |046f: move/from16 v0, v18 003ca6: 8203 |0471: int-to-float v3, v0 003ca8: 9004 1114 |0472: add-int v4, v17, v20 003cac: 8244 |0474: int-to-float v4, v4 003cae: 0800 1c00 |0475: move-object/from16 v0, v28 003cb2: 5405 1500 |0477: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003cb6: 0800 1d00 |0479: move-object/from16 v0, v29 003cba: 6e55 2000 2043 |047b: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 003cc0: 2900 4afc |047e: goto/16 00c8 // -03b6 003cc4: 1a02 9a00 |0480: const-string v2, "WHITE'S MOVE?" // string@009a 003cc8: 0200 1200 |0482: move/from16 v0, v18 003ccc: 8203 |0484: int-to-float v3, v0 003cce: 9004 1114 |0485: add-int v4, v17, v20 003cd2: 8244 |0487: int-to-float v4, v4 003cd4: 0800 1c00 |0488: move-object/from16 v0, v28 003cd8: 5405 1500 |048a: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003cdc: 0800 1d00 |048c: move-object/from16 v0, v29 003ce0: 6e55 2000 2043 |048e: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 003ce6: 2900 37fc |0491: goto/16 00c8 // -03c9 003cea: 1a02 8100 |0493: const-string v2, "THINKING...." // string@0081 003cee: 0200 1200 |0495: move/from16 v0, v18 003cf2: 8203 |0497: int-to-float v3, v0 003cf4: 9004 1114 |0498: add-int v4, v17, v20 003cf8: 8244 |049a: int-to-float v4, v4 003cfa: 0800 1c00 |049b: move-object/from16 v0, v28 003cfe: 5405 1500 |049d: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003d02: 0800 1d00 |049f: move-object/from16 v0, v29 003d06: 6e55 2000 2043 |04a1: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 003d0c: 2900 24fc |04a4: goto/16 00c8 // -03dc 003d10: 1a02 9900 |04a6: const-string v2, "WHITE WINS" // string@0099 003d14: 0200 1200 |04a8: move/from16 v0, v18 003d18: 8203 |04aa: int-to-float v3, v0 003d1a: 9004 1114 |04ab: add-int v4, v17, v20 003d1e: 8244 |04ad: int-to-float v4, v4 003d20: 0800 1c00 |04ae: move-object/from16 v0, v28 003d24: 5405 1500 |04b0: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003d28: 0800 1d00 |04b2: move-object/from16 v0, v29 003d2c: 6e55 2000 2043 |04b4: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 003d32: 2900 11fc |04b7: goto/16 00c8 // -03ef 003d36: 1a02 0900 |04b9: const-string v2, "BLACK WINS" // string@0009 003d3a: 0200 1200 |04bb: move/from16 v0, v18 003d3e: 8203 |04bd: int-to-float v3, v0 003d40: 9004 1114 |04be: add-int v4, v17, v20 003d44: 8244 |04c0: int-to-float v4, v4 003d46: 0800 1c00 |04c1: move-object/from16 v0, v28 003d4a: 5405 1500 |04c3: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003d4e: 0800 1d00 |04c5: move-object/from16 v0, v29 003d52: 6e55 2000 2043 |04c7: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020 003d58: 2900 fefb |04ca: goto/16 00c8 // -0402 003d5c: 4404 0a08 |04cc: aget v4, v10, v8 003d60: 4405 0b08 |04ce: aget v5, v11, v8 003d64: 0802 1c00 |04d0: move-object/from16 v2, v28 003d68: 0803 1d00 |04d2: move-object/from16 v3, v29 003d6c: 0206 1600 |04d4: move/from16 v6, v22 003d70: 0207 1800 |04d6: move/from16 v7, v24 003d74: 7606 5f00 0200 |04d8: invoke-direct/range {v2, v3, v4, v5, v6, v7}, Lcom/google/android/checkers/CheckersView;.b:(Landroid/graphics/Canvas;IIII)V // method@005f 003d7a: d802 0801 |04db: add-int/lit8 v2, v8, #int 1 // #01 003d7e: 0128 |04dd: move v8, v2 003d80: 2900 12fc |04de: goto/16 00f0 // -03ee 003d84: 0001 0600 0100 0000 a803 0000 ce03 ... |04e0: packed-switch-data (16 units) catches : 3 0x0001 - 0x01c6 -> 0x02af 0x01dd - 0x02ae -> 0x02af 0x02b2 - 0x04db -> 0x02af positions : locals : #12 : (in Lcom/google/android/checkers/CheckersView;) name : 'e' type : '(Z)Z' access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED) method_idx : 104 code - registers : 3 ins : 2 outs : 0 insns size : 19 16-bit code units 003dc0: |[003dc0] com.google.android.checkers.CheckersView.e:(Z)Z 003dd0: 1d01 |0000: monitor-enter v1 003dd2: 3802 0900 |0001: if-eqz v2, 000a // +0009 003dd6: 5510 0600 |0003: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006 003dda: 3800 0900 |0005: if-eqz v0, 000e // +0009 003dde: 1200 |0007: const/4 v0, #int 0 // #0 003de0: 5c10 0600 |0008: iput-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006 003de4: 5510 0600 |000a: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006 003de8: 1e01 |000c: monitor-exit v1 003dea: 0f00 |000d: return v0 003dec: 1210 |000e: const/4 v0, #int 1 // #1 003dee: 28f9 |000f: goto 0008 // -0007 003df0: 0d00 |0010: move-exception v0 003df2: 1e01 |0011: monitor-exit v1 003df4: 2700 |0012: throw v0 catches : 1 0x0003 - 0x000c -> 0x0010 positions : locals : #13 : (in Lcom/google/android/checkers/CheckersView;) name : 'onSizeChanged' type : '(IIII)V' access : 0x20004 (PROTECTED DECLARED_SYNCHRONIZED) method_idx : 107 code - registers : 8 ins : 5 outs : 2 insns size : 52 16-bit code units 003e04: |[003e04] com.google.android.checkers.CheckersView.onSizeChanged:(IIII)V 003e14: 1d03 |0000: monitor-enter v3 003e16: 3554 2c00 |0001: if-ge v4, v5, 002d // +002c 003e1a: 0140 |0003: move v0, v4 003e1c: db01 0018 |0004: div-int/lit8 v1, v0, #int 24 // #18 003e20: 8211 |0006: int-to-float v1, v1 003e22: 3754 2b00 |0007: if-le v4, v5, 0032 // +002b 003e26: 9100 0400 |0009: sub-int v0, v4, v0 003e2a: db00 000a |000b: div-int/lit8 v0, v0, #int 10 // #0a 003e2e: 8200 |000d: int-to-float v0, v0 003e30: 2e02 0001 |000e: cmpg-float v2, v0, v1 003e34: 3b02 2200 |0010: if-gez v2, 0032 // +0022 003e38: 5431 1400 |0012: iget-object v1, v3, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014 003e3c: 6e20 2600 0100 |0014: invoke-virtual {v1, v0}, Landroid/graphics/Paint;.setTextSize:(F)V // method@0026 003e42: 5431 1500 |0017: iget-object v1, v3, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015 003e46: 6e20 2600 0100 |0019: invoke-virtual {v1, v0}, Landroid/graphics/Paint;.setTextSize:(F)V // method@0026 003e4c: 5431 1b00 |001c: iget-object v1, v3, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b 003e50: 6e20 2600 0100 |001e: invoke-virtual {v1, v0}, Landroid/graphics/Paint;.setTextSize:(F)V // method@0026 003e56: 5431 1800 |0021: iget-object v1, v3, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018 003e5a: 6e20 2600 0100 |0023: invoke-virtual {v1, v0}, Landroid/graphics/Paint;.setTextSize:(F)V // method@0026 003e60: 8700 |0026: float-to-int v0, v0 003e62: d800 0001 |0027: add-int/lit8 v0, v0, #int 1 // #01 003e66: 5930 1d00 |0029: iput v0, v3, Lcom/google/android/checkers/CheckersView;.k:I // field@001d 003e6a: 1e03 |002b: monitor-exit v3 003e6c: 0e00 |002c: return-void 003e6e: 0150 |002d: move v0, v5 003e70: 28d6 |002e: goto 0004 // -002a 003e72: 0d00 |002f: move-exception v0 003e74: 1e03 |0030: monitor-exit v3 003e76: 2700 |0031: throw v0 003e78: 0110 |0032: move v0, v1 003e7a: 28df |0033: goto 0012 // -0021 catches : 1 0x0004 - 0x002b -> 0x002f positions : locals : #14 : (in Lcom/google/android/checkers/CheckersView;) name : 'onTouchEvent' type : '(Landroid/view/MotionEvent;)Z' access : 0x0001 (PUBLIC) method_idx : 108 code - registers : 8 ins : 2 outs : 6 insns size : 41 16-bit code units 003e88: |[003e88] com.google.android.checkers.CheckersView.onTouchEvent:(Landroid/view/MotionEvent;)Z 003e98: 1201 |0000: const/4 v1, #int 0 // #0 003e9a: 6e10 3100 0700 |0001: invoke-virtual {v7}, Landroid/view/MotionEvent;.getAction:()I // method@0031 003ea0: 0a00 |0004: move-result v0 003ea2: 3900 1f00 |0005: if-nez v0, 0024 // +001f 003ea6: 6e10 3200 0700 |0007: invoke-virtual {v7}, Landroid/view/MotionEvent;.getX:()F // method@0032 003eac: 0a00 |000a: move-result v0 003eae: 6e10 3300 0700 |000b: invoke-virtual {v7}, Landroid/view/MotionEvent;.getY:()F // method@0033 003eb4: 0a02 |000e: move-result v2 003eb6: 7030 5c00 0602 |000f: invoke-direct {v6, v0, v2}, Lcom/google/android/checkers/CheckersView;.b:(FF)I // method@005c 003ebc: 0a02 |0012: move-result v2 003ebe: 3802 1100 |0013: if-eqz v2, 0024 // +0011 003ec2: 0760 |0015: move-object v0, v6 003ec4: 0113 |0016: move v3, v1 003ec6: 0114 |0017: move v4, v1 003ec8: 0115 |0018: move v5, v1 003eca: 7606 5b00 0000 |0019: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b 003ed0: 0a00 |001c: move-result v0 003ed2: 3800 0500 |001d: if-eqz v0, 0022 // +0005 003ed6: 6e10 6d00 0600 |001f: invoke-virtual {v6}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d 003edc: 1210 |0022: const/4 v0, #int 1 // #1 003ede: 0f00 |0023: return v0 003ee0: 6f20 3900 7600 |0024: invoke-super {v6, v7}, Landroid/view/View;.onTouchEvent:(Landroid/view/MotionEvent;)Z // method@0039 003ee6: 0a00 |0027: move-result v0 003ee8: 28fb |0028: goto 0023 // -0005 catches : (none) positions : locals : #15 : (in Lcom/google/android/checkers/CheckersView;) name : 'setLevel' type : '(I)V' access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED) method_idx : 112 code - registers : 4 ins : 2 outs : 0 insns size : 64 16-bit code units 003eec: |[003eec] com.google.android.checkers.CheckersView.setLevel:(I)V 003efc: 1300 e803 |0000: const/16 v0, #int 1000 // #3e8 003f00: 1d02 |0002: monitor-enter v2 003f02: 2b03 2700 0000 |0003: packed-switch v3, 0000002a // +00000027 003f08: 1233 |0006: const/4 v3, #int 3 // #3 003f0a: 5421 2200 |0007: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022 003f0e: 5910 4100 |0009: iput v0, v1, Lcom/google/android/checkers/a;.h:I // field@0041 003f12: 5923 2c00 |000b: iput v3, v2, Lcom/google/android/checkers/CheckersView;.z:I // field@002c 003f16: 1e02 |000d: monitor-exit v2 003f18: 0e00 |000e: return-void 003f1a: 12f0 |000f: const/4 v0, #int -1 // #ff 003f1c: 28f7 |0010: goto 0007 // -0009 003f1e: 1200 |0011: const/4 v0, #int 0 // #0 003f20: 28f5 |0012: goto 0007 // -000b 003f22: 1300 6400 |0013: const/16 v0, #int 100 // #64 003f26: 28f2 |0015: goto 0007 // -000e 003f28: 1300 8813 |0016: const/16 v0, #int 5000 // #1388 003f2c: 28ef |0018: goto 0007 // -0011 003f2e: 1300 1027 |0019: const/16 v0, #int 10000 // #2710 003f32: 28ec |001b: goto 0007 // -0014 003f34: 1300 983a |001c: const/16 v0, #int 15000 // #3a98 003f38: 28e9 |001e: goto 0007 // -0017 003f3a: 1300 3075 |001f: const/16 v0, #int 30000 // #7530 003f3e: 28e6 |0021: goto 0007 // -001a 003f40: 1400 60ea 0000 |0022: const v0, #float 8.40779e-41 // #0000ea60 003f46: 28e2 |0025: goto 0007 // -001e 003f48: 0d00 |0026: move-exception v0 003f4a: 1e02 |0027: monitor-exit v2 003f4c: 2700 |0028: throw v0 003f4e: 0000 |0029: nop // spacer 003f50: 0001 0900 0000 0000 0c00 0000 0e00 ... |002a: packed-switch-data (22 units) catches : 1 0x0007 - 0x000d -> 0x0026 positions : locals : source_file_idx : -1 (unknown) Class #2 header: class_idx : 32 access_flags : 17 (0x0011) superclass_idx : 50 interfaces_off : 0 (0x000000) source_file_idx : -1 annotations_off : 0 (0x000000) class_data_off : 34848 (0x008820) static_fields_size : 10 instance_fields_size: 29 direct_methods_size : 23 virtual_methods_size: 6 Class #2 - Class descriptor : 'Lcom/google/android/checkers/a;' Access flags : 0x0011 (PUBLIC FINAL) Superclass : 'Ljava/lang/Thread;' Interfaces - Static fields - #0 : (in Lcom/google/android/checkers/a;) name : 'D' type : '[I' access : 0x001a (PRIVATE STATIC FINAL) #1 : (in Lcom/google/android/checkers/a;) name : 'E' type : '[I' access : 0x001a (PRIVATE STATIC FINAL) #2 : (in Lcom/google/android/checkers/a;) name : 'F' type : '[I' access : 0x001a (PRIVATE STATIC FINAL) #3 : (in Lcom/google/android/checkers/a;) name : 'G' type : '[I' access : 0x001a (PRIVATE STATIC FINAL) #4 : (in Lcom/google/android/checkers/a;) name : 'H' type : '[I' access : 0x001a (PRIVATE STATIC FINAL) #5 : (in Lcom/google/android/checkers/a;) name : 'I' type : '[I' access : 0x001a (PRIVATE STATIC FINAL) #6 : (in Lcom/google/android/checkers/a;) name : 'J' type : '[I' access : 0x001a (PRIVATE STATIC FINAL) #7 : (in Lcom/google/android/checkers/a;) name : 'K' type : '[I' access : 0x001a (PRIVATE STATIC FINAL) #8 : (in Lcom/google/android/checkers/a;) name : 'L' type : '[I' access : 0x001a (PRIVATE STATIC FINAL) #9 : (in Lcom/google/android/checkers/a;) name : 'M' type : '[I' access : 0x001a (PRIVATE STATIC FINAL) Instance fields - #0 : (in Lcom/google/android/checkers/a;) name : 'A' type : '[B' access : 0x0002 (PRIVATE) #1 : (in Lcom/google/android/checkers/a;) name : 'B' type : 'Z' access : 0x0002 (PRIVATE) #2 : (in Lcom/google/android/checkers/a;) name : 'C' type : 'I' access : 0x0002 (PRIVATE) #3 : (in Lcom/google/android/checkers/a;) name : 'a' type : '[I' access : 0x0001 (PUBLIC) #4 : (in Lcom/google/android/checkers/a;) name : 'b' type : '[I' access : 0x0001 (PUBLIC) #5 : (in Lcom/google/android/checkers/a;) name : 'c' type : 'I' access : 0x0001 (PUBLIC) #6 : (in Lcom/google/android/checkers/a;) name : 'd' type : 'I' access : 0x0001 (PUBLIC) #7 : (in Lcom/google/android/checkers/a;) name : 'e' type : 'I' access : 0x0001 (PUBLIC) #8 : (in Lcom/google/android/checkers/a;) name : 'f' type : 'I' access : 0x0001 (PUBLIC) #9 : (in Lcom/google/android/checkers/a;) name : 'g' type : 'I' access : 0x0001 (PUBLIC) #10 : (in Lcom/google/android/checkers/a;) name : 'h' type : 'I' access : 0x0041 (PUBLIC VOLATILE) #11 : (in Lcom/google/android/checkers/a;) name : 'i' type : 'Ljava/util/Random;' access : 0x0002 (PRIVATE) #12 : (in Lcom/google/android/checkers/a;) name : 'j' type : 'Lcom/google/android/checkers/CheckersView;' access : 0x0002 (PRIVATE) #13 : (in Lcom/google/android/checkers/a;) name : 'k' type : 'Z' access : 0x0002 (PRIVATE) #14 : (in Lcom/google/android/checkers/a;) name : 'l' type : 'J' access : 0x0002 (PRIVATE) #15 : (in Lcom/google/android/checkers/a;) name : 'm' type : 'Z' access : 0x0002 (PRIVATE) #16 : (in Lcom/google/android/checkers/a;) name : 'n' type : 'I' access : 0x0002 (PRIVATE) #17 : (in Lcom/google/android/checkers/a;) name : 'o' type : '[I' access : 0x0002 (PRIVATE) #18 : (in Lcom/google/android/checkers/a;) name : 'p' type : '[I' access : 0x0002 (PRIVATE) #19 : (in Lcom/google/android/checkers/a;) name : 'q' type : '[I' access : 0x0002 (PRIVATE) #20 : (in Lcom/google/android/checkers/a;) name : 'r' type : 'I' access : 0x0002 (PRIVATE) #21 : (in Lcom/google/android/checkers/a;) name : 's' type : 'Z' access : 0x0002 (PRIVATE) #22 : (in Lcom/google/android/checkers/a;) name : 't' type : 'Z' access : 0x0002 (PRIVATE) #23 : (in Lcom/google/android/checkers/a;) name : 'u' type : 'Z' access : 0x0002 (PRIVATE) #24 : (in Lcom/google/android/checkers/a;) name : 'v' type : 'I' access : 0x0002 (PRIVATE) #25 : (in Lcom/google/android/checkers/a;) name : 'w' type : 'I' access : 0x0002 (PRIVATE) #26 : (in Lcom/google/android/checkers/a;) name : 'x' type : 'I' access : 0x0002 (PRIVATE) #27 : (in Lcom/google/android/checkers/a;) name : 'y' type : '[I' access : 0x0002 (PRIVATE) #28 : (in Lcom/google/android/checkers/a;) name : 'z' type : '[S' access : 0x0002 (PRIVATE) Direct methods - #0 : (in Lcom/google/android/checkers/a;) name : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) method_idx : 113 code - registers : 8 ins : 0 outs : 0 insns size : 1390 16-bit code units 003f88: |[003f88] com.google.android.checkers.a.:()V 003f98: 1227 |0000: const/4 v7, #int 2 // #2 003f9a: 1306 1500 |0001: const/16 v6, #int 21 // #15 003f9e: 1305 1000 |0003: const/16 v5, #int 16 // #10 003fa2: 1304 0a00 |0005: const/16 v4, #int 10 // #a 003fa6: 1303 2000 |0007: const/16 v3, #int 32 // #20 003faa: 2330 3700 |0009: new-array v0, v3, [I // type@0037 003fae: 1251 |000b: const/4 v1, #int 5 // #5 003fb0: 1212 |000c: const/4 v2, #int 1 // #1 003fb2: 4b02 0001 |000d: aput v2, v0, v1 003fb6: 1261 |000f: const/4 v1, #int 6 // #6 003fb8: 4b07 0001 |0010: aput v7, v0, v1 003fbc: 1271 |0012: const/4 v1, #int 7 // #7 003fbe: 1242 |0013: const/4 v2, #int 4 // #4 003fc0: 4b02 0001 |0014: aput v2, v0, v1 003fc4: 1301 0800 |0016: const/16 v1, #int 8 // #8 003fc8: 4b05 0001 |0018: aput v5, v0, v1 003fcc: 1301 0900 |001a: const/16 v1, #int 9 // #9 003fd0: 4b03 0001 |001c: aput v3, v0, v1 003fd4: 1301 4000 |001e: const/16 v1, #int 64 // #40 003fd8: 4b01 0004 |0020: aput v1, v0, v4 003fdc: 1301 0b00 |0022: const/16 v1, #int 11 // #b 003fe0: 1302 8000 |0024: const/16 v2, #int 128 // #80 003fe4: 4b02 0001 |0026: aput v2, v0, v1 003fe8: 1301 0d00 |0028: const/16 v1, #int 13 // #d 003fec: 1302 0001 |002a: const/16 v2, #int 256 // #100 003ff0: 4b02 0001 |002c: aput v2, v0, v1 003ff4: 1301 0e00 |002e: const/16 v1, #int 14 // #e 003ff8: 1302 0002 |0030: const/16 v2, #int 512 // #200 003ffc: 4b02 0001 |0032: aput v2, v0, v1 004000: 1301 0f00 |0034: const/16 v1, #int 15 // #f 004004: 1302 0004 |0036: const/16 v2, #int 1024 // #400 004008: 4b02 0001 |0038: aput v2, v0, v1 00400c: 1301 0010 |003a: const/16 v1, #int 4096 // #1000 004010: 4b01 0005 |003c: aput v1, v0, v5 004014: 1301 1100 |003e: const/16 v1, #int 17 // #11 004018: 1302 0020 |0040: const/16 v2, #int 8192 // #2000 00401c: 4b02 0001 |0042: aput v2, v0, v1 004020: 1301 1200 |0044: const/16 v1, #int 18 // #12 004024: 1302 0040 |0046: const/16 v2, #int 16384 // #4000 004028: 4b02 0001 |0048: aput v2, v0, v1 00402c: 1301 1300 |004a: const/16 v1, #int 19 // #13 004030: 1402 0080 0000 |004c: const v2, #float 4.59177e-41 // #00008000 004036: 4b02 0001 |004f: aput v2, v0, v1 00403a: 1501 0100 |0051: const/high16 v1, #int 65536 // #1 00403e: 4b01 0006 |0053: aput v1, v0, v6 004042: 1301 1600 |0055: const/16 v1, #int 22 // #16 004046: 1502 0200 |0057: const/high16 v2, #int 131072 // #2 00404a: 4b02 0001 |0059: aput v2, v0, v1 00404e: 1301 1700 |005b: const/16 v1, #int 23 // #17 004052: 1502 0400 |005d: const/high16 v2, #int 262144 // #4 004056: 4b02 0001 |005f: aput v2, v0, v1 00405a: 1301 1800 |0061: const/16 v1, #int 24 // #18 00405e: 1502 1000 |0063: const/high16 v2, #int 1048576 // #10 004062: 4b02 0001 |0065: aput v2, v0, v1 004066: 1301 1900 |0067: const/16 v1, #int 25 // #19 00406a: 1502 2000 |0069: const/high16 v2, #int 2097152 // #20 00406e: 4b02 0001 |006b: aput v2, v0, v1 004072: 1301 1a00 |006d: const/16 v1, #int 26 // #1a 004076: 1502 4000 |006f: const/high16 v2, #int 4194304 // #40 00407a: 4b02 0001 |0071: aput v2, v0, v1 00407e: 1301 1b00 |0073: const/16 v1, #int 27 // #1b 004082: 1502 8000 |0075: const/high16 v2, #int 8388608 // #80 004086: 4b02 0001 |0077: aput v2, v0, v1 00408a: 1301 1d00 |0079: const/16 v1, #int 29 // #1d 00408e: 1502 0001 |007b: const/high16 v2, #int 16777216 // #100 004092: 4b02 0001 |007d: aput v2, v0, v1 004096: 1301 1e00 |007f: const/16 v1, #int 30 // #1e 00409a: 1502 0002 |0081: const/high16 v2, #int 33554432 // #200 00409e: 4b02 0001 |0083: aput v2, v0, v1 0040a2: 1301 1f00 |0085: const/16 v1, #int 31 // #1f 0040a6: 1502 0004 |0087: const/high16 v2, #int 67108864 // #400 0040aa: 4b02 0001 |0089: aput v2, v0, v1 0040ae: 6900 3000 |008b: sput-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030 0040b2: 2330 3700 |008d: new-array v0, v3, [I // type@0037 0040b6: 1301 0900 |008f: const/16 v1, #int 9 // #9 0040ba: 1212 |0091: const/4 v2, #int 1 // #1 0040bc: 4b02 0001 |0092: aput v2, v0, v1 0040c0: 4b07 0004 |0094: aput v7, v0, v4 0040c4: 1301 0b00 |0096: const/16 v1, #int 11 // #b 0040c8: 1242 |0098: const/4 v2, #int 4 // #4 0040ca: 4b02 0001 |0099: aput v2, v0, v1 0040ce: 1301 0d00 |009b: const/16 v1, #int 13 // #d 0040d2: 4b05 0001 |009d: aput v5, v0, v1 0040d6: 1301 0e00 |009f: const/16 v1, #int 14 // #e 0040da: 4b03 0001 |00a1: aput v3, v0, v1 0040de: 1301 0f00 |00a3: const/16 v1, #int 15 // #f 0040e2: 1302 4000 |00a5: const/16 v2, #int 64 // #40 0040e6: 4b02 0001 |00a7: aput v2, v0, v1 0040ea: 1301 1100 |00a9: const/16 v1, #int 17 // #11 0040ee: 1302 0001 |00ab: const/16 v2, #int 256 // #100 0040f2: 4b02 0001 |00ad: aput v2, v0, v1 0040f6: 1301 1200 |00af: const/16 v1, #int 18 // #12 0040fa: 1302 0002 |00b1: const/16 v2, #int 512 // #200 0040fe: 4b02 0001 |00b3: aput v2, v0, v1 004102: 1301 1300 |00b5: const/16 v1, #int 19 // #13 004106: 1302 0004 |00b7: const/16 v2, #int 1024 // #400 00410a: 4b02 0001 |00b9: aput v2, v0, v1 00410e: 1301 0010 |00bb: const/16 v1, #int 4096 // #1000 004112: 4b01 0006 |00bd: aput v1, v0, v6 004116: 1301 1600 |00bf: const/16 v1, #int 22 // #16 00411a: 1302 0020 |00c1: const/16 v2, #int 8192 // #2000 00411e: 4b02 0001 |00c3: aput v2, v0, v1 004122: 1301 1700 |00c5: const/16 v1, #int 23 // #17 004126: 1302 0040 |00c7: const/16 v2, #int 16384 // #4000 00412a: 4b02 0001 |00c9: aput v2, v0, v1 00412e: 1301 1900 |00cb: const/16 v1, #int 25 // #19 004132: 1502 0100 |00cd: const/high16 v2, #int 65536 // #1 004136: 4b02 0001 |00cf: aput v2, v0, v1 00413a: 1301 1a00 |00d1: const/16 v1, #int 26 // #1a 00413e: 1502 0200 |00d3: const/high16 v2, #int 131072 // #2 004142: 4b02 0001 |00d5: aput v2, v0, v1 004146: 1301 1b00 |00d7: const/16 v1, #int 27 // #1b 00414a: 1502 0400 |00d9: const/high16 v2, #int 262144 // #4 00414e: 4b02 0001 |00db: aput v2, v0, v1 004152: 1301 1d00 |00dd: const/16 v1, #int 29 // #1d 004156: 1502 1000 |00df: const/high16 v2, #int 1048576 // #10 00415a: 4b02 0001 |00e1: aput v2, v0, v1 00415e: 1301 1e00 |00e3: const/16 v1, #int 30 // #1e 004162: 1502 2000 |00e5: const/high16 v2, #int 2097152 // #20 004166: 4b02 0001 |00e7: aput v2, v0, v1 00416a: 1301 1f00 |00e9: const/16 v1, #int 31 // #1f 00416e: 1502 4000 |00eb: const/high16 v2, #int 4194304 // #40 004172: 4b02 0001 |00ed: aput v2, v0, v1 004176: 6900 3100 |00ef: sput-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031 00417a: 2330 3700 |00f1: new-array v0, v3, [I // type@0037 00417e: 1241 |00f3: const/4 v1, #int 4 // #4 004180: 1212 |00f4: const/4 v2, #int 1 // #1 004182: 4b02 0001 |00f5: aput v2, v0, v1 004186: 1251 |00f7: const/4 v1, #int 5 // #5 004188: 4b07 0001 |00f8: aput v7, v0, v1 00418c: 1261 |00fa: const/4 v1, #int 6 // #6 00418e: 1242 |00fb: const/4 v2, #int 4 // #4 004190: 4b02 0001 |00fc: aput v2, v0, v1 004194: 1271 |00fe: const/4 v1, #int 7 // #7 004196: 1302 0800 |00ff: const/16 v2, #int 8 // #8 00419a: 4b02 0001 |0101: aput v2, v0, v1 00419e: 1301 0800 |0103: const/16 v1, #int 8 // #8 0041a2: 4b03 0001 |0105: aput v3, v0, v1 0041a6: 1301 0900 |0107: const/16 v1, #int 9 // #9 0041aa: 1302 4000 |0109: const/16 v2, #int 64 // #40 0041ae: 4b02 0001 |010b: aput v2, v0, v1 0041b2: 1301 8000 |010d: const/16 v1, #int 128 // #80 0041b6: 4b01 0004 |010f: aput v1, v0, v4 0041ba: 1301 0c00 |0111: const/16 v1, #int 12 // #c 0041be: 1302 0001 |0113: const/16 v2, #int 256 // #100 0041c2: 4b02 0001 |0115: aput v2, v0, v1 0041c6: 1301 0d00 |0117: const/16 v1, #int 13 // #d 0041ca: 1302 0002 |0119: const/16 v2, #int 512 // #200 0041ce: 4b02 0001 |011b: aput v2, v0, v1 0041d2: 1301 0e00 |011d: const/16 v1, #int 14 // #e 0041d6: 1302 0004 |011f: const/16 v2, #int 1024 // #400 0041da: 4b02 0001 |0121: aput v2, v0, v1 0041de: 1301 0f00 |0123: const/16 v1, #int 15 // #f 0041e2: 1302 0008 |0125: const/16 v2, #int 2048 // #800 0041e6: 4b02 0001 |0127: aput v2, v0, v1 0041ea: 1301 0020 |0129: const/16 v1, #int 8192 // #2000 0041ee: 4b01 0005 |012b: aput v1, v0, v5 0041f2: 1301 1100 |012d: const/16 v1, #int 17 // #11 0041f6: 1302 0040 |012f: const/16 v2, #int 16384 // #4000 0041fa: 4b02 0001 |0131: aput v2, v0, v1 0041fe: 1301 1200 |0133: const/16 v1, #int 18 // #12 004202: 1402 0080 0000 |0135: const v2, #float 4.59177e-41 // #00008000 004208: 4b02 0001 |0138: aput v2, v0, v1 00420c: 1301 1400 |013a: const/16 v1, #int 20 // #14 004210: 1502 0100 |013c: const/high16 v2, #int 65536 // #1 004214: 4b02 0001 |013e: aput v2, v0, v1 004218: 1501 0200 |0140: const/high16 v1, #int 131072 // #2 00421c: 4b01 0006 |0142: aput v1, v0, v6 004220: 1301 1600 |0144: const/16 v1, #int 22 // #16 004224: 1502 0400 |0146: const/high16 v2, #int 262144 // #4 004228: 4b02 0001 |0148: aput v2, v0, v1 00422c: 1301 1700 |014a: const/16 v1, #int 23 // #17 004230: 1502 0800 |014c: const/high16 v2, #int 524288 // #8 004234: 4b02 0001 |014e: aput v2, v0, v1 004238: 1301 1800 |0150: const/16 v1, #int 24 // #18 00423c: 1502 2000 |0152: const/high16 v2, #int 2097152 // #20 004240: 4b02 0001 |0154: aput v2, v0, v1 004244: 1301 1900 |0156: const/16 v1, #int 25 // #19 004248: 1502 4000 |0158: const/high16 v2, #int 4194304 // #40 00424c: 4b02 0001 |015a: aput v2, v0, v1 004250: 1301 1a00 |015c: const/16 v1, #int 26 // #1a 004254: 1502 8000 |015e: const/high16 v2, #int 8388608 // #80 004258: 4b02 0001 |0160: aput v2, v0, v1 00425c: 1301 1c00 |0162: const/16 v1, #int 28 // #1c 004260: 1502 0001 |0164: const/high16 v2, #int 16777216 // #100 004264: 4b02 0001 |0166: aput v2, v0, v1 004268: 1301 1d00 |0168: const/16 v1, #int 29 // #1d 00426c: 1502 0002 |016a: const/high16 v2, #int 33554432 // #200 004270: 4b02 0001 |016c: aput v2, v0, v1 004274: 1301 1e00 |016e: const/16 v1, #int 30 // #1e 004278: 1502 0004 |0170: const/high16 v2, #int 67108864 // #400 00427c: 4b02 0001 |0172: aput v2, v0, v1 004280: 1301 1f00 |0174: const/16 v1, #int 31 // #1f 004284: 1502 0008 |0176: const/high16 v2, #int 134217728 // #800 004288: 4b02 0001 |0178: aput v2, v0, v1 00428c: 6900 3200 |017a: sput-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032 004290: 2330 3700 |017c: new-array v0, v3, [I // type@0037 004294: 1301 0800 |017e: const/16 v1, #int 8 // #8 004298: 4b07 0001 |0180: aput v7, v0, v1 00429c: 1301 0900 |0182: const/16 v1, #int 9 // #9 0042a0: 1242 |0184: const/4 v2, #int 4 // #4 0042a2: 4b02 0001 |0185: aput v2, v0, v1 0042a6: 1301 0800 |0187: const/16 v1, #int 8 // #8 0042aa: 4b01 0004 |0189: aput v1, v0, v4 0042ae: 1301 0c00 |018b: const/16 v1, #int 12 // #c 0042b2: 4b03 0001 |018d: aput v3, v0, v1 0042b6: 1301 0d00 |018f: const/16 v1, #int 13 // #d 0042ba: 1302 4000 |0191: const/16 v2, #int 64 // #40 0042be: 4b02 0001 |0193: aput v2, v0, v1 0042c2: 1301 0e00 |0195: const/16 v1, #int 14 // #e 0042c6: 1302 8000 |0197: const/16 v2, #int 128 // #80 0042ca: 4b02 0001 |0199: aput v2, v0, v1 0042ce: 1301 0002 |019b: const/16 v1, #int 512 // #200 0042d2: 4b01 0005 |019d: aput v1, v0, v5 0042d6: 1301 1100 |019f: const/16 v1, #int 17 // #11 0042da: 1302 0004 |01a1: const/16 v2, #int 1024 // #400 0042de: 4b02 0001 |01a3: aput v2, v0, v1 0042e2: 1301 1200 |01a5: const/16 v1, #int 18 // #12 0042e6: 1302 0008 |01a7: const/16 v2, #int 2048 // #800 0042ea: 4b02 0001 |01a9: aput v2, v0, v1 0042ee: 1301 1400 |01ab: const/16 v1, #int 20 // #14 0042f2: 1302 0020 |01ad: const/16 v2, #int 8192 // #2000 0042f6: 4b02 0001 |01af: aput v2, v0, v1 0042fa: 1301 0040 |01b1: const/16 v1, #int 16384 // #4000 0042fe: 4b01 0006 |01b3: aput v1, v0, v6 004302: 1301 1600 |01b5: const/16 v1, #int 22 // #16 004306: 1402 0080 0000 |01b7: const v2, #float 4.59177e-41 // #00008000 00430c: 4b02 0001 |01ba: aput v2, v0, v1 004310: 1301 1800 |01bc: const/16 v1, #int 24 // #18 004314: 1502 0200 |01be: const/high16 v2, #int 131072 // #2 004318: 4b02 0001 |01c0: aput v2, v0, v1 00431c: 1301 1900 |01c2: const/16 v1, #int 25 // #19 004320: 1502 0400 |01c4: const/high16 v2, #int 262144 // #4 004324: 4b02 0001 |01c6: aput v2, v0, v1 004328: 1301 1a00 |01c8: const/16 v1, #int 26 // #1a 00432c: 1502 0800 |01ca: const/high16 v2, #int 524288 // #8 004330: 4b02 0001 |01cc: aput v2, v0, v1 004334: 1301 1c00 |01ce: const/16 v1, #int 28 // #1c 004338: 1502 2000 |01d0: const/high16 v2, #int 2097152 // #20 00433c: 4b02 0001 |01d2: aput v2, v0, v1 004340: 1301 1d00 |01d4: const/16 v1, #int 29 // #1d 004344: 1502 4000 |01d6: const/high16 v2, #int 4194304 // #40 004348: 4b02 0001 |01d8: aput v2, v0, v1 00434c: 1301 1e00 |01da: const/16 v1, #int 30 // #1e 004350: 1502 8000 |01dc: const/high16 v2, #int 8388608 // #80 004354: 4b02 0001 |01de: aput v2, v0, v1 004358: 6900 3300 |01e0: sput-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033 00435c: 2330 3700 |01e2: new-array v0, v3, [I // type@0037 004360: 1201 |01e4: const/4 v1, #int 0 // #0 004362: 4b05 0001 |01e5: aput v5, v0, v1 004366: 1211 |01e7: const/4 v1, #int 1 // #1 004368: 4b03 0001 |01e8: aput v3, v0, v1 00436c: 1301 4000 |01ea: const/16 v1, #int 64 // #40 004370: 4b01 0007 |01ec: aput v1, v0, v7 004374: 1231 |01ee: const/4 v1, #int 3 // #3 004376: 1302 8000 |01ef: const/16 v2, #int 128 // #80 00437a: 4b02 0001 |01f1: aput v2, v0, v1 00437e: 1251 |01f3: const/4 v1, #int 5 // #5 004380: 1302 0001 |01f4: const/16 v2, #int 256 // #100 004384: 4b02 0001 |01f6: aput v2, v0, v1 004388: 1261 |01f8: const/4 v1, #int 6 // #6 00438a: 1302 0002 |01f9: const/16 v2, #int 512 // #200 00438e: 4b02 0001 |01fb: aput v2, v0, v1 004392: 1271 |01fd: const/4 v1, #int 7 // #7 004394: 1302 0004 |01fe: const/16 v2, #int 1024 // #400 004398: 4b02 0001 |0200: aput v2, v0, v1 00439c: 1301 0800 |0202: const/16 v1, #int 8 // #8 0043a0: 1302 0010 |0204: const/16 v2, #int 4096 // #1000 0043a4: 4b02 0001 |0206: aput v2, v0, v1 0043a8: 1301 0900 |0208: const/16 v1, #int 9 // #9 0043ac: 1302 0020 |020a: const/16 v2, #int 8192 // #2000 0043b0: 4b02 0001 |020c: aput v2, v0, v1 0043b4: 1301 0040 |020e: const/16 v1, #int 16384 // #4000 0043b8: 4b01 0004 |0210: aput v1, v0, v4 0043bc: 1301 0b00 |0212: const/16 v1, #int 11 // #b 0043c0: 1402 0080 0000 |0214: const v2, #float 4.59177e-41 // #00008000 0043c6: 4b02 0001 |0217: aput v2, v0, v1 0043ca: 1301 0d00 |0219: const/16 v1, #int 13 // #d 0043ce: 1502 0100 |021b: const/high16 v2, #int 65536 // #1 0043d2: 4b02 0001 |021d: aput v2, v0, v1 0043d6: 1301 0e00 |021f: const/16 v1, #int 14 // #e 0043da: 1502 0200 |0221: const/high16 v2, #int 131072 // #2 0043de: 4b02 0001 |0223: aput v2, v0, v1 0043e2: 1301 0f00 |0225: const/16 v1, #int 15 // #f 0043e6: 1502 0400 |0227: const/high16 v2, #int 262144 // #4 0043ea: 4b02 0001 |0229: aput v2, v0, v1 0043ee: 1501 1000 |022b: const/high16 v1, #int 1048576 // #10 0043f2: 4b01 0005 |022d: aput v1, v0, v5 0043f6: 1301 1100 |022f: const/16 v1, #int 17 // #11 0043fa: 1502 2000 |0231: const/high16 v2, #int 2097152 // #20 0043fe: 4b02 0001 |0233: aput v2, v0, v1 004402: 1301 1200 |0235: const/16 v1, #int 18 // #12 004406: 1502 4000 |0237: const/high16 v2, #int 4194304 // #40 00440a: 4b02 0001 |0239: aput v2, v0, v1 00440e: 1301 1300 |023b: const/16 v1, #int 19 // #13 004412: 1502 8000 |023d: const/high16 v2, #int 8388608 // #80 004416: 4b02 0001 |023f: aput v2, v0, v1 00441a: 1501 0001 |0241: const/high16 v1, #int 16777216 // #100 00441e: 4b01 0006 |0243: aput v1, v0, v6 004422: 1301 1600 |0245: const/16 v1, #int 22 // #16 004426: 1502 0002 |0247: const/high16 v2, #int 33554432 // #200 00442a: 4b02 0001 |0249: aput v2, v0, v1 00442e: 1301 1700 |024b: const/16 v1, #int 23 // #17 004432: 1502 0004 |024d: const/high16 v2, #int 67108864 // #400 004436: 4b02 0001 |024f: aput v2, v0, v1 00443a: 1301 1800 |0251: const/16 v1, #int 24 // #18 00443e: 1502 0010 |0253: const/high16 v2, #int 268435456 // #1000 004442: 4b02 0001 |0255: aput v2, v0, v1 004446: 1301 1900 |0257: const/16 v1, #int 25 // #19 00444a: 1502 0020 |0259: const/high16 v2, #int 536870912 // #2000 00444e: 4b02 0001 |025b: aput v2, v0, v1 004452: 1301 1a00 |025d: const/16 v1, #int 26 // #1a 004456: 1502 0040 |025f: const/high16 v2, #int 1073741824 // #4000 00445a: 4b02 0001 |0261: aput v2, v0, v1 00445e: 1301 1b00 |0263: const/16 v1, #int 27 // #1b 004462: 1502 0080 |0265: const/high16 v2, #int -2147483648 // #8000 004466: 4b02 0001 |0267: aput v2, v0, v1 00446a: 6900 3400 |0269: sput-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034 00446e: 2330 3700 |026b: new-array v0, v3, [I // type@0037 004472: 1211 |026d: const/4 v1, #int 1 // #1 004474: 1302 0001 |026e: const/16 v2, #int 256 // #100 004478: 4b02 0001 |0270: aput v2, v0, v1 00447c: 1301 0002 |0272: const/16 v1, #int 512 // #200 004480: 4b01 0007 |0274: aput v1, v0, v7 004484: 1231 |0276: const/4 v1, #int 3 // #3 004486: 1302 0004 |0277: const/16 v2, #int 1024 // #400 00448a: 4b02 0001 |0279: aput v2, v0, v1 00448e: 1251 |027b: const/4 v1, #int 5 // #5 004490: 1302 0010 |027c: const/16 v2, #int 4096 // #1000 004494: 4b02 0001 |027e: aput v2, v0, v1 004498: 1261 |0280: const/4 v1, #int 6 // #6 00449a: 1302 0020 |0281: const/16 v2, #int 8192 // #2000 00449e: 4b02 0001 |0283: aput v2, v0, v1 0044a2: 1271 |0285: const/4 v1, #int 7 // #7 0044a4: 1302 0040 |0286: const/16 v2, #int 16384 // #4000 0044a8: 4b02 0001 |0288: aput v2, v0, v1 0044ac: 1301 0900 |028a: const/16 v1, #int 9 // #9 0044b0: 1502 0100 |028c: const/high16 v2, #int 65536 // #1 0044b4: 4b02 0001 |028e: aput v2, v0, v1 0044b8: 1501 0200 |0290: const/high16 v1, #int 131072 // #2 0044bc: 4b01 0004 |0292: aput v1, v0, v4 0044c0: 1301 0b00 |0294: const/16 v1, #int 11 // #b 0044c4: 1502 0400 |0296: const/high16 v2, #int 262144 // #4 0044c8: 4b02 0001 |0298: aput v2, v0, v1 0044cc: 1301 0d00 |029a: const/16 v1, #int 13 // #d 0044d0: 1502 1000 |029c: const/high16 v2, #int 1048576 // #10 0044d4: 4b02 0001 |029e: aput v2, v0, v1 0044d8: 1301 0e00 |02a0: const/16 v1, #int 14 // #e 0044dc: 1502 2000 |02a2: const/high16 v2, #int 2097152 // #20 0044e0: 4b02 0001 |02a4: aput v2, v0, v1 0044e4: 1301 0f00 |02a6: const/16 v1, #int 15 // #f 0044e8: 1502 4000 |02a8: const/high16 v2, #int 4194304 // #40 0044ec: 4b02 0001 |02aa: aput v2, v0, v1 0044f0: 1301 1100 |02ac: const/16 v1, #int 17 // #11 0044f4: 1502 0001 |02ae: const/high16 v2, #int 16777216 // #100 0044f8: 4b02 0001 |02b0: aput v2, v0, v1 0044fc: 1301 1200 |02b2: const/16 v1, #int 18 // #12 004500: 1502 0002 |02b4: const/high16 v2, #int 33554432 // #200 004504: 4b02 0001 |02b6: aput v2, v0, v1 004508: 1301 1300 |02b8: const/16 v1, #int 19 // #13 00450c: 1502 0004 |02ba: const/high16 v2, #int 67108864 // #400 004510: 4b02 0001 |02bc: aput v2, v0, v1 004514: 1501 0010 |02be: const/high16 v1, #int 268435456 // #1000 004518: 4b01 0006 |02c0: aput v1, v0, v6 00451c: 1301 1600 |02c2: const/16 v1, #int 22 // #16 004520: 1502 0020 |02c4: const/high16 v2, #int 536870912 // #2000 004524: 4b02 0001 |02c6: aput v2, v0, v1 004528: 1301 1700 |02c8: const/16 v1, #int 23 // #17 00452c: 1502 0040 |02ca: const/high16 v2, #int 1073741824 // #4000 004530: 4b02 0001 |02cc: aput v2, v0, v1 004534: 6900 3500 |02ce: sput-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035 004538: 2330 3700 |02d0: new-array v0, v3, [I // type@0037 00453c: 1201 |02d2: const/4 v1, #int 0 // #0 00453e: 4b03 0001 |02d3: aput v3, v0, v1 004542: 1211 |02d5: const/4 v1, #int 1 // #1 004544: 1302 4000 |02d6: const/16 v2, #int 64 // #40 004548: 4b02 0001 |02d8: aput v2, v0, v1 00454c: 1301 8000 |02da: const/16 v1, #int 128 // #80 004550: 4b01 0007 |02dc: aput v1, v0, v7 004554: 1241 |02de: const/4 v1, #int 4 // #4 004556: 1302 0001 |02df: const/16 v2, #int 256 // #100 00455a: 4b02 0001 |02e1: aput v2, v0, v1 00455e: 1251 |02e3: const/4 v1, #int 5 // #5 004560: 1302 0002 |02e4: const/16 v2, #int 512 // #200 004564: 4b02 0001 |02e6: aput v2, v0, v1 004568: 1261 |02e8: const/4 v1, #int 6 // #6 00456a: 1302 0004 |02e9: const/16 v2, #int 1024 // #400 00456e: 4b02 0001 |02eb: aput v2, v0, v1 004572: 1271 |02ed: const/4 v1, #int 7 // #7 004574: 1302 0008 |02ee: const/16 v2, #int 2048 // #800 004578: 4b02 0001 |02f0: aput v2, v0, v1 00457c: 1301 0800 |02f2: const/16 v1, #int 8 // #8 004580: 1302 0020 |02f4: const/16 v2, #int 8192 // #2000 004584: 4b02 0001 |02f6: aput v2, v0, v1 004588: 1301 0900 |02f8: const/16 v1, #int 9 // #9 00458c: 1302 0040 |02fa: const/16 v2, #int 16384 // #4000 004590: 4b02 0001 |02fc: aput v2, v0, v1 004594: 1401 0080 0000 |02fe: const v1, #float 4.59177e-41 // #00008000 00459a: 4b01 0004 |0301: aput v1, v0, v4 00459e: 1301 0c00 |0303: const/16 v1, #int 12 // #c 0045a2: 1502 0100 |0305: const/high16 v2, #int 65536 // #1 0045a6: 4b02 0001 |0307: aput v2, v0, v1 0045aa: 1301 0d00 |0309: const/16 v1, #int 13 // #d 0045ae: 1502 0200 |030b: const/high16 v2, #int 131072 // #2 0045b2: 4b02 0001 |030d: aput v2, v0, v1 0045b6: 1301 0e00 |030f: const/16 v1, #int 14 // #e 0045ba: 1502 0400 |0311: const/high16 v2, #int 262144 // #4 0045be: 4b02 0001 |0313: aput v2, v0, v1 0045c2: 1301 0f00 |0315: const/16 v1, #int 15 // #f 0045c6: 1502 0800 |0317: const/high16 v2, #int 524288 // #8 0045ca: 4b02 0001 |0319: aput v2, v0, v1 0045ce: 1501 2000 |031b: const/high16 v1, #int 2097152 // #20 0045d2: 4b01 0005 |031d: aput v1, v0, v5 0045d6: 1301 1100 |031f: const/16 v1, #int 17 // #11 0045da: 1502 4000 |0321: const/high16 v2, #int 4194304 // #40 0045de: 4b02 0001 |0323: aput v2, v0, v1 0045e2: 1301 1200 |0325: const/16 v1, #int 18 // #12 0045e6: 1502 8000 |0327: const/high16 v2, #int 8388608 // #80 0045ea: 4b02 0001 |0329: aput v2, v0, v1 0045ee: 1301 1400 |032b: const/16 v1, #int 20 // #14 0045f2: 1502 0001 |032d: const/high16 v2, #int 16777216 // #100 0045f6: 4b02 0001 |032f: aput v2, v0, v1 0045fa: 1501 0002 |0331: const/high16 v1, #int 33554432 // #200 0045fe: 4b01 0006 |0333: aput v1, v0, v6 004602: 1301 1600 |0335: const/16 v1, #int 22 // #16 004606: 1502 0004 |0337: const/high16 v2, #int 67108864 // #400 00460a: 4b02 0001 |0339: aput v2, v0, v1 00460e: 1301 1700 |033b: const/16 v1, #int 23 // #17 004612: 1502 0008 |033d: const/high16 v2, #int 134217728 // #800 004616: 4b02 0001 |033f: aput v2, v0, v1 00461a: 1301 1800 |0341: const/16 v1, #int 24 // #18 00461e: 1502 0020 |0343: const/high16 v2, #int 536870912 // #2000 004622: 4b02 0001 |0345: aput v2, v0, v1 004626: 1301 1900 |0347: const/16 v1, #int 25 // #19 00462a: 1502 0040 |0349: const/high16 v2, #int 1073741824 // #4000 00462e: 4b02 0001 |034b: aput v2, v0, v1 004632: 1301 1a00 |034d: const/16 v1, #int 26 // #1a 004636: 1502 0080 |034f: const/high16 v2, #int -2147483648 // #8000 00463a: 4b02 0001 |0351: aput v2, v0, v1 00463e: 6900 3600 |0353: sput-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036 004642: 2330 3700 |0355: new-array v0, v3, [I // type@0037 004646: 1201 |0357: const/4 v1, #int 0 // #0 004648: 1302 0002 |0358: const/16 v2, #int 512 // #200 00464c: 4b02 0001 |035a: aput v2, v0, v1 004650: 1211 |035c: const/4 v1, #int 1 // #1 004652: 1302 0004 |035d: const/16 v2, #int 1024 // #400 004656: 4b02 0001 |035f: aput v2, v0, v1 00465a: 1301 0008 |0361: const/16 v1, #int 2048 // #800 00465e: 4b01 0007 |0363: aput v1, v0, v7 004662: 1241 |0365: const/4 v1, #int 4 // #4 004664: 1302 0020 |0366: const/16 v2, #int 8192 // #2000 004668: 4b02 0001 |0368: aput v2, v0, v1 00466c: 1251 |036a: const/4 v1, #int 5 // #5 00466e: 1302 0040 |036b: const/16 v2, #int 16384 // #4000 004672: 4b02 0001 |036d: aput v2, v0, v1 004676: 1261 |036f: const/4 v1, #int 6 // #6 004678: 1402 0080 0000 |0370: const v2, #float 4.59177e-41 // #00008000 00467e: 4b02 0001 |0373: aput v2, v0, v1 004682: 1301 0800 |0375: const/16 v1, #int 8 // #8 004686: 1502 0200 |0377: const/high16 v2, #int 131072 // #2 00468a: 4b02 0001 |0379: aput v2, v0, v1 00468e: 1301 0900 |037b: const/16 v1, #int 9 // #9 004692: 1502 0400 |037d: const/high16 v2, #int 262144 // #4 004696: 4b02 0001 |037f: aput v2, v0, v1 00469a: 1501 0800 |0381: const/high16 v1, #int 524288 // #8 00469e: 4b01 0004 |0383: aput v1, v0, v4 0046a2: 1301 0c00 |0385: const/16 v1, #int 12 // #c 0046a6: 1502 2000 |0387: const/high16 v2, #int 2097152 // #20 0046aa: 4b02 0001 |0389: aput v2, v0, v1 0046ae: 1301 0d00 |038b: const/16 v1, #int 13 // #d 0046b2: 1502 4000 |038d: const/high16 v2, #int 4194304 // #40 0046b6: 4b02 0001 |038f: aput v2, v0, v1 0046ba: 1301 0e00 |0391: const/16 v1, #int 14 // #e 0046be: 1502 8000 |0393: const/high16 v2, #int 8388608 // #80 0046c2: 4b02 0001 |0395: aput v2, v0, v1 0046c6: 1501 0002 |0397: const/high16 v1, #int 33554432 // #200 0046ca: 4b01 0005 |0399: aput v1, v0, v5 0046ce: 1301 1100 |039b: const/16 v1, #int 17 // #11 0046d2: 1502 0004 |039d: const/high16 v2, #int 67108864 // #400 0046d6: 4b02 0001 |039f: aput v2, v0, v1 0046da: 1301 1200 |03a1: const/16 v1, #int 18 // #12 0046de: 1502 0008 |03a3: const/high16 v2, #int 134217728 // #800 0046e2: 4b02 0001 |03a5: aput v2, v0, v1 0046e6: 1301 1400 |03a7: const/16 v1, #int 20 // #14 0046ea: 1502 0020 |03a9: const/high16 v2, #int 536870912 // #2000 0046ee: 4b02 0001 |03ab: aput v2, v0, v1 0046f2: 1501 0040 |03ad: const/high16 v1, #int 1073741824 // #4000 0046f6: 4b01 0006 |03af: aput v1, v0, v6 0046fa: 1301 1600 |03b1: const/16 v1, #int 22 // #16 0046fe: 1502 0080 |03b3: const/high16 v2, #int -2147483648 // #8000 004702: 4b02 0001 |03b5: aput v2, v0, v1 004706: 6900 3700 |03b7: sput-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037 00470a: 2330 3700 |03b9: new-array v0, v3, [I // type@0037 00470e: 1211 |03bb: const/4 v1, #int 1 // #1 004710: 4b01 0007 |03bc: aput v1, v0, v7 004714: 1231 |03be: const/4 v1, #int 3 // #3 004716: 1232 |03bf: const/4 v2, #int 3 // #3 004718: 4b02 0001 |03c0: aput v2, v0, v1 00471c: 1241 |03c2: const/4 v1, #int 4 // #4 00471e: 1262 |03c3: const/4 v2, #int 6 // #6 004720: 4b02 0001 |03c4: aput v2, v0, v1 004724: 1251 |03c6: const/4 v1, #int 5 // #5 004726: 4b04 0001 |03c7: aput v4, v0, v1 00472a: 1261 |03c9: const/4 v1, #int 6 // #6 00472c: 1302 0f00 |03ca: const/16 v2, #int 15 // #f 004730: 4b02 0001 |03cc: aput v2, v0, v1 004734: 1271 |03ce: const/4 v1, #int 7 // #7 004736: 4b06 0001 |03cf: aput v6, v0, v1 00473a: 1301 0800 |03d1: const/16 v1, #int 8 // #8 00473e: 1302 1c00 |03d3: const/16 v2, #int 28 // #1c 004742: 4b02 0001 |03d5: aput v2, v0, v1 004746: 1301 0900 |03d7: const/16 v1, #int 9 // #9 00474a: 1302 2400 |03d9: const/16 v2, #int 36 // #24 00474e: 4b02 0001 |03db: aput v2, v0, v1 004752: 1301 2d00 |03dd: const/16 v1, #int 45 // #2d 004756: 4b01 0004 |03df: aput v1, v0, v4 00475a: 1301 0b00 |03e1: const/16 v1, #int 11 // #b 00475e: 1302 3700 |03e3: const/16 v2, #int 55 // #37 004762: 4b02 0001 |03e5: aput v2, v0, v1 004766: 1301 0c00 |03e7: const/16 v1, #int 12 // #c 00476a: 1302 4200 |03e9: const/16 v2, #int 66 // #42 00476e: 4b02 0001 |03eb: aput v2, v0, v1 004772: 1301 0d00 |03ed: const/16 v1, #int 13 // #d 004776: 1302 4e00 |03ef: const/16 v2, #int 78 // #4e 00477a: 4b02 0001 |03f1: aput v2, v0, v1 00477e: 1301 0e00 |03f3: const/16 v1, #int 14 // #e 004782: 1302 5b00 |03f5: const/16 v2, #int 91 // #5b 004786: 4b02 0001 |03f7: aput v2, v0, v1 00478a: 1301 0f00 |03f9: const/16 v1, #int 15 // #f 00478e: 1302 6900 |03fb: const/16 v2, #int 105 // #69 004792: 4b02 0001 |03fd: aput v2, v0, v1 004796: 1301 7800 |03ff: const/16 v1, #int 120 // #78 00479a: 4b01 0005 |0401: aput v1, v0, v5 00479e: 1301 1100 |0403: const/16 v1, #int 17 // #11 0047a2: 1302 8800 |0405: const/16 v2, #int 136 // #88 0047a6: 4b02 0001 |0407: aput v2, v0, v1 0047aa: 1301 1200 |0409: const/16 v1, #int 18 // #12 0047ae: 1302 9900 |040b: const/16 v2, #int 153 // #99 0047b2: 4b02 0001 |040d: aput v2, v0, v1 0047b6: 1301 1300 |040f: const/16 v1, #int 19 // #13 0047ba: 1302 ab00 |0411: const/16 v2, #int 171 // #ab 0047be: 4b02 0001 |0413: aput v2, v0, v1 0047c2: 1301 1400 |0415: const/16 v1, #int 20 // #14 0047c6: 1302 be00 |0417: const/16 v2, #int 190 // #be 0047ca: 4b02 0001 |0419: aput v2, v0, v1 0047ce: 1301 d200 |041b: const/16 v1, #int 210 // #d2 0047d2: 4b01 0006 |041d: aput v1, v0, v6 0047d6: 1301 1600 |041f: const/16 v1, #int 22 // #16 0047da: 1302 e700 |0421: const/16 v2, #int 231 // #e7 0047de: 4b02 0001 |0423: aput v2, v0, v1 0047e2: 1301 1700 |0425: const/16 v1, #int 23 // #17 0047e6: 1302 fd00 |0427: const/16 v2, #int 253 // #fd 0047ea: 4b02 0001 |0429: aput v2, v0, v1 0047ee: 1301 1800 |042b: const/16 v1, #int 24 // #18 0047f2: 1302 1401 |042d: const/16 v2, #int 276 // #114 0047f6: 4b02 0001 |042f: aput v2, v0, v1 0047fa: 1301 1900 |0431: const/16 v1, #int 25 // #19 0047fe: 1302 2c01 |0433: const/16 v2, #int 300 // #12c 004802: 4b02 0001 |0435: aput v2, v0, v1 004806: 1301 1a00 |0437: const/16 v1, #int 26 // #1a 00480a: 1302 4501 |0439: const/16 v2, #int 325 // #145 00480e: 4b02 0001 |043b: aput v2, v0, v1 004812: 1301 1b00 |043d: const/16 v1, #int 27 // #1b 004816: 1302 5f01 |043f: const/16 v2, #int 351 // #15f 00481a: 4b02 0001 |0441: aput v2, v0, v1 00481e: 1301 1c00 |0443: const/16 v1, #int 28 // #1c 004822: 1302 7a01 |0445: const/16 v2, #int 378 // #17a 004826: 4b02 0001 |0447: aput v2, v0, v1 00482a: 1301 1d00 |0449: const/16 v1, #int 29 // #1d 00482e: 1302 9601 |044b: const/16 v2, #int 406 // #196 004832: 4b02 0001 |044d: aput v2, v0, v1 004836: 1301 1e00 |044f: const/16 v1, #int 30 // #1e 00483a: 1302 b301 |0451: const/16 v2, #int 435 // #1b3 00483e: 4b02 0001 |0453: aput v2, v0, v1 004842: 1301 1f00 |0455: const/16 v1, #int 31 // #1f 004846: 1302 d101 |0457: const/16 v2, #int 465 // #1d1 00484a: 4b02 0001 |0459: aput v2, v0, v1 00484e: 6900 3800 |045b: sput-object v0, Lcom/google/android/checkers/a;.L:[I // field@0038 004852: 1300 8100 |045d: const/16 v0, #int 129 // #81 004856: 2300 3700 |045f: new-array v0, v0, [I // type@0037 00485a: 2600 0700 0000 |0461: fill-array-data v0, 00000468 // +00000007 004860: 6900 3900 |0464: sput-object v0, Lcom/google/android/checkers/a;.M:[I // field@0039 004864: 0e00 |0466: return-void 004866: 0000 |0467: nop // spacer 004868: 0003 0400 8100 0000 6745 68ba ff5c ... |0468: array-data (262 units) catches : (none) positions : locals : #1 : (in Lcom/google/android/checkers/a;) name : '' type : '(Lcom/google/android/checkers/CheckersView;)V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 114 code - registers : 7 ins : 2 outs : 1 insns size : 94 16-bit code units 004a74: |[004a74] com.google.android.checkers.a.:(Lcom/google/android/checkers/CheckersView;)V 004a84: 1304 4000 |0000: const/16 v4, #int 64 // #40 004a88: 1203 |0002: const/4 v3, #int 0 // #0 004a8a: 1302 0010 |0003: const/16 v2, #int 4096 // #1000 004a8e: 1200 |0005: const/4 v0, #int 0 // #0 004a90: 7010 ad00 0500 |0006: invoke-direct {v5}, Ljava/lang/Thread;.:()V // method@00ad 004a96: 1301 e803 |0009: const/16 v1, #int 1000 // #3e8 004a9a: 5951 4100 |000b: iput v1, v5, Lcom/google/android/checkers/a;.h:I // field@0041 004a9e: 2201 3300 |000d: new-instance v1, Ljava/util/Random; // type@0033 004aa2: 7010 af00 0100 |000f: invoke-direct {v1}, Ljava/util/Random;.:()V // method@00af 004aa8: 5b51 4200 |0012: iput-object v1, v5, Lcom/google/android/checkers/a;.i:Ljava/util/Random; // field@0042 004aac: 5b56 4300 |0014: iput-object v6, v5, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043 004ab0: 5c50 4400 |0016: iput-boolean v0, v5, Lcom/google/android/checkers/a;.k:Z // field@0044 004ab4: 2321 3700 |0018: new-array v1, v2, [I // type@0037 004ab8: 5b51 4800 |001a: iput-object v1, v5, Lcom/google/android/checkers/a;.o:[I // field@0048 004abc: 2321 3700 |001c: new-array v1, v2, [I // type@0037 004ac0: 5b51 3a00 |001e: iput-object v1, v5, Lcom/google/android/checkers/a;.a:[I // field@003a 004ac4: 2321 3700 |0020: new-array v1, v2, [I // type@0037 004ac8: 5b51 4900 |0022: iput-object v1, v5, Lcom/google/android/checkers/a;.p:[I // field@0049 004acc: 2341 3700 |0024: new-array v1, v4, [I // type@0037 004ad0: 5b51 3b00 |0026: iput-object v1, v5, Lcom/google/android/checkers/a;.b:[I // field@003b 004ad4: 2341 3700 |0028: new-array v1, v4, [I // type@0037 004ad8: 5b51 4a00 |002a: iput-object v1, v5, Lcom/google/android/checkers/a;.q:[I // field@004a 004adc: 5c50 4c00 |002c: iput-boolean v0, v5, Lcom/google/android/checkers/a;.s:Z // field@004c 004ae0: 1501 1000 |002e: const/high16 v1, #int 1048576 // #10 004ae4: 2311 3700 |0030: new-array v1, v1, [I // type@0037 004ae8: 5b51 5200 |0032: iput-object v1, v5, Lcom/google/android/checkers/a;.y:[I // field@0052 004aec: 1501 1000 |0034: const/high16 v1, #int 1048576 // #10 004af0: 2311 3900 |0036: new-array v1, v1, [S // type@0039 004af4: 5b51 5300 |0038: iput-object v1, v5, Lcom/google/android/checkers/a;.z:[S // field@0053 004af8: 1501 1000 |003a: const/high16 v1, #int 1048576 // #10 004afc: 2311 3600 |003c: new-array v1, v1, [B // type@0036 004b00: 5b51 2d00 |003e: iput-object v1, v5, Lcom/google/android/checkers/a;.A:[B // field@002d 004b04: 5451 5200 |0040: iget-object v1, v5, Lcom/google/android/checkers/a;.y:[I // field@0052 004b08: 3801 0b00 |0042: if-eqz v1, 004d // +000b 004b0c: 5451 5300 |0044: iget-object v1, v5, Lcom/google/android/checkers/a;.z:[S // field@0053 004b10: 3801 0700 |0046: if-eqz v1, 004d // +0007 004b14: 5451 2d00 |0048: iget-object v1, v5, Lcom/google/android/checkers/a;.A:[B // field@002d 004b18: 3801 0300 |004a: if-eqz v1, 004d // +0003 004b1c: 1210 |004c: const/4 v0, #int 1 // #1 004b1e: 5c50 2e00 |004d: iput-boolean v0, v5, Lcom/google/android/checkers/a;.B:Z // field@002e 004b22: 6e10 7b00 0500 |004f: invoke-virtual {v5}, Lcom/google/android/checkers/a;.a:()V // method@007b 004b28: 6e10 8e00 0500 |0052: invoke-virtual {v5}, Lcom/google/android/checkers/a;.start:()V // method@008e 004b2e: 0e00 |0055: return-void 004b30: 0d01 |0056: move-exception v1 004b32: 5b53 5200 |0057: iput-object v3, v5, Lcom/google/android/checkers/a;.y:[I // field@0052 004b36: 5b53 5300 |0059: iput-object v3, v5, Lcom/google/android/checkers/a;.z:[S // field@0053 004b3a: 5b53 2d00 |005b: iput-object v3, v5, Lcom/google/android/checkers/a;.A:[B // field@002d 004b3e: 28e3 |005d: goto 0040 // -001d catches : 1 0x0030 - 0x0040 Ljava/lang/Exception; -> 0x0056 positions : locals : #2 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(II)I' access : 0x001a (PRIVATE STATIC FINAL) method_idx : 115 code - registers : 3 ins : 2 outs : 0 insns size : 14 16-bit code units 004b4c: |[004b4c] com.google.android.checkers.a.a:(II)I 004b5c: 3d01 0600 |0000: if-lez v1, 0006 // +0006 004b60: d010 757e |0002: add-int/lit16 v0, v1, #int 32373 // #7e75 004b64: b120 |0004: sub-int/2addr v0, v2 004b66: 0f00 |0005: return v0 004b68: 3b01 0600 |0006: if-gez v1, 000c // +0006 004b6c: d010 8b81 |0008: add-int/lit16 v0, v1, #int -32373 // #818b 004b70: b020 |000a: add-int/2addr v0, v2 004b72: 28fa |000b: goto 0005 // -0006 004b74: 1200 |000c: const/4 v0, #int 0 // #0 004b76: 28f8 |000d: goto 0005 // -0008 catches : (none) positions : locals : #3 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(IIIIIZ)I' access : 0x0012 (PRIVATE FINAL) method_idx : 116 code - registers : 31 ins : 7 outs : 7 insns size : 1296 16-bit code units 004b78: |[004b78] com.google.android.checkers.a.a:(IIIIIZ)I 004b88: 0800 1800 |0000: move-object/from16 v0, v24 004b8c: 5203 2f00 |0002: iget v3, v0, Lcom/google/android/checkers/a;.C:I // field@002f 004b90: d803 0301 |0004: add-int/lit8 v3, v3, #int 1 // #01 004b94: 0800 1800 |0006: move-object/from16 v0, v24 004b98: 5903 2f00 |0008: iput v3, v0, Lcom/google/android/checkers/a;.C:I // field@002f 004b9c: 0800 1800 |000a: move-object/from16 v0, v24 004ba0: 5203 4f00 |000c: iget v3, v0, Lcom/google/android/checkers/a;.v:I // field@004f 004ba4: 3803 0800 |000e: if-eqz v3, 0016 // +0008 004ba8: 0800 1800 |0010: move-object/from16 v0, v24 004bac: 5203 5000 |0012: iget v3, v0, Lcom/google/android/checkers/a;.w:I // field@0050 004bb0: 3903 0700 |0014: if-nez v3, 001b // +0007 004bb4: 0200 1b00 |0016: move/from16 v0, v27 004bb8: d004 0c81 |0018: add-int/lit16 v4, v0, #int -32500 // #810c 004bbc: 0f04 |001a: return v4 004bbe: 0800 1800 |001b: move-object/from16 v0, v24 004bc2: 5503 4e00 |001d: iget-boolean v3, v0, Lcom/google/android/checkers/a;.u:Z // field@004e 004bc6: 3803 0e00 |001f: if-eqz v3, 002d // +000e 004bca: 0800 1800 |0021: move-object/from16 v0, v24 004bce: 5203 4f00 |0023: iget v3, v0, Lcom/google/android/checkers/a;.v:I // field@004f 004bd2: 0800 1800 |0025: move-object/from16 v0, v24 004bd6: 5204 5000 |0027: iget v4, v0, Lcom/google/android/checkers/a;.w:I // field@0050 004bda: b043 |0029: add-int/2addr v3, v4 004bdc: 2b03 c004 0000 |002a: packed-switch v3, 000004ea // +000004c0 004be2: 1303 4000 |002d: const/16 v3, #int 64 // #40 004be6: 0200 1c00 |002f: move/from16 v0, v28 004bea: 3530 b404 |0031: if-ge v0, v3, 04e5 // +04b4 004bee: 1303 6400 |0033: const/16 v3, #int 100 // #64 004bf2: 0200 1d00 |0035: move/from16 v0, v29 004bf6: 3430 ae04 |0037: if-lt v0, v3, 04e5 // +04ae 004bfa: d81d 1d9c |0039: add-int/lit8 v29, v29, #int -100 // #9c 004bfe: d81c 1c01 |003b: add-int/lit8 v28, v28, #int 1 // #01 004c02: 0207 1c00 |003d: move/from16 v7, v28 004c06: 0200 1b00 |003f: move/from16 v0, v27 004c0a: 3570 8103 |0041: if-ge v0, v7, 03c2 // +0381 004c0e: 0800 1800 |0043: move-object/from16 v0, v24 004c12: 5503 2e00 |0045: iget-boolean v3, v0, Lcom/google/android/checkers/a;.B:Z // field@002e 004c16: 3803 3400 |0047: if-eqz v3, 007b // +0034 004c1a: 0800 1800 |0049: move-object/from16 v0, v24 004c1e: 5203 5100 |004b: iget v3, v0, Lcom/google/android/checkers/a;.x:I // field@0051 004c22: 1404 ffff 0f00 |004d: const v4, #float 1.46937e-39 // #000fffff 004c28: b534 |0050: and-int/2addr v4, v3 004c2a: 0800 1800 |0051: move-object/from16 v0, v24 004c2e: 5405 5200 |0053: iget-object v5, v0, Lcom/google/android/checkers/a;.y:[I // field@0052 004c32: 4405 0504 |0055: aget v5, v5, v4 004c36: 3335 d702 |0057: if-ne v5, v3, 032e // +02d7 004c3a: 0800 1800 |0059: move-object/from16 v0, v24 004c3e: 5403 2d00 |005b: iget-object v3, v0, Lcom/google/android/checkers/a;.A:[B // field@002d 004c42: 4803 0304 |005d: aget-byte v3, v3, v4 004c46: dd03 033f |005f: and-int/lit8 v3, v3, #int 63 // #3f 004c4a: 9105 071b |0061: sub-int v5, v7, v27 004c4e: 3453 cb02 |0063: if-lt v3, v5, 032e // +02cb 004c52: 0800 1800 |0065: move-object/from16 v0, v24 004c56: 5403 2d00 |0067: iget-object v3, v0, Lcom/google/android/checkers/a;.A:[B // field@002d 004c5a: 4803 0304 |0069: aget-byte v3, v3, v4 004c5e: d533 c000 |006b: and-int/lit16 v3, v3, #int 192 // #00c0 004c62: 0800 1800 |006d: move-object/from16 v0, v24 004c66: 5405 5300 |006f: iget-object v5, v0, Lcom/google/android/checkers/a;.z:[S // field@0053 004c6a: 4a04 0504 |0071: aget-short v4, v5, v4 004c6e: 2c03 8104 0000 |0073: sparse-switch v3, 000004f4 // +00000481 004c74: 1403 3f42 0f00 |0076: const v3, #float 1.4013e-39 // #000f423f 004c7a: 3334 a1ff |0079: if-ne v4, v3, 001a // -005f 004c7e: 0800 1800 |007b: move-object/from16 v0, v24 004c82: 0201 1b00 |007d: move/from16 v1, v27 004c86: 0202 1e00 |007f: move/from16 v2, v30 004c8a: 7030 7500 1002 |0081: invoke-direct {v0, v1, v2}, Lcom/google/android/checkers/a;.a:(IZ)I // method@0075 004c90: 0a03 |0084: move-result v3 004c92: 2b03 7904 0000 |0085: packed-switch v3, 000004fe // +00000479 004c98: 0800 1800 |0088: move-object/from16 v0, v24 004c9c: 520d 3c00 |008a: iget v13, v0, Lcom/google/android/checkers/a;.c:I // field@003c 004ca0: 0800 1800 |008c: move-object/from16 v0, v24 004ca4: 520e 4b00 |008e: iget v14, v0, Lcom/google/android/checkers/a;.r:I // field@004b 004ca8: 0800 1800 |0090: move-object/from16 v0, v24 004cac: 520f 3d00 |0092: iget v15, v0, Lcom/google/android/checkers/a;.d:I // field@003d 004cb0: 0800 1800 |0094: move-object/from16 v0, v24 004cb4: 5200 3e00 |0096: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e 004cb8: 0210 0000 |0098: move/from16 v16, v0 004cbc: 0800 1800 |009a: move-object/from16 v0, v24 004cc0: 5200 3f00 |009c: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f 004cc4: 0211 0000 |009e: move/from16 v17, v0 004cc8: 0800 1800 |00a0: move-object/from16 v0, v24 004ccc: 5200 4000 |00a2: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040 004cd0: 0212 0000 |00a4: move/from16 v18, v0 004cd4: 0800 1800 |00a6: move-object/from16 v0, v24 004cd8: 5200 4f00 |00a8: iget v0, v0, Lcom/google/android/checkers/a;.v:I // field@004f 004cdc: 0213 0000 |00aa: move/from16 v19, v0 004ce0: 0800 1800 |00ac: move-object/from16 v0, v24 004ce4: 5200 5000 |00ae: iget v0, v0, Lcom/google/android/checkers/a;.w:I // field@0050 004ce8: 0214 0000 |00b0: move/from16 v20, v0 004cec: 0800 1800 |00b2: move-object/from16 v0, v24 004cf0: 5200 5100 |00b4: iget v0, v0, Lcom/google/android/checkers/a;.x:I // field@0051 004cf4: 0215 0000 |00b6: move/from16 v21, v0 004cf8: 2b0d 4e04 0000 |00b8: packed-switch v13, 00000506 // +0000044e 004cfe: 1208 |00bb: const/4 v8, #int 0 // #0 004d00: 130a 4000 |00bc: const/16 v10, #int 64 // #40 004d04: 1203 |00be: const/4 v3, #int 0 // #0 004d06: 013c |00bf: move v12, v3 004d08: 020b 1900 |00c0: move/from16 v11, v25 004d0c: 34dc 9602 |00c2: if-lt v12, v13, 0358 // +0296 004d10: 0800 1800 |00c4: move-object/from16 v0, v24 004d14: 5503 2e00 |00c6: iget-boolean v3, v0, Lcom/google/android/checkers/a;.B:Z // field@002e 004d18: 3803 0900 |00c8: if-eqz v3, 00d1 // +0009 004d1c: 0800 1800 |00ca: move-object/from16 v0, v24 004d20: 0201 1b00 |00cc: move/from16 v1, v27 004d24: 705b 7d00 10a7 |00ce: invoke-direct {v0, v1, v7, v10, v11}, Lcom/google/android/checkers/a;.a:(IIII)V // method@007d 004d2a: 01b4 |00d1: move v4, v11 004d2c: 2900 48ff |00d2: goto/16 001a // -00b8 004d30: 0800 1800 |00d4: move-object/from16 v0, v24 004d34: 5203 3d00 |00d6: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d 004d38: 3803 3800 |00d8: if-eqz v3, 0110 // +0038 004d3c: 0800 1800 |00da: move-object/from16 v0, v24 004d40: 5203 3f00 |00dc: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f 004d44: 3803 3200 |00de: if-eqz v3, 0110 // +0032 004d48: 0800 1800 |00e0: move-object/from16 v0, v24 004d4c: 5203 3d00 |00e2: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d 004d50: 0800 1800 |00e4: move-object/from16 v0, v24 004d54: 5205 3f00 |00e6: iget v5, v0, Lcom/google/android/checkers/a;.f:I // field@003f 004d58: 381e 1b00 |00e8: if-eqz v30, 0103 // +001b 004d5c: 7110 9f00 0300 |00ea: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 004d62: 0a04 |00ed: move-result v4 004d64: 7110 9f00 0500 |00ee: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 004d6a: 0a03 |00f1: move-result v3 004d6c: d803 03fc |00f2: add-int/lit8 v3, v3, #int -4 // #fc 004d70: 6205 5c00 |00f4: sget-object v5, Lcom/google/android/checkers/g;.d:[B // field@005c 004d74: da03 031c |00f6: mul-int/lit8 v3, v3, #int 28 // #1c 004d78: b043 |00f8: add-int/2addr v3, v4 004d7a: 4803 0503 |00f9: aget-byte v3, v5, v3 004d7e: 0200 1b00 |00fb: move/from16 v0, v27 004d82: 7120 7300 0300 |00fd: invoke-static {v3, v0}, Lcom/google/android/checkers/a;.a:(II)I // method@0073 004d88: 0a04 |0100: move-result v4 004d8a: 2900 19ff |0101: goto/16 001a // -00e7 004d8e: 7110 9f00 0500 |0103: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 004d94: 0a04 |0106: move-result v4 004d96: d904 041f |0107: rsub-int/lit8 v4, v4, #int 31 // #1f 004d9a: 7110 9f00 0300 |0109: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 004da0: 0a03 |010c: move-result v3 004da2: d903 031f |010d: rsub-int/lit8 v3, v3, #int 31 // #1f 004da6: 28e3 |010f: goto 00f2 // -001d 004da8: 0800 1800 |0110: move-object/from16 v0, v24 004dac: 5203 3f00 |0112: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f 004db0: 3803 1200 |0114: if-eqz v3, 0126 // +0012 004db4: 0800 1800 |0116: move-object/from16 v0, v24 004db8: 5203 3e00 |0118: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e 004dbc: 0800 1800 |011a: move-object/from16 v0, v24 004dc0: 5204 3f00 |011c: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f 004dc4: 1205 |011e: const/4 v5, #int 0 // #0 004dc6: 0200 1e00 |011f: move/from16 v0, v30 004dca: 7140 7900 3054 |0121: invoke-static {v0, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(ZIIZ)I // method@0079 004dd0: 0a03 |0124: move-result v3 004dd2: 28d6 |0125: goto 00fb // -002a 004dd4: 0800 1800 |0126: move-object/from16 v0, v24 004dd8: 5203 3d00 |0128: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d 004ddc: 3803 1500 |012a: if-eqz v3, 013f // +0015 004de0: 381e 1100 |012c: if-eqz v30, 013d // +0011 004de4: 1203 |012e: const/4 v3, #int 0 // #0 004de6: 0800 1800 |012f: move-object/from16 v0, v24 004dea: 5204 4000 |0131: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040 004dee: 0800 1800 |0133: move-object/from16 v0, v24 004df2: 5205 3d00 |0135: iget v5, v0, Lcom/google/android/checkers/a;.d:I // field@003d 004df6: 1216 |0137: const/4 v6, #int 1 // #1 004df8: 7140 7900 4365 |0138: invoke-static {v3, v4, v5, v6}, Lcom/google/android/checkers/a;.a:(ZIIZ)I // method@0079 004dfe: 0a03 |013b: move-result v3 004e00: 28bf |013c: goto 00fb // -0041 004e02: 1213 |013d: const/4 v3, #int 1 // #1 004e04: 28f1 |013e: goto 012f // -000f 004e06: 0800 1800 |013f: move-object/from16 v0, v24 004e0a: 5203 3e00 |0141: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e 004e0e: 0800 1800 |0143: move-object/from16 v0, v24 004e12: 5205 4000 |0145: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040 004e16: 381e 1a00 |0147: if-eqz v30, 0161 // +001a 004e1a: 7110 9f00 0300 |0149: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 004e20: 0a04 |014c: move-result v4 004e22: 7110 9f00 0500 |014d: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 004e28: 0a03 |0150: move-result v3 004e2a: 1305 1000 |0151: const/16 v5, #int 16 // #10 004e2e: 3454 0600 |0153: if-lt v4, v5, 0159 // +0006 004e32: d904 041f |0155: rsub-int/lit8 v4, v4, #int 31 // #1f 004e36: d903 031f |0157: rsub-int/lit8 v3, v3, #int 31 // #1f 004e3a: 6205 5900 |0159: sget-object v5, Lcom/google/android/checkers/g;.a:[B // field@0059 004e3e: da03 0310 |015b: mul-int/lit8 v3, v3, #int 16 // #10 004e42: b043 |015d: add-int/2addr v3, v4 004e44: 4803 0503 |015e: aget-byte v3, v5, v3 004e48: 289b |0160: goto 00fb // -0065 004e4a: 7110 9f00 0500 |0161: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 004e50: 0a04 |0164: move-result v4 004e52: 7110 9f00 0300 |0165: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 004e58: 0a03 |0168: move-result v3 004e5a: 28e8 |0169: goto 0151 // -0018 004e5c: 0800 1800 |016a: move-object/from16 v0, v24 004e60: 5203 4f00 |016c: iget v3, v0, Lcom/google/android/checkers/a;.v:I // field@004f 004e64: 1214 |016e: const/4 v4, #int 1 // #1 004e66: 3343 a000 |016f: if-ne v3, v4, 020f // +00a0 004e6a: 0800 1800 |0171: move-object/from16 v0, v24 004e6e: 5203 3d00 |0173: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d 004e72: 3803 5200 |0175: if-eqz v3, 01c7 // +0052 004e76: 0800 1800 |0177: move-object/from16 v0, v24 004e7a: 5203 4000 |0179: iget v3, v0, Lcom/google/android/checkers/a;.g:I // field@0040 004e7e: 3903 1c00 |017b: if-nez v3, 0197 // +001c 004e82: 381e 1800 |017d: if-eqz v30, 0195 // +0018 004e86: 1203 |017f: const/4 v3, #int 0 // #0 004e88: 0800 1800 |0180: move-object/from16 v0, v24 004e8c: 5204 3f00 |0182: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f 004e90: 0800 1800 |0184: move-object/from16 v0, v24 004e94: 5205 3d00 |0186: iget v5, v0, Lcom/google/android/checkers/a;.d:I // field@003d 004e98: 1216 |0188: const/4 v6, #int 1 // #1 004e9a: 7140 8c00 4365 |0189: invoke-static {v3, v4, v5, v6}, Lcom/google/android/checkers/a;.d:(ZIIZ)I // method@008c 004ea0: 0a03 |018c: move-result v3 004ea2: 0200 1b00 |018d: move/from16 v0, v27 004ea6: 7120 7300 0300 |018f: invoke-static {v3, v0}, Lcom/google/android/checkers/a;.a:(II)I // method@0073 004eac: 0a04 |0192: move-result v4 004eae: 2900 87fe |0193: goto/16 001a // -0179 004eb2: 1213 |0195: const/4 v3, #int 1 // #1 004eb4: 28ea |0196: goto 0180 // -0016 004eb6: 0800 1800 |0197: move-object/from16 v0, v24 004eba: 5203 3f00 |0199: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f 004ebe: 3803 1900 |019b: if-eqz v3, 01b4 // +0019 004ec2: 381e 1500 |019d: if-eqz v30, 01b2 // +0015 004ec6: 1203 |019f: const/4 v3, #int 0 // #0 004ec8: 0800 1800 |01a0: move-object/from16 v0, v24 004ecc: 5204 3f00 |01a2: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f 004ed0: 0800 1800 |01a4: move-object/from16 v0, v24 004ed4: 5205 4000 |01a6: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040 004ed8: 0800 1800 |01a8: move-object/from16 v0, v24 004edc: 5206 3d00 |01aa: iget v6, v0, Lcom/google/android/checkers/a;.d:I // field@003d 004ee0: 1217 |01ac: const/4 v7, #int 1 // #1 004ee2: 7157 8200 4365 |01ad: invoke-static {v3, v4, v5, v6, v7}, Lcom/google/android/checkers/a;.b:(ZIIIZ)I // method@0082 004ee8: 0a03 |01b0: move-result v3 004eea: 28dc |01b1: goto 018d // -0024 004eec: 1213 |01b2: const/4 v3, #int 1 // #1 004eee: 28ed |01b3: goto 01a0 // -0013 004ef0: 381e 1100 |01b4: if-eqz v30, 01c5 // +0011 004ef4: 1203 |01b6: const/4 v3, #int 0 // #0 004ef6: 0800 1800 |01b7: move-object/from16 v0, v24 004efa: 5204 4000 |01b9: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040 004efe: 0800 1800 |01bb: move-object/from16 v0, v24 004f02: 5205 3d00 |01bd: iget v5, v0, Lcom/google/android/checkers/a;.d:I // field@003d 004f06: 1216 |01bf: const/4 v6, #int 1 // #1 004f08: 7140 8300 4365 |01c0: invoke-static {v3, v4, v5, v6}, Lcom/google/android/checkers/a;.b:(ZIIZ)I // method@0083 004f0e: 0a03 |01c3: move-result v3 004f10: 28c9 |01c4: goto 018d // -0037 004f12: 1213 |01c5: const/4 v3, #int 1 // #1 004f14: 28f1 |01c6: goto 01b7 // -000f 004f16: 0800 1800 |01c7: move-object/from16 v0, v24 004f1a: 5203 4000 |01c9: iget v3, v0, Lcom/google/android/checkers/a;.g:I // field@0040 004f1e: 3903 1500 |01cb: if-nez v3, 01e0 // +0015 004f22: 381e 1100 |01cd: if-eqz v30, 01de // +0011 004f26: 1203 |01cf: const/4 v3, #int 0 // #0 004f28: 0800 1800 |01d0: move-object/from16 v0, v24 004f2c: 5204 3f00 |01d2: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f 004f30: 0800 1800 |01d4: move-object/from16 v0, v24 004f34: 5205 3e00 |01d6: iget v5, v0, Lcom/google/android/checkers/a;.e:I // field@003e 004f38: 1216 |01d8: const/4 v6, #int 1 // #1 004f3a: 7140 8900 4365 |01d9: invoke-static {v3, v4, v5, v6}, Lcom/google/android/checkers/a;.c:(ZIIZ)I // method@0089 004f40: 0a03 |01dc: move-result v3 004f42: 28b0 |01dd: goto 018d // -0050 004f44: 1213 |01de: const/4 v3, #int 1 // #1 004f46: 28f1 |01df: goto 01d0 // -000f 004f48: 0800 1800 |01e0: move-object/from16 v0, v24 004f4c: 5203 3f00 |01e2: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f 004f50: 3803 1900 |01e4: if-eqz v3, 01fd // +0019 004f54: 381e 1500 |01e6: if-eqz v30, 01fb // +0015 004f58: 1203 |01e8: const/4 v3, #int 0 // #0 004f5a: 0800 1800 |01e9: move-object/from16 v0, v24 004f5e: 5204 3f00 |01eb: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f 004f62: 0800 1800 |01ed: move-object/from16 v0, v24 004f66: 5205 4000 |01ef: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040 004f6a: 0800 1800 |01f1: move-object/from16 v0, v24 004f6e: 5206 3e00 |01f3: iget v6, v0, Lcom/google/android/checkers/a;.e:I // field@003e 004f72: 1217 |01f5: const/4 v7, #int 1 // #1 004f74: 7157 7800 4365 |01f6: invoke-static {v3, v4, v5, v6, v7}, Lcom/google/android/checkers/a;.a:(ZIIIZ)I // method@0078 004f7a: 0a03 |01f9: move-result v3 004f7c: 2893 |01fa: goto 018d // -006d 004f7e: 1213 |01fb: const/4 v3, #int 1 // #1 004f80: 28ed |01fc: goto 01e9 // -0013 004f82: 381e 1000 |01fd: if-eqz v30, 020d // +0010 004f86: 1203 |01ff: const/4 v3, #int 0 // #0 004f88: 0800 1800 |0200: move-object/from16 v0, v24 004f8c: 5204 4000 |0202: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040 004f90: 0800 1800 |0204: move-object/from16 v0, v24 004f94: 5205 3e00 |0206: iget v5, v0, Lcom/google/android/checkers/a;.e:I // field@003e 004f98: 7130 7700 4305 |0208: invoke-static {v3, v4, v5}, Lcom/google/android/checkers/a;.a:(ZII)I // method@0077 004f9e: 0a03 |020b: move-result v3 004fa0: 2881 |020c: goto 018d // -007f 004fa2: 1213 |020d: const/4 v3, #int 1 // #1 004fa4: 28f2 |020e: goto 0200 // -000e 004fa6: 0800 1800 |020f: move-object/from16 v0, v24 004faa: 5203 3f00 |0211: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f 004fae: 3803 4500 |0213: if-eqz v3, 0258 // +0045 004fb2: 0800 1800 |0215: move-object/from16 v0, v24 004fb6: 5203 3e00 |0217: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e 004fba: 3903 1300 |0219: if-nez v3, 022c // +0013 004fbe: 0800 1800 |021b: move-object/from16 v0, v24 004fc2: 5203 3d00 |021d: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d 004fc6: 0800 1800 |021f: move-object/from16 v0, v24 004fca: 5204 3f00 |0221: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f 004fce: 1205 |0223: const/4 v5, #int 0 // #0 004fd0: 0200 1e00 |0224: move/from16 v0, v30 004fd4: 7140 8c00 3054 |0226: invoke-static {v0, v3, v4, v5}, Lcom/google/android/checkers/a;.d:(ZIIZ)I // method@008c 004fda: 0a03 |0229: move-result v3 004fdc: 2900 63ff |022a: goto/16 018d // -009d 004fe0: 0800 1800 |022c: move-object/from16 v0, v24 004fe4: 5203 3d00 |022e: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d 004fe8: 3803 1700 |0230: if-eqz v3, 0247 // +0017 004fec: 0800 1800 |0232: move-object/from16 v0, v24 004ff0: 5203 3d00 |0234: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d 004ff4: 0800 1800 |0236: move-object/from16 v0, v24 004ff8: 5204 3e00 |0238: iget v4, v0, Lcom/google/android/checkers/a;.e:I // field@003e 004ffc: 0800 1800 |023a: move-object/from16 v0, v24 005000: 5205 3f00 |023c: iget v5, v0, Lcom/google/android/checkers/a;.f:I // field@003f 005004: 1206 |023e: const/4 v6, #int 0 // #0 005006: 0200 1e00 |023f: move/from16 v0, v30 00500a: 7156 8200 3054 |0241: invoke-static {v0, v3, v4, v5, v6}, Lcom/google/android/checkers/a;.b:(ZIIIZ)I // method@0082 005010: 0a03 |0244: move-result v3 005012: 2900 48ff |0245: goto/16 018d // -00b8 005016: 0800 1800 |0247: move-object/from16 v0, v24 00501a: 5203 3e00 |0249: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e 00501e: 0800 1800 |024b: move-object/from16 v0, v24 005022: 5204 3f00 |024d: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f 005026: 1205 |024f: const/4 v5, #int 0 // #0 005028: 0200 1e00 |0250: move/from16 v0, v30 00502c: 7140 8300 3054 |0252: invoke-static {v0, v3, v4, v5}, Lcom/google/android/checkers/a;.b:(ZIIZ)I // method@0083 005032: 0a03 |0255: move-result v3 005034: 2900 37ff |0256: goto/16 018d // -00c9 005038: 0800 1800 |0258: move-object/from16 v0, v24 00503c: 5203 3e00 |025a: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e 005040: 3903 1300 |025c: if-nez v3, 026f // +0013 005044: 0800 1800 |025e: move-object/from16 v0, v24 005048: 5203 3d00 |0260: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d 00504c: 0800 1800 |0262: move-object/from16 v0, v24 005050: 5204 4000 |0264: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040 005054: 1205 |0266: const/4 v5, #int 0 // #0 005056: 0200 1e00 |0267: move/from16 v0, v30 00505a: 7140 8900 3054 |0269: invoke-static {v0, v3, v4, v5}, Lcom/google/android/checkers/a;.c:(ZIIZ)I // method@0089 005060: 0a03 |026c: move-result v3 005062: 2900 20ff |026d: goto/16 018d // -00e0 005066: 0800 1800 |026f: move-object/from16 v0, v24 00506a: 5203 3d00 |0271: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d 00506e: 3803 1700 |0273: if-eqz v3, 028a // +0017 005072: 0800 1800 |0275: move-object/from16 v0, v24 005076: 5203 3d00 |0277: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d 00507a: 0800 1800 |0279: move-object/from16 v0, v24 00507e: 5204 3e00 |027b: iget v4, v0, Lcom/google/android/checkers/a;.e:I // field@003e 005082: 0800 1800 |027d: move-object/from16 v0, v24 005086: 5205 4000 |027f: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040 00508a: 1206 |0281: const/4 v6, #int 0 // #0 00508c: 0200 1e00 |0282: move/from16 v0, v30 005090: 7156 7800 3054 |0284: invoke-static {v0, v3, v4, v5, v6}, Lcom/google/android/checkers/a;.a:(ZIIIZ)I // method@0078 005096: 0a03 |0287: move-result v3 005098: 2900 05ff |0288: goto/16 018d // -00fb 00509c: 0800 1800 |028a: move-object/from16 v0, v24 0050a0: 5203 3e00 |028c: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e 0050a4: 0800 1800 |028e: move-object/from16 v0, v24 0050a8: 5204 4000 |0290: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040 0050ac: 0200 1e00 |0292: move/from16 v0, v30 0050b0: 7130 7700 3004 |0294: invoke-static {v0, v3, v4}, Lcom/google/android/checkers/a;.a:(ZII)I // method@0077 0050b6: 0a03 |0297: move-result v3 0050b8: 2900 f5fe |0298: goto/16 018d // -010b 0050bc: 0800 1800 |029a: move-object/from16 v0, v24 0050c0: 5203 4f00 |029c: iget v3, v0, Lcom/google/android/checkers/a;.v:I // field@004f 0050c4: 1224 |029e: const/4 v4, #int 2 // #2 0050c6: 3343 8efd |029f: if-ne v3, v4, 002d // -0272 0050ca: 0800 1800 |02a1: move-object/from16 v0, v24 0050ce: 5203 5000 |02a3: iget v3, v0, Lcom/google/android/checkers/a;.w:I // field@0050 0050d2: 1224 |02a5: const/4 v4, #int 2 // #2 0050d4: 3343 87fd |02a6: if-ne v3, v4, 002d // -0279 0050d8: 0800 1800 |02a8: move-object/from16 v0, v24 0050dc: 5203 3d00 |02aa: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d 0050e0: 3903 81fd |02ac: if-nez v3, 002d // -027f 0050e4: 0800 1800 |02ae: move-object/from16 v0, v24 0050e8: 5203 3f00 |02b0: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f 0050ec: 3903 7bfd |02b2: if-nez v3, 002d // -0285 0050f0: 0800 1800 |02b4: move-object/from16 v0, v24 0050f4: 5203 3e00 |02b6: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e 0050f8: 0800 1800 |02b8: move-object/from16 v0, v24 0050fc: 5207 4000 |02ba: iget v7, v0, Lcom/google/android/checkers/a;.g:I // field@0040 005100: 381e 4000 |02bc: if-eqz v30, 02fc // +0040 005104: 7110 9f00 0300 |02be: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 00510a: 0a06 |02c1: move-result v6 00510c: d804 03ff |02c2: add-int/lit8 v4, v3, #int -1 // #ff 005110: b543 |02c4: and-int/2addr v3, v4 005112: 7110 9f00 0300 |02c5: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 005118: 0a05 |02c8: move-result v5 00511a: 7110 9f00 0700 |02c9: invoke-static {v7}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 005120: 0a04 |02cc: move-result v4 005122: d803 07ff |02cd: add-int/lit8 v3, v7, #int -1 // #ff 005126: b573 |02cf: and-int/2addr v3, v7 005128: 7110 9f00 0300 |02d0: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 00512e: 0a03 |02d3: move-result v3 005130: 0216 0300 |02d4: move/from16 v22, v3 005134: 0153 |02d6: move v3, v5 005136: 0205 1600 |02d7: move/from16 v5, v22 00513a: 0217 0400 |02d9: move/from16 v23, v4 00513e: 0164 |02db: move v4, v6 005140: 0206 1700 |02dc: move/from16 v6, v23 005144: 3534 3f00 |02de: if-ge v4, v3, 031d // +003f 005148: 6207 3800 |02e0: sget-object v7, Lcom/google/android/checkers/a;.L:[I // field@0038 00514c: 4403 0703 |02e2: aget v3, v7, v3 005150: b043 |02e4: add-int/2addr v3, v4 005152: 0134 |02e5: move v4, v3 005154: 3556 3e00 |02e6: if-ge v6, v5, 0324 // +003e 005158: 6203 3800 |02e8: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038 00515c: 4403 0305 |02ea: aget v3, v3, v5 005160: b063 |02ec: add-int/2addr v3, v6 005162: 6205 6900 |02ed: sget-object v5, Lcom/google/android/checkers/g;.q:[B // field@0069 005166: d244 f001 |02ef: mul-int/lit16 v4, v4, #int 496 // #01f0 00516a: b043 |02f1: add-int/2addr v3, v4 00516c: 4803 0503 |02f2: aget-byte v3, v5, v3 005170: 0200 1b00 |02f4: move/from16 v0, v27 005174: 7120 7300 0300 |02f6: invoke-static {v3, v0}, Lcom/google/android/checkers/a;.a:(II)I // method@0073 00517a: 0a04 |02f9: move-result v4 00517c: 2900 20fd |02fa: goto/16 001a // -02e0 005180: 7110 9f00 0700 |02fc: invoke-static {v7}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 005186: 0a06 |02ff: move-result v6 005188: d804 07ff |0300: add-int/lit8 v4, v7, #int -1 // #ff 00518c: b574 |0302: and-int/2addr v4, v7 00518e: 7110 9f00 0400 |0303: invoke-static {v4}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 005194: 0a05 |0306: move-result v5 005196: 7110 9f00 0300 |0307: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 00519c: 0a04 |030a: move-result v4 00519e: d807 03ff |030b: add-int/lit8 v7, v3, #int -1 // #ff 0051a2: b573 |030d: and-int/2addr v3, v7 0051a4: 7110 9f00 0300 |030e: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 0051aa: 0a03 |0311: move-result v3 0051ac: 0216 0300 |0312: move/from16 v22, v3 0051b0: 0153 |0314: move v3, v5 0051b2: 0205 1600 |0315: move/from16 v5, v22 0051b6: 0217 0400 |0317: move/from16 v23, v4 0051ba: 0164 |0319: move v4, v6 0051bc: 0206 1700 |031a: move/from16 v6, v23 0051c0: 28c2 |031c: goto 02de // -003e 0051c2: 6207 3800 |031d: sget-object v7, Lcom/google/android/checkers/a;.L:[I // field@0038 0051c6: 4404 0704 |031f: aget v4, v7, v4 0051ca: b043 |0321: add-int/2addr v3, v4 0051cc: 0134 |0322: move v4, v3 0051ce: 28c3 |0323: goto 02e6 // -003d 0051d0: 6203 3800 |0324: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038 0051d4: 4403 0306 |0326: aget v3, v3, v6 0051d8: b053 |0328: add-int/2addr v3, v5 0051da: 28c4 |0329: goto 02ed // -003c 0051dc: 0200 1900 |032a: move/from16 v0, v25 0051e0: 3704 4afd |032c: if-le v4, v0, 0076 // -02b6 0051e4: 1404 3f42 0f00 |032e: const v4, #float 1.4013e-39 // #000f423f 0051ea: 2900 45fd |0331: goto/16 0076 // -02bb 0051ee: 0200 1a00 |0333: move/from16 v0, v26 0051f2: 3404 f9ff |0335: if-lt v4, v0, 032e // -0007 0051f6: 2900 3ffd |0337: goto/16 0076 // -02c1 0051fa: 0200 1b00 |0339: move/from16 v0, v27 0051fe: d004 0c81 |033b: add-int/lit16 v4, v0, #int -32500 // #810c 005202: 2900 ddfc |033d: goto/16 001a // -0323 005206: 9103 071b |033f: sub-int v3, v7, v27 00520a: 1214 |0341: const/4 v4, #int 1 // #1 00520c: 3643 46fd |0342: if-gt v3, v4, 0088 // -02ba 005210: 1303 4000 |0344: const/16 v3, #int 64 // #40 005214: 3537 42fd |0346: if-ge v7, v3, 0088 // -02be 005218: d807 0701 |0348: add-int/lit8 v7, v7, #int 1 // #01 00521c: 2900 3efd |034a: goto/16 0088 // -02c2 005220: d808 1d1e |034c: add-int/lit8 v8, v29, #int 30 // #1e 005224: 2900 6efd |034e: goto/16 00bc // -0292 005228: d808 1d0a |0350: add-int/lit8 v8, v29, #int 10 // #0a 00522c: 2900 6afd |0352: goto/16 00bc // -0296 005230: d808 1d05 |0354: add-int/lit8 v8, v29, #int 5 // #05 005234: 2900 66fd |0356: goto/16 00bc // -029a 005238: 9003 0e0c |0358: add-int v3, v14, v12 00523c: 0800 1800 |035a: move-object/from16 v0, v24 005240: 7020 8500 3000 |035c: invoke-direct {v0, v3}, Lcom/google/android/checkers/a;.b:(I)V // method@0085 005246: 0200 1a00 |035f: move/from16 v0, v26 00524a: 7b04 |0361: neg-int v4, v0 00524c: 7bb5 |0362: neg-int v5, v11 00524e: d806 1b01 |0363: add-int/lit8 v6, v27, #int 1 // #01 005252: 381e 3b00 |0365: if-eqz v30, 03a0 // +003b 005256: 1209 |0367: const/4 v9, #int 0 // #0 005258: 0803 1800 |0368: move-object/from16 v3, v24 00525c: 7607 7400 0300 |036a: invoke-direct/range {v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.a:(IIIIIZ)I // method@0074 005262: 0a03 |036d: move-result v3 005264: 7b34 |036e: neg-int v4, v3 005266: 0800 1800 |036f: move-object/from16 v0, v24 00526a: 590f 3d00 |0371: iput v15, v0, Lcom/google/android/checkers/a;.d:I // field@003d 00526e: 0200 1000 |0373: move/from16 v0, v16 005272: 0801 1800 |0375: move-object/from16 v1, v24 005276: 5910 3e00 |0377: iput v0, v1, Lcom/google/android/checkers/a;.e:I // field@003e 00527a: 0200 1100 |0379: move/from16 v0, v17 00527e: 0801 1800 |037b: move-object/from16 v1, v24 005282: 5910 3f00 |037d: iput v0, v1, Lcom/google/android/checkers/a;.f:I // field@003f 005286: 0200 1200 |037f: move/from16 v0, v18 00528a: 0801 1800 |0381: move-object/from16 v1, v24 00528e: 5910 4000 |0383: iput v0, v1, Lcom/google/android/checkers/a;.g:I // field@0040 005292: 0200 1300 |0385: move/from16 v0, v19 005296: 0801 1800 |0387: move-object/from16 v1, v24 00529a: 5910 4f00 |0389: iput v0, v1, Lcom/google/android/checkers/a;.v:I // field@004f 00529e: 0200 1400 |038b: move/from16 v0, v20 0052a2: 0801 1800 |038d: move-object/from16 v1, v24 0052a6: 5910 5000 |038f: iput v0, v1, Lcom/google/android/checkers/a;.w:I // field@0050 0052aa: 0200 1500 |0391: move/from16 v0, v21 0052ae: 0801 1800 |0393: move-object/from16 v1, v24 0052b2: 5910 5100 |0395: iput v0, v1, Lcom/google/android/checkers/a;.x:I // field@0051 0052b6: 0800 1800 |0397: move-object/from16 v0, v24 0052ba: 5503 4600 |0399: iget-boolean v3, v0, Lcom/google/android/checkers/a;.m:Z // field@0046 0052be: 3803 0700 |039b: if-eqz v3, 03a2 // +0007 0052c2: 1204 |039d: const/4 v4, #int 0 // #0 0052c4: 2900 7cfc |039e: goto/16 001a // -0384 0052c8: 1219 |03a0: const/4 v9, #int 1 // #1 0052ca: 28c7 |03a1: goto 0368 // -0039 0052cc: 37b4 3f01 |03a2: if-le v4, v11, 04e1 // +013f 0052d0: 0200 1a00 |03a4: move/from16 v0, v26 0052d4: 3404 1300 |03a6: if-lt v4, v0, 03b9 // +0013 0052d8: 0800 1800 |03a8: move-object/from16 v0, v24 0052dc: 5503 2e00 |03aa: iget-boolean v3, v0, Lcom/google/android/checkers/a;.B:Z // field@002e 0052e0: 3803 6efc |03ac: if-eqz v3, 001a // -0392 0052e4: 1303 8000 |03ae: const/16 v3, #int 128 // #80 0052e8: 0800 1800 |03b0: move-object/from16 v0, v24 0052ec: 0201 1b00 |03b2: move/from16 v1, v27 0052f0: 7054 7d00 1037 |03b4: invoke-direct {v0, v1, v7, v3, v4}, Lcom/google/android/checkers/a;.a:(IIII)V // method@007d 0052f6: 2900 63fc |03b7: goto/16 001a // -039d 0052fa: 1303 c000 |03b9: const/16 v3, #int 192 // #c0 0052fe: d805 0c01 |03bb: add-int/lit8 v5, v12, #int 1 // #01 005302: 015c |03bd: move v12, v5 005304: 013a |03be: move v10, v3 005306: 014b |03bf: move v11, v4 005308: 2900 02fd |03c0: goto/16 00c2 // -02fe 00530c: 0800 1800 |03c2: move-object/from16 v0, v24 005310: 5203 4700 |03c4: iget v3, v0, Lcom/google/android/checkers/a;.n:I // field@0047 005314: d804 0301 |03c6: add-int/lit8 v4, v3, #int 1 // #01 005318: 0800 1800 |03c8: move-object/from16 v0, v24 00531c: 5904 4700 |03ca: iput v4, v0, Lcom/google/android/checkers/a;.n:I // field@0047 005320: 1304 8813 |03cc: const/16 v4, #int 5000 // #1388 005324: 3743 2100 |03ce: if-le v3, v4, 03ef // +0021 005328: 1203 |03d0: const/4 v3, #int 0 // #0 00532a: 0800 1800 |03d1: move-object/from16 v0, v24 00532e: 5903 4700 |03d3: iput v3, v0, Lcom/google/android/checkers/a;.n:I // field@0047 005332: 7100 ab00 0000 |03d5: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@00ab 005338: 0b03 |03d8: move-result-wide v3 00533a: 0800 1800 |03d9: move-object/from16 v0, v24 00533e: 5305 4500 |03db: iget-wide v5, v0, Lcom/google/android/checkers/a;.l:J // field@0045 005342: 0800 1800 |03dd: move-object/from16 v0, v24 005346: 5207 4100 |03df: iget v7, v0, Lcom/google/android/checkers/a;.h:I // field@0041 00534a: 8177 |03e1: int-to-long v7, v7 00534c: bb75 |03e2: add-long/2addr v5, v7 00534e: 3103 0305 |03e3: cmp-long v3, v3, v5 005352: 3d03 0a00 |03e5: if-lez v3, 03ef // +000a 005356: 1213 |03e7: const/4 v3, #int 1 // #1 005358: 0800 1800 |03e8: move-object/from16 v0, v24 00535c: 5c03 4600 |03ea: iput-boolean v3, v0, Lcom/google/android/checkers/a;.m:Z // field@0046 005360: 1204 |03ec: const/4 v4, #int 0 // #0 005362: 2900 2dfc |03ed: goto/16 001a // -03d3 005366: 1204 |03ef: const/4 v4, #int 0 // #0 005368: 0800 1800 |03f0: move-object/from16 v0, v24 00536c: 5203 3d00 |03f2: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d 005370: 3903 ad00 |03f4: if-nez v3, 04a1 // +00ad 005374: 0800 1800 |03f6: move-object/from16 v0, v24 005378: 5203 3e00 |03f8: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e 00537c: 0145 |03fa: move v5, v4 00537e: 3903 ad00 |03fb: if-nez v3, 04a8 // +00ad 005382: 1204 |03fd: const/4 v4, #int 0 // #0 005384: 0800 1800 |03fe: move-object/from16 v0, v24 005388: 5203 3f00 |0400: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f 00538c: 3903 ae00 |0402: if-nez v3, 04b0 // +00ae 005390: 0800 1800 |0404: move-object/from16 v0, v24 005394: 5203 4000 |0406: iget v3, v0, Lcom/google/android/checkers/a;.g:I // field@0040 005398: 3903 af00 |0408: if-nez v3, 04b7 // +00af 00539c: 3345 b400 |040a: if-ne v5, v4, 04be // +00b4 0053a0: 1203 |040c: const/4 v3, #int 0 // #0 0053a2: 3545 bd00 |040d: if-ge v5, v4, 04ca // +00bd 0053a6: 0800 1800 |040f: move-object/from16 v0, v24 0053aa: 5204 3e00 |0411: iget v4, v0, Lcom/google/android/checkers/a;.e:I // field@003e 0053ae: 1405 1100 0088 |0413: const v5, #float -3.85187e-34 // #88000011 0053b4: b554 |0416: and-int/2addr v4, v5 0053b6: 3804 0900 |0417: if-eqz v4, 0420 // +0009 0053ba: 7110 9e00 0400 |0419: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e 0053c0: 0a04 |041c: move-result v4 0053c2: e004 0403 |041d: shl-int/lit8 v4, v4, #int 3 // #03 0053c6: b043 |041f: add-int/2addr v3, v4 0053c8: 0800 1800 |0420: move-object/from16 v0, v24 0053cc: 5204 3d00 |0422: iget v4, v0, Lcom/google/android/checkers/a;.d:I // field@003d 0053d0: 0800 1800 |0424: move-object/from16 v0, v24 0053d4: 5205 3e00 |0426: iget v5, v0, Lcom/google/android/checkers/a;.e:I // field@003e 0053d8: b654 |0428: or-int/2addr v4, v5 0053da: 0800 1800 |0429: move-object/from16 v0, v24 0053de: 5205 3f00 |042b: iget v5, v0, Lcom/google/android/checkers/a;.f:I // field@003f 0053e2: 0800 1800 |042d: move-object/from16 v0, v24 0053e6: 5206 4000 |042f: iget v6, v0, Lcom/google/android/checkers/a;.g:I // field@0040 0053ea: b665 |0431: or-int/2addr v5, v6 0053ec: 0800 1800 |0432: move-object/from16 v0, v24 0053f0: 5206 3f00 |0434: iget v6, v0, Lcom/google/android/checkers/a;.f:I // field@003f 0053f4: 3806 0900 |0436: if-eqz v6, 043f // +0009 0053f8: dd06 0405 |0438: and-int/lit8 v6, v4, #int 5 // #05 0053fc: 1257 |043a: const/4 v7, #int 5 // #5 0053fe: 3376 0400 |043b: if-ne v6, v7, 043f // +0004 005402: d803 030c |043d: add-int/lit8 v3, v3, #int 12 // #0c 005406: 0800 1800 |043f: move-object/from16 v0, v24 00540a: 5206 3d00 |0441: iget v6, v0, Lcom/google/android/checkers/a;.d:I // field@003d 00540e: 3806 0b00 |0443: if-eqz v6, 044e // +000b 005412: 1506 00a0 |0445: const/high16 v6, #int -1610612736 // #a000 005416: b556 |0447: and-int/2addr v6, v5 005418: 1507 00a0 |0448: const/high16 v7, #int -1610612736 // #a000 00541c: 3376 0400 |044a: if-ne v6, v7, 044e // +0004 005420: d803 03f4 |044c: add-int/lit8 v3, v3, #int -12 // #f4 005424: 1406 0066 6600 |044e: const v6, #float 9.40381e-39 // #00666600 00542a: b564 |0451: and-int/2addr v4, v6 00542c: 7110 9e00 0400 |0452: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e 005432: 0a04 |0455: move-result v4 005434: 1406 0066 6600 |0456: const v6, #float 9.40381e-39 // #00666600 00543a: b565 |0459: and-int/2addr v5, v6 00543c: 7110 9e00 0500 |045a: invoke-static {v5}, Ljava/lang/Integer;.bitCount:(I)I // method@009e 005442: 0a05 |045d: move-result v5 005444: b154 |045e: sub-int/2addr v4, v5 005446: b043 |045f: add-int/2addr v3, v4 005448: 0800 1800 |0460: move-object/from16 v0, v24 00544c: 5204 3d00 |0462: iget v4, v0, Lcom/google/android/checkers/a;.d:I // field@003d 005450: 1405 1818 1818 |0464: const v5, #float 1.96577e-24 // #18181818 005456: b554 |0467: and-int/2addr v4, v5 005458: 7110 9e00 0400 |0468: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e 00545e: 0a04 |046b: move-result v4 005460: 0800 1800 |046c: move-object/from16 v0, v24 005464: 5205 3f00 |046e: iget v5, v0, Lcom/google/android/checkers/a;.f:I // field@003f 005468: 1406 1818 1818 |0470: const v6, #float 1.96577e-24 // #18181818 00546e: b565 |0473: and-int/2addr v5, v6 005470: 7110 9e00 0500 |0474: invoke-static {v5}, Ljava/lang/Integer;.bitCount:(I)I // method@009e 005476: 0a05 |0477: move-result v5 005478: b154 |0478: sub-int/2addr v4, v5 00547a: b143 |0479: sub-int/2addr v3, v4 00547c: 0800 1800 |047a: move-object/from16 v0, v24 005480: 5204 3e00 |047c: iget v4, v0, Lcom/google/android/checkers/a;.e:I // field@003e 005484: 1405 0800 0010 |047e: const v5, #float 2.52436e-29 // #10000008 00548a: b554 |0481: and-int/2addr v4, v5 00548c: 3804 0900 |0482: if-eqz v4, 048b // +0009 005490: 7110 9e00 0400 |0484: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e 005496: 0a04 |0487: move-result v4 005498: e004 0405 |0488: shl-int/lit8 v4, v4, #int 5 // #05 00549c: b143 |048a: sub-int/2addr v3, v4 00549e: 0800 1800 |048b: move-object/from16 v0, v24 0054a2: 5204 4000 |048d: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040 0054a6: 1405 0800 0010 |048f: const v5, #float 2.52436e-29 // #10000008 0054ac: b554 |0492: and-int/2addr v4, v5 0054ae: 3804 4c00 |0493: if-eqz v4, 04df // +004c 0054b2: 7110 9e00 0400 |0495: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e 0054b8: 0a04 |0498: move-result v4 0054ba: e004 0405 |0499: shl-int/lit8 v4, v4, #int 5 // #05 0054be: b034 |049b: add-int/2addr v4, v3 0054c0: 391e 7efb |049c: if-nez v30, 001a // -0482 0054c4: 7b44 |049e: neg-int v4, v4 0054c6: 2900 7bfb |049f: goto/16 001a // -0485 0054ca: d804 0464 |04a1: add-int/lit8 v4, v4, #int 100 // #64 0054ce: d805 03ff |04a3: add-int/lit8 v5, v3, #int -1 // #ff 0054d2: b553 |04a5: and-int/2addr v3, v5 0054d4: 2900 4eff |04a6: goto/16 03f4 // -00b2 0054d8: d054 8600 |04a8: add-int/lit16 v4, v5, #int 134 // #0086 0054dc: d805 03ff |04aa: add-int/lit8 v5, v3, #int -1 // #ff 0054e0: b553 |04ac: and-int/2addr v3, v5 0054e2: 0145 |04ad: move v5, v4 0054e4: 2900 4dff |04ae: goto/16 03fb // -00b3 0054e8: d804 0464 |04b0: add-int/lit8 v4, v4, #int 100 // #64 0054ec: d806 03ff |04b2: add-int/lit8 v6, v3, #int -1 // #ff 0054f0: b563 |04b4: and-int/2addr v3, v6 0054f2: 2900 4dff |04b5: goto/16 0402 // -00b3 0054f6: d044 8600 |04b7: add-int/lit16 v4, v4, #int 134 // #0086 0054fa: d806 03ff |04b9: add-int/lit8 v6, v3, #int -1 // #ff 0054fe: b563 |04bb: and-int/2addr v3, v6 005500: 2900 4cff |04bc: goto/16 0408 // -00b4 005504: 9103 0504 |04be: sub-int v3, v5, v4 005508: 9106 0504 |04c0: sub-int v6, v5, v4 00550c: e006 0608 |04c2: shl-int/lit8 v6, v6, #int 8 // #08 005510: 9007 0504 |04c4: add-int v7, v5, v4 005514: b376 |04c6: div-int/2addr v6, v7 005516: b063 |04c7: add-int/2addr v3, v6 005518: 2900 45ff |04c8: goto/16 040d // -00bb 00551c: 3745 56ff |04ca: if-le v5, v4, 0420 // -00aa 005520: 0800 1800 |04cc: move-object/from16 v0, v24 005524: 5204 4000 |04ce: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040 005528: 1405 1100 0088 |04d0: const v5, #float -3.85187e-34 // #88000011 00552e: b554 |04d3: and-int/2addr v4, v5 005530: 3804 4cff |04d4: if-eqz v4, 0420 // -00b4 005534: 7110 9e00 0400 |04d6: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e 00553a: 0a04 |04d9: move-result v4 00553c: e004 0403 |04da: shl-int/lit8 v4, v4, #int 3 // #03 005540: b143 |04dc: sub-int/2addr v3, v4 005542: 2900 43ff |04dd: goto/16 0420 // -00bd 005546: 0134 |04df: move v4, v3 005548: 28bc |04e0: goto 049c // -0044 00554a: 01a3 |04e1: move v3, v10 00554c: 01b4 |04e2: move v4, v11 00554e: 2900 d8fe |04e3: goto/16 03bb // -0128 005552: 0207 1c00 |04e5: move/from16 v7, v28 005556: 2900 58fb |04e7: goto/16 003f // -04a8 00555a: 0000 |04e9: nop // spacer 00555c: 0001 0300 0200 0000 aa00 0000 4001 ... |04ea: packed-switch-data (10 units) 005570: 0002 0200 4000 0000 8000 0000 b702 ... |04f4: sparse-switch-data (10 units) 005584: 0001 0200 0000 0000 b402 0000 ba02 ... |04fe: packed-switch-data (8 units) 005594: 0001 0300 0100 0000 9402 0000 9802 ... |0506: packed-switch-data (10 units) catches : (none) positions : locals : #4 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(IZ)I' access : 0x0012 (PRIVATE FINAL) method_idx : 117 code - registers : 7 ins : 3 outs : 4 insns size : 55 16-bit code units 0055a8: |[0055a8] com.google.android.checkers.a.a:(IZ)I 0055b8: 1221 |0000: const/4 v1, #int 2 // #2 0055ba: 1200 |0001: const/4 v0, #int 0 // #0 0055bc: 5940 3c00 |0002: iput v0, v4, Lcom/google/android/checkers/a;.c:I // field@003c 0055c0: da02 0540 |0004: mul-int/lit8 v2, v5, #int 64 // #40 0055c4: 5942 4b00 |0006: iput v2, v4, Lcom/google/android/checkers/a;.r:I // field@004b 0055c8: 5242 3d00 |0008: iget v2, v4, Lcom/google/android/checkers/a;.d:I // field@003d 0055cc: 5243 3e00 |000a: iget v3, v4, Lcom/google/android/checkers/a;.e:I // field@003e 0055d0: b632 |000c: or-int/2addr v2, v3 0055d2: 5243 3f00 |000d: iget v3, v4, Lcom/google/android/checkers/a;.f:I // field@003f 0055d6: b632 |000f: or-int/2addr v2, v3 0055d8: 5243 4000 |0010: iget v3, v4, Lcom/google/android/checkers/a;.g:I // field@0040 0055dc: b632 |0012: or-int/2addr v2, v3 0055de: df02 02ff |0013: xor-int/lit8 v2, v2, #int -1 // #ff 0055e2: 5543 4c00 |0015: iget-boolean v3, v4, Lcom/google/android/checkers/a;.s:Z // field@004c 0055e6: 3803 1000 |0017: if-eqz v3, 0027 // +0010 0055ea: 7040 8100 5426 |0019: invoke-direct {v4, v5, v6, v2}, Lcom/google/android/checkers/a;.a:(IZI)Z // method@0081 0055f0: 0a03 |001c: move-result v3 0055f2: 7040 8800 5426 |001d: invoke-direct {v4, v5, v6, v2}, Lcom/google/android/checkers/a;.b:(IZI)Z // method@0088 0055f8: 0a02 |0020: move-result v2 0055fa: 3903 0400 |0021: if-nez v3, 0025 // +0004 0055fe: 3802 0300 |0023: if-eqz v2, 0026 // +0003 005602: 0110 |0025: move v0, v1 005604: 0f00 |0026: return v0 005606: 7040 8100 5426 |0027: invoke-direct {v4, v5, v6, v2}, Lcom/google/android/checkers/a;.a:(IZI)Z // method@0081 00560c: 0a03 |002a: move-result v3 00560e: 3803 0400 |002b: if-eqz v3, 002f // +0004 005612: 1210 |002d: const/4 v0, #int 1 // #1 005614: 28f8 |002e: goto 0026 // -0008 005616: 7040 8800 5426 |002f: invoke-direct {v4, v5, v6, v2}, Lcom/google/android/checkers/a;.b:(IZI)Z // method@0088 00561c: 0a02 |0032: move-result v2 00561e: 3802 f3ff |0033: if-eqz v2, 0026 // -000d 005622: 0110 |0035: move v0, v1 005624: 28f0 |0036: goto 0026 // -0010 catches : (none) positions : locals : #5 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(Z)I' access : 0x0012 (PRIVATE FINAL) method_idx : 118 code - registers : 7 ins : 2 outs : 1 insns size : 98 16-bit code units 005628: |[005628] com.google.android.checkers.a.a:(Z)I 005638: 3806 1700 |0000: if-eqz v6, 0017 // +0017 00563c: 1200 |0002: const/4 v0, #int 0 // #0 00563e: 5251 3d00 |0003: iget v1, v5, Lcom/google/android/checkers/a;.d:I // field@003d 005642: 0114 |0005: move v4, v1 005644: 0101 |0006: move v1, v0 005646: 0140 |0007: move v0, v4 005648: 3900 1600 |0008: if-nez v0, 001e // +0016 00564c: 5250 3e00 |000a: iget v0, v5, Lcom/google/android/checkers/a;.e:I // field@003e 005650: 3900 2300 |000c: if-nez v0, 002f // +0023 005654: 5250 3f00 |000e: iget v0, v5, Lcom/google/android/checkers/a;.f:I // field@003f 005658: 3900 3000 |0010: if-nez v0, 0040 // +0030 00565c: 5250 4000 |0012: iget v0, v5, Lcom/google/android/checkers/a;.g:I // field@0040 005660: 3900 3d00 |0014: if-nez v0, 0051 // +003d 005664: 0f01 |0016: return v1 005666: 6200 3900 |0017: sget-object v0, Lcom/google/android/checkers/a;.M:[I // field@0039 00566a: 1301 8000 |0019: const/16 v1, #int 128 // #80 00566e: 4400 0001 |001b: aget v0, v0, v1 005672: 28e6 |001d: goto 0003 // -001a 005674: 6202 3900 |001e: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039 005678: 7110 9f00 0000 |0020: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 00567e: 0a03 |0023: move-result v3 005680: da03 0304 |0024: mul-int/lit8 v3, v3, #int 4 // #04 005684: d803 0300 |0026: add-int/lit8 v3, v3, #int 0 // #00 005688: 4402 0203 |0028: aget v2, v2, v3 00568c: b721 |002a: xor-int/2addr v1, v2 00568e: d802 00ff |002b: add-int/lit8 v2, v0, #int -1 // #ff 005692: b520 |002d: and-int/2addr v0, v2 005694: 28da |002e: goto 0008 // -0026 005696: 6202 3900 |002f: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039 00569a: 7110 9f00 0000 |0031: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 0056a0: 0a03 |0034: move-result v3 0056a2: da03 0304 |0035: mul-int/lit8 v3, v3, #int 4 // #04 0056a6: d803 0301 |0037: add-int/lit8 v3, v3, #int 1 // #01 0056aa: 4402 0203 |0039: aget v2, v2, v3 0056ae: b721 |003b: xor-int/2addr v1, v2 0056b0: d802 00ff |003c: add-int/lit8 v2, v0, #int -1 // #ff 0056b4: b520 |003e: and-int/2addr v0, v2 0056b6: 28cd |003f: goto 000c // -0033 0056b8: 6202 3900 |0040: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039 0056bc: 7110 9f00 0000 |0042: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 0056c2: 0a03 |0045: move-result v3 0056c4: da03 0304 |0046: mul-int/lit8 v3, v3, #int 4 // #04 0056c8: d803 0302 |0048: add-int/lit8 v3, v3, #int 2 // #02 0056cc: 4402 0203 |004a: aget v2, v2, v3 0056d0: b721 |004c: xor-int/2addr v1, v2 0056d2: d802 00ff |004d: add-int/lit8 v2, v0, #int -1 // #ff 0056d6: b520 |004f: and-int/2addr v0, v2 0056d8: 28c0 |0050: goto 0010 // -0040 0056da: 6202 3900 |0051: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039 0056de: 7110 9f00 0000 |0053: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 0056e4: 0a03 |0056: move-result v3 0056e6: da03 0304 |0057: mul-int/lit8 v3, v3, #int 4 // #04 0056ea: d803 0303 |0059: add-int/lit8 v3, v3, #int 3 // #03 0056ee: 4402 0203 |005b: aget v2, v2, v3 0056f2: b721 |005d: xor-int/2addr v1, v2 0056f4: d802 00ff |005e: add-int/lit8 v2, v0, #int -1 // #ff 0056f8: b520 |0060: and-int/2addr v0, v2 0056fa: 28b3 |0061: goto 0014 // -004d catches : (none) positions : locals : #6 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(ZII)I' access : 0x000a (PRIVATE STATIC) method_idx : 119 code - registers : 7 ins : 3 outs : 1 insns size : 56 16-bit code units 0056fc: |[0056fc] com.google.android.checkers.a.a:(ZII)I 00570c: 7110 9f00 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 005712: 0a00 |0003: move-result v0 005714: d801 05ff |0004: add-int/lit8 v1, v5, #int -1 // #ff 005718: b551 |0006: and-int/2addr v1, v5 00571a: 7110 9f00 0100 |0007: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 005720: 0a02 |000a: move-result v2 005722: 7110 9f00 0600 |000b: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 005728: 0a01 |000e: move-result v1 00572a: 1303 1000 |000f: const/16 v3, #int 16 // #10 00572e: 3431 0800 |0011: if-lt v1, v3, 0019 // +0008 005732: d900 001f |0013: rsub-int/lit8 v0, v0, #int 31 // #1f 005736: d902 021f |0015: rsub-int/lit8 v2, v2, #int 31 // #1f 00573a: d901 011f |0017: rsub-int/lit8 v1, v1, #int 31 // #1f 00573e: 3520 1100 |0019: if-ge v0, v2, 002a // +0011 005742: 6203 3800 |001b: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038 005746: 4402 0302 |001d: aget v2, v3, v2 00574a: b020 |001f: add-int/2addr v0, v2 00574c: 3804 1000 |0020: if-eqz v4, 0030 // +0010 005750: 6202 5d00 |0022: sget-object v2, Lcom/google/android/checkers/g;.e:[B // field@005d 005754: da00 0010 |0024: mul-int/lit8 v0, v0, #int 16 // #10 005758: b010 |0026: add-int/2addr v0, v1 00575a: 4800 0200 |0027: aget-byte v0, v2, v0 00575e: 0f00 |0029: return v0 005760: 6203 3800 |002a: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038 005764: 4400 0300 |002c: aget v0, v3, v0 005768: b020 |002e: add-int/2addr v0, v2 00576a: 28f1 |002f: goto 0020 // -000f 00576c: 6202 5e00 |0030: sget-object v2, Lcom/google/android/checkers/g;.f:[B // field@005e 005770: da00 0010 |0032: mul-int/lit8 v0, v0, #int 16 // #10 005774: b010 |0034: add-int/2addr v0, v1 005776: 4800 0200 |0035: aget-byte v0, v2, v0 00577a: 28f2 |0037: goto 0029 // -000e catches : (none) positions : locals : #7 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(ZIIIZ)I' access : 0x000a (PRIVATE STATIC) method_idx : 120 code - registers : 9 ins : 5 outs : 1 insns size : 44 16-bit code units 00577c: |[00577c] com.google.android.checkers.a.a:(ZIIIZ)I 00578c: 7110 9f00 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 005792: 0a02 |0003: move-result v2 005794: 7110 9f00 0600 |0004: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 00579a: 0a01 |0007: move-result v1 00579c: 7110 9f00 0700 |0008: invoke-static {v7}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 0057a2: 0a00 |000b: move-result v0 0057a4: 3808 0800 |000c: if-eqz v8, 0014 // +0008 0057a8: d902 021f |000e: rsub-int/lit8 v2, v2, #int 31 // #1f 0057ac: d901 011f |0010: rsub-int/lit8 v1, v1, #int 31 // #1f 0057b0: d900 001f |0012: rsub-int/lit8 v0, v0, #int 31 // #1f 0057b4: 3804 0d00 |0014: if-eqz v4, 0021 // +000d 0057b8: 6203 6100 |0016: sget-object v3, Lcom/google/android/checkers/g;.i:[B // field@0061 0057bc: d222 0004 |0018: mul-int/lit16 v2, v2, #int 1024 // #0400 0057c0: da01 0120 |001a: mul-int/lit8 v1, v1, #int 32 // #20 0057c4: b021 |001c: add-int/2addr v1, v2 0057c6: b010 |001d: add-int/2addr v0, v1 0057c8: 4800 0300 |001e: aget-byte v0, v3, v0 0057cc: 0f00 |0020: return v0 0057ce: 6203 6200 |0021: sget-object v3, Lcom/google/android/checkers/g;.j:[B // field@0062 0057d2: d222 0004 |0023: mul-int/lit16 v2, v2, #int 1024 // #0400 0057d6: da01 0120 |0025: mul-int/lit8 v1, v1, #int 32 // #20 0057da: b021 |0027: add-int/2addr v1, v2 0057dc: b010 |0028: add-int/2addr v0, v1 0057de: 4800 0300 |0029: aget-byte v0, v3, v0 0057e2: 28f5 |002b: goto 0020 // -000b catches : (none) positions : locals : #8 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(ZIIZ)I' access : 0x000a (PRIVATE STATIC) method_idx : 121 code - registers : 7 ins : 4 outs : 1 insns size : 34 16-bit code units 0057e4: |[0057e4] com.google.android.checkers.a.a:(ZIIZ)I 0057f4: 7110 9f00 0400 |0000: invoke-static {v4}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 0057fa: 0a01 |0003: move-result v1 0057fc: 7110 9f00 0500 |0004: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 005802: 0a00 |0007: move-result v0 005804: 3806 0600 |0008: if-eqz v6, 000e // +0006 005808: d901 011f |000a: rsub-int/lit8 v1, v1, #int 31 // #1f 00580c: d900 001f |000c: rsub-int/lit8 v0, v0, #int 31 // #1f 005810: d800 00fc |000e: add-int/lit8 v0, v0, #int -4 // #fc 005814: 3803 0a00 |0010: if-eqz v3, 001a // +000a 005818: 6202 5a00 |0012: sget-object v2, Lcom/google/android/checkers/g;.b:[B // field@005a 00581c: da00 0020 |0014: mul-int/lit8 v0, v0, #int 32 // #20 005820: b010 |0016: add-int/2addr v0, v1 005822: 4800 0200 |0017: aget-byte v0, v2, v0 005826: 0f00 |0019: return v0 005828: 6202 5b00 |001a: sget-object v2, Lcom/google/android/checkers/g;.c:[B // field@005b 00582c: da00 0020 |001c: mul-int/lit8 v0, v0, #int 32 // #20 005830: b010 |001e: add-int/2addr v0, v1 005832: 4800 0200 |001f: aget-byte v0, v2, v0 005836: 28f8 |0021: goto 0019 // -0008 catches : (none) positions : locals : #9 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(IIII)V' access : 0x0012 (PRIVATE FINAL) method_idx : 125 code - registers : 9 ins : 5 outs : 0 insns size : 76 16-bit code units 005838: |[005838] com.google.android.checkers.a.a:(IIII)V 005848: 1301 007d |0000: const/16 v1, #int 32000 // #7d00 00584c: 1302 3f00 |0002: const/16 v2, #int 63 // #3f 005850: 1203 |0004: const/4 v3, #int 0 // #0 005852: 1300 0083 |0005: const/16 v0, #int -32000 // #8300 005856: 3608 2300 |0007: if-gt v8, v0, 002a // +0023 00585a: 2c07 2f00 0000 |0009: sparse-switch v7, 00000038 // +0000002f 005860: 0e00 |000c: return-void 005862: 1307 4000 |000d: const/16 v7, #int 64 // #40 005866: 0108 |000f: move v8, v0 005868: 0126 |0010: move v6, v2 00586a: 0135 |0011: move v5, v3 00586c: 5240 5100 |0012: iget v0, v4, Lcom/google/android/checkers/a;.x:I // field@0051 005870: 1401 ffff 0f00 |0014: const v1, #float 1.46937e-39 // #000fffff 005876: b501 |0017: and-int/2addr v1, v0 005878: 5442 5200 |0018: iget-object v2, v4, Lcom/google/android/checkers/a;.y:[I // field@0052 00587c: 4b00 0201 |001a: aput v0, v2, v1 005880: 5440 5300 |001c: iget-object v0, v4, Lcom/google/android/checkers/a;.z:[S // field@0053 005884: 8f82 |001e: int-to-short v2, v8 005886: 5102 0001 |001f: aput-short v2, v0, v1 00588a: 5440 2d00 |0021: iget-object v0, v4, Lcom/google/android/checkers/a;.A:[B // field@002d 00588e: 9102 0605 |0023: sub-int v2, v6, v5 005892: b672 |0025: or-int/2addr v2, v7 005894: 8d22 |0026: int-to-byte v2, v2 005896: 4f02 0001 |0027: aput-byte v2, v0, v1 00589a: 28e3 |0029: goto 000c // -001d 00589c: 3418 e8ff |002a: if-lt v8, v1, 0012 // -0018 0058a0: 2c07 1600 0000 |002c: sparse-switch v7, 00000042 // +00000016 0058a6: 28dd |002f: goto 000c // -0023 0058a8: 0118 |0030: move v8, v1 0058aa: 0126 |0031: move v6, v2 0058ac: 0135 |0032: move v5, v3 0058ae: 28df |0033: goto 0012 // -0021 0058b0: 1307 8000 |0034: const/16 v7, #int 128 // #80 0058b4: 28fa |0036: goto 0030 // -0006 0058b6: 0000 |0037: nop // spacer 0058b8: 0002 0200 4000 0000 c000 0000 0600 ... |0038: sparse-switch-data (10 units) 0058cc: 0002 0200 8000 0000 c000 0000 0400 ... |0042: sparse-switch-data (10 units) catches : (none) positions : locals : #10 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(IIIII)V' access : 0x0012 (PRIVATE FINAL) method_idx : 126 code - registers : 10 ins : 6 outs : 0 insns size : 39 16-bit code units 0058e0: |[0058e0] com.google.android.checkers.a.a:(IIIII)V 0058f0: 5240 3c00 |0000: iget v0, v4, Lcom/google/android/checkers/a;.c:I // field@003c 0058f4: 1301 4000 |0002: const/16 v1, #int 64 // #40 0058f8: 3410 0300 |0004: if-lt v0, v1, 0007 // +0003 0058fc: 0e00 |0006: return-void 0058fe: 5240 3c00 |0007: iget v0, v4, Lcom/google/android/checkers/a;.c:I // field@003c 005902: d801 0001 |0009: add-int/lit8 v1, v0, #int 1 // #01 005906: 5941 3c00 |000b: iput v1, v4, Lcom/google/android/checkers/a;.c:I // field@003c 00590a: 5241 4b00 |000d: iget v1, v4, Lcom/google/android/checkers/a;.r:I // field@004b 00590e: 5442 4800 |000f: iget-object v2, v4, Lcom/google/android/checkers/a;.o:[I // field@0048 005912: 9003 0100 |0011: add-int v3, v1, v0 005916: 4b06 0203 |0013: aput v6, v2, v3 00591a: 5442 3a00 |0015: iget-object v2, v4, Lcom/google/android/checkers/a;.a:[I // field@003a 00591e: 9003 0100 |0017: add-int v3, v1, v0 005922: 4b07 0203 |0019: aput v7, v2, v3 005926: 5442 4900 |001b: iget-object v2, v4, Lcom/google/android/checkers/a;.p:[I // field@0049 00592a: b001 |001d: add-int/2addr v1, v0 00592c: 4b08 0201 |001e: aput v8, v2, v1 005930: 3905 e6ff |0020: if-nez v5, 0006 // -001a 005934: 5441 3b00 |0022: iget-object v1, v4, Lcom/google/android/checkers/a;.b:[I // field@003b 005938: 4b09 0100 |0024: aput v9, v1, v0 00593c: 28e0 |0026: goto 0006 // -0020 catches : (none) positions : locals : #11 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(IIIIIIII)V' access : 0x0012 (PRIVATE FINAL) method_idx : 127 code - registers : 18 ins : 9 outs : 9 insns size : 99 16-bit code units 005940: |[005940] com.google.android.checkers.a.a:(IIIIIIII)V 005950: 1210 |0000: const/4 v0, #int 1 // #1 005952: 6201 3000 |0001: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030 005956: 4401 010d |0003: aget v1, v1, v13 00595a: b5c1 |0005: and-int/2addr v1, v12 00595c: 3801 2500 |0006: if-eqz v1, 002b // +0025 005960: 6201 3100 |0008: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031 005964: 4401 010d |000a: aget v1, v1, v13 005968: b5b1 |000c: and-int/2addr v1, v11 00596a: 3801 1e00 |000d: if-eqz v1, 002b // +001e 00596e: d804 0df7 |000f: add-int/lit8 v4, v13, #int -9 // #f7 005972: 6200 3100 |0011: sget-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031 005976: 4405 000d |0013: aget v5, v0, v13 00597a: 6200 3000 |0015: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030 00597e: 4400 000d |0017: aget v0, v0, v13 005982: 9606 0f00 |0019: or-int v6, v15, v0 005986: d807 1001 |001b: add-int/lit8 v7, v16, #int 1 // #01 00598a: 6200 3100 |001d: sget-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031 00598e: 4400 000d |001f: aget v0, v0, v13 005992: 9608 1100 |0021: or-int v8, v17, v0 005996: 0790 |0023: move-object v0, v9 005998: 01a1 |0024: move v1, v10 00599a: 01b2 |0025: move v2, v11 00599c: 01c3 |0026: move v3, v12 00599e: 7609 7f00 0000 |0027: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.a:(IIIIIIII)V // method@007f 0059a4: 1200 |002a: const/4 v0, #int 0 // #0 0059a6: 6201 3200 |002b: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032 0059aa: 4401 010d |002d: aget v1, v1, v13 0059ae: b5c1 |002f: and-int/2addr v1, v12 0059b0: 3801 2500 |0030: if-eqz v1, 0055 // +0025 0059b4: 6201 3300 |0032: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033 0059b8: 4401 010d |0034: aget v1, v1, v13 0059bc: b5b1 |0036: and-int/2addr v1, v11 0059be: 3801 1e00 |0037: if-eqz v1, 0055 // +001e 0059c2: d804 0df9 |0039: add-int/lit8 v4, v13, #int -7 // #f9 0059c6: 6200 3300 |003b: sget-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033 0059ca: 4405 000d |003d: aget v5, v0, v13 0059ce: 6200 3200 |003f: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032 0059d2: 4400 000d |0041: aget v0, v0, v13 0059d6: 9606 0f00 |0043: or-int v6, v15, v0 0059da: d807 1001 |0045: add-int/lit8 v7, v16, #int 1 // #01 0059de: 6200 3300 |0047: sget-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033 0059e2: 4400 000d |0049: aget v0, v0, v13 0059e6: 9608 1100 |004b: or-int v8, v17, v0 0059ea: 0790 |004d: move-object v0, v9 0059ec: 01a1 |004e: move v1, v10 0059ee: 01b2 |004f: move v2, v11 0059f0: 01c3 |0050: move v3, v12 0059f2: 7609 7f00 0000 |0051: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.a:(IIIIIIII)V // method@007f 0059f8: 1200 |0054: const/4 v0, #int 0 // #0 0059fa: 3800 0d00 |0055: if-eqz v0, 0062 // +000d 0059fe: 0790 |0057: move-object v0, v9 005a00: 01a1 |0058: move v1, v10 005a02: 01e2 |0059: move v2, v14 005a04: 01f3 |005a: move v3, v15 005a06: 0204 1000 |005b: move/from16 v4, v16 005a0a: 0205 1100 |005d: move/from16 v5, v17 005a0e: 7606 7e00 0000 |005f: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 005a14: 0e00 |0062: return-void catches : (none) positions : locals : #12 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(IZI)Z' access : 0x0012 (PRIVATE FINAL) method_idx : 129 code - registers : 21 ins : 4 outs : 9 insns size : 875 16-bit code units 005a18: |[005a18] com.google.android.checkers.a.a:(IZI)Z 005a28: 3813 b901 |0000: if-eqz v19, 01b9 // +01b9 005a2c: 0800 1100 |0002: move-object/from16 v0, v17 005a30: 5201 3e00 |0004: iget v1, v0, Lcom/google/android/checkers/a;.e:I // field@003e 005a34: 0800 1100 |0006: move-object/from16 v0, v17 005a38: 5202 3d00 |0008: iget v2, v0, Lcom/google/android/checkers/a;.d:I // field@003d 005a3c: b612 |000a: or-int/2addr v2, v1 005a3e: 0800 1100 |000b: move-object/from16 v0, v17 005a42: 5201 4000 |000d: iget v1, v0, Lcom/google/android/checkers/a;.g:I // field@0040 005a46: 0800 1100 |000f: move-object/from16 v0, v17 005a4a: 5203 3f00 |0011: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f 005a4e: 9604 0103 |0013: or-int v4, v1, v3 005a52: 1201 |0015: const/4 v1, #int 0 // #0 005a54: e203 1404 |0016: ushr-int/lit8 v3, v20, #int 4 // #04 005a58: b543 |0018: and-int/2addr v3, v4 005a5a: 3803 1200 |0019: if-eqz v3, 002b // +0012 005a5e: 1401 e0e0 e0e0 |001b: const v1, #float -1.29634e+20 // #e0e0e0e0 005a64: b531 |001e: and-int/2addr v1, v3 005a66: e201 0105 |001f: ushr-int/lit8 v1, v1, #int 5 // #05 005a6a: 1405 0007 0707 |0021: const v5, #float 1.01583e-34 // #07070700 005a70: b553 |0024: and-int/2addr v3, v5 005a72: e203 0303 |0025: ushr-int/lit8 v3, v3, #int 3 // #03 005a76: b631 |0027: or-int/2addr v1, v3 005a78: b521 |0028: and-int/2addr v1, v2 005a7a: de01 0100 |0029: or-int/lit8 v1, v1, #int 0 // #00 005a7e: 1403 e0e0 e0e0 |002b: const v3, #float -1.29634e+20 // #e0e0e0e0 005a84: 9503 0314 |002e: and-int v3, v3, v20 005a88: e203 0305 |0030: ushr-int/lit8 v3, v3, #int 5 // #05 005a8c: 1405 0007 0707 |0032: const v5, #float 1.01583e-34 // #07070700 005a92: 9505 0514 |0035: and-int v5, v5, v20 005a96: e205 0503 |0037: ushr-int/lit8 v5, v5, #int 3 // #03 005a9a: b653 |0039: or-int/2addr v3, v5 005a9c: b543 |003a: and-int/2addr v3, v4 005a9e: 3803 0600 |003b: if-eqz v3, 0041 // +0006 005aa2: e203 0304 |003d: ushr-int/lit8 v3, v3, #int 4 // #04 005aa6: b532 |003f: and-int/2addr v2, v3 005aa8: b621 |0040: or-int/2addr v1, v2 005aaa: 0800 1100 |0041: move-object/from16 v0, v17 005aae: 5202 3e00 |0043: iget v2, v0, Lcom/google/android/checkers/a;.e:I // field@003e 005ab2: 3802 3400 |0045: if-eqz v2, 0079 // +0034 005ab6: e002 1404 |0047: shl-int/lit8 v2, v20, #int 4 // #04 005aba: b542 |0049: and-int/2addr v2, v4 005abc: 3802 1500 |004a: if-eqz v2, 005f // +0015 005ac0: 0800 1100 |004c: move-object/from16 v0, v17 005ac4: 5203 3e00 |004e: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e 005ac8: 1405 0707 0707 |0050: const v5, #float 1.01583e-34 // #07070707 005ace: b525 |0053: and-int/2addr v5, v2 005ad0: e005 0505 |0054: shl-int/lit8 v5, v5, #int 5 // #05 005ad4: 1406 e0e0 e000 |0056: const v6, #float 2.06518e-38 // #00e0e0e0 005ada: b562 |0059: and-int/2addr v2, v6 005adc: e002 0203 |005a: shl-int/lit8 v2, v2, #int 3 // #03 005ae0: b652 |005c: or-int/2addr v2, v5 005ae2: b532 |005d: and-int/2addr v2, v3 005ae4: b621 |005e: or-int/2addr v1, v2 005ae6: 1402 0707 0707 |005f: const v2, #float 1.01583e-34 // #07070707 005aec: 9502 0214 |0062: and-int v2, v2, v20 005af0: e002 0205 |0064: shl-int/lit8 v2, v2, #int 5 // #05 005af4: 1403 e0e0 e000 |0066: const v3, #float 2.06518e-38 // #00e0e0e0 005afa: 9503 0314 |0069: and-int v3, v3, v20 005afe: e003 0303 |006b: shl-int/lit8 v3, v3, #int 3 // #03 005b02: b632 |006d: or-int/2addr v2, v3 005b04: b542 |006e: and-int/2addr v2, v4 005b06: 3802 0a00 |006f: if-eqz v2, 0079 // +000a 005b0a: 0800 1100 |0071: move-object/from16 v0, v17 005b0e: 5203 3e00 |0073: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e 005b12: e002 0204 |0075: shl-int/lit8 v2, v2, #int 4 // #04 005b16: b532 |0077: and-int/2addr v2, v3 005b18: b621 |0078: or-int/2addr v1, v2 005b1a: 3901 0a00 |0079: if-nez v1, 0083 // +000a 005b1e: 0800 1100 |007b: move-object/from16 v0, v17 005b22: 5201 3c00 |007d: iget v1, v0, Lcom/google/android/checkers/a;.c:I // field@003c 005b26: 3801 e902 |007f: if-eqz v1, 0368 // +02e9 005b2a: 1211 |0081: const/4 v1, #int 1 // #1 005b2c: 0f01 |0082: return v1 005b2e: 7110 9f00 0100 |0083: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 005b34: 0a0f |0086: move-result v15 005b36: 1212 |0087: const/4 v2, #int 1 // #1 005b38: 9810 020f |0088: shl-int v16, v2, v15 005b3c: 970e 0110 |008a: xor-int v14, v1, v16 005b40: 0800 1100 |008c: move-object/from16 v0, v17 005b44: 5201 3e00 |008e: iget v1, v0, Lcom/google/android/checkers/a;.e:I // field@003e 005b48: 9501 0110 |0090: and-int v1, v1, v16 005b4c: 3901 5c00 |0092: if-nez v1, 00ee // +005c 005b50: 6201 3400 |0094: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034 005b54: 4401 010f |0096: aget v1, v1, v15 005b58: b541 |0098: and-int/2addr v1, v4 005b5a: 3801 2700 |0099: if-eqz v1, 00c0 // +0027 005b5e: 6201 3500 |009b: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035 005b62: 4401 010f |009d: aget v1, v1, v15 005b66: 9501 0114 |009f: and-int v1, v1, v20 005b6a: 3801 1f00 |00a1: if-eqz v1, 00c0 // +001f 005b6e: d805 0f07 |00a3: add-int/lit8 v5, v15, #int 7 // #07 005b72: 6201 3500 |00a5: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035 005b76: 4406 010f |00a7: aget v6, v1, v15 005b7a: 6201 3400 |00a9: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034 005b7e: 4401 010f |00ab: aget v1, v1, v15 005b82: 9607 1001 |00ad: or-int v7, v16, v1 005b86: 1308 0101 |00af: const/16 v8, #int 257 // #101 005b8a: 6201 3500 |00b1: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035 005b8e: 4401 010f |00b3: aget v1, v1, v15 005b92: 9609 1001 |00b5: or-int v9, v16, v1 005b96: 0801 1100 |00b7: move-object/from16 v1, v17 005b9a: 0202 1200 |00b9: move/from16 v2, v18 005b9e: 0203 1400 |00bb: move/from16 v3, v20 005ba2: 7609 8600 0100 |00bd: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.b:(IIIIIIII)V // method@0086 005ba8: 6201 3600 |00c0: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036 005bac: 4401 010f |00c2: aget v1, v1, v15 005bb0: b541 |00c4: and-int/2addr v1, v4 005bb2: 3801 f100 |00c5: if-eqz v1, 01b6 // +00f1 005bb6: 6201 3700 |00c7: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037 005bba: 4401 010f |00c9: aget v1, v1, v15 005bbe: 9501 0114 |00cb: and-int v1, v1, v20 005bc2: 3801 e900 |00cd: if-eqz v1, 01b6 // +00e9 005bc6: d805 0f09 |00cf: add-int/lit8 v5, v15, #int 9 // #09 005bca: 6201 3700 |00d1: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037 005bce: 4406 010f |00d3: aget v6, v1, v15 005bd2: 6201 3600 |00d5: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036 005bd6: 4401 010f |00d7: aget v1, v1, v15 005bda: 9607 1001 |00d9: or-int v7, v16, v1 005bde: 1308 0101 |00db: const/16 v8, #int 257 // #101 005be2: 6201 3700 |00dd: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037 005be6: 4401 010f |00df: aget v1, v1, v15 005bea: 9609 1001 |00e1: or-int v9, v16, v1 005bee: 0801 1100 |00e3: move-object/from16 v1, v17 005bf2: 0202 1200 |00e5: move/from16 v2, v18 005bf6: 0203 1400 |00e7: move/from16 v3, v20 005bfa: 7609 8600 0100 |00e9: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.b:(IIIIIIII)V // method@0086 005c00: 01e1 |00ec: move v1, v14 005c02: 288c |00ed: goto 0079 // -0074 005c04: 6201 3000 |00ee: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030 005c08: 4401 010f |00f0: aget v1, v1, v15 005c0c: b541 |00f2: and-int/2addr v1, v4 005c0e: 3801 2d00 |00f3: if-eqz v1, 0120 // +002d 005c12: 6201 3100 |00f5: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031 005c16: 4401 010f |00f7: aget v1, v1, v15 005c1a: 9501 0114 |00f9: and-int v1, v1, v20 005c1e: 3801 2500 |00fb: if-eqz v1, 0120 // +0025 005c22: 9607 1410 |00fd: or-int v7, v20, v16 005c26: 6201 3000 |00ff: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030 005c2a: 4401 010f |0101: aget v1, v1, v15 005c2e: 9708 0401 |0103: xor-int v8, v4, v1 005c32: d809 0ff7 |0105: add-int/lit8 v9, v15, #int -9 // #f7 005c36: 6201 3100 |0107: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031 005c3a: 440a 010f |0109: aget v10, v1, v15 005c3e: 6201 3000 |010b: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030 005c42: 4401 010f |010d: aget v1, v1, v15 005c46: 960b 1001 |010f: or-int v11, v16, v1 005c4a: 130c 0102 |0111: const/16 v12, #int 513 // #201 005c4e: 6201 3100 |0113: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031 005c52: 4401 010f |0115: aget v1, v1, v15 005c56: 960d 1001 |0117: or-int v13, v16, v1 005c5a: 0805 1100 |0119: move-object/from16 v5, v17 005c5e: 0206 1200 |011b: move/from16 v6, v18 005c62: 7609 8b00 0500 |011d: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b 005c68: 6201 3200 |0120: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032 005c6c: 4401 010f |0122: aget v1, v1, v15 005c70: b541 |0124: and-int/2addr v1, v4 005c72: 3801 2d00 |0125: if-eqz v1, 0152 // +002d 005c76: 6201 3300 |0127: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033 005c7a: 4401 010f |0129: aget v1, v1, v15 005c7e: 9501 0114 |012b: and-int v1, v1, v20 005c82: 3801 2500 |012d: if-eqz v1, 0152 // +0025 005c86: 9607 1410 |012f: or-int v7, v20, v16 005c8a: 6201 3200 |0131: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032 005c8e: 4401 010f |0133: aget v1, v1, v15 005c92: 9708 0401 |0135: xor-int v8, v4, v1 005c96: d809 0ff9 |0137: add-int/lit8 v9, v15, #int -7 // #f9 005c9a: 6201 3300 |0139: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033 005c9e: 440a 010f |013b: aget v10, v1, v15 005ca2: 6201 3200 |013d: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032 005ca6: 4401 010f |013f: aget v1, v1, v15 005caa: 960b 1001 |0141: or-int v11, v16, v1 005cae: 130c 0102 |0143: const/16 v12, #int 513 // #201 005cb2: 6201 3300 |0145: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033 005cb6: 4401 010f |0147: aget v1, v1, v15 005cba: 960d 1001 |0149: or-int v13, v16, v1 005cbe: 0805 1100 |014b: move-object/from16 v5, v17 005cc2: 0206 1200 |014d: move/from16 v6, v18 005cc6: 7609 8b00 0500 |014f: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b 005ccc: 6201 3400 |0152: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034 005cd0: 4401 010f |0154: aget v1, v1, v15 005cd4: b541 |0156: and-int/2addr v1, v4 005cd6: 3801 2d00 |0157: if-eqz v1, 0184 // +002d 005cda: 6201 3500 |0159: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035 005cde: 4401 010f |015b: aget v1, v1, v15 005ce2: 9501 0114 |015d: and-int v1, v1, v20 005ce6: 3801 2500 |015f: if-eqz v1, 0184 // +0025 005cea: 9607 1410 |0161: or-int v7, v20, v16 005cee: 6201 3400 |0163: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034 005cf2: 4401 010f |0165: aget v1, v1, v15 005cf6: 9708 0401 |0167: xor-int v8, v4, v1 005cfa: d809 0f07 |0169: add-int/lit8 v9, v15, #int 7 // #07 005cfe: 6201 3500 |016b: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035 005d02: 440a 010f |016d: aget v10, v1, v15 005d06: 6201 3400 |016f: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034 005d0a: 4401 010f |0171: aget v1, v1, v15 005d0e: 960b 1001 |0173: or-int v11, v16, v1 005d12: 130c 0102 |0175: const/16 v12, #int 513 // #201 005d16: 6201 3500 |0177: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035 005d1a: 4401 010f |0179: aget v1, v1, v15 005d1e: 960d 1001 |017b: or-int v13, v16, v1 005d22: 0805 1100 |017d: move-object/from16 v5, v17 005d26: 0206 1200 |017f: move/from16 v6, v18 005d2a: 7609 8b00 0500 |0181: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b 005d30: 6201 3600 |0184: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036 005d34: 4401 010f |0186: aget v1, v1, v15 005d38: b541 |0188: and-int/2addr v1, v4 005d3a: 3801 2d00 |0189: if-eqz v1, 01b6 // +002d 005d3e: 6201 3700 |018b: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037 005d42: 4401 010f |018d: aget v1, v1, v15 005d46: 9501 0114 |018f: and-int v1, v1, v20 005d4a: 3801 2500 |0191: if-eqz v1, 01b6 // +0025 005d4e: 9607 1410 |0193: or-int v7, v20, v16 005d52: 6201 3600 |0195: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036 005d56: 4401 010f |0197: aget v1, v1, v15 005d5a: 9708 0401 |0199: xor-int v8, v4, v1 005d5e: d809 0f09 |019b: add-int/lit8 v9, v15, #int 9 // #09 005d62: 6201 3700 |019d: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037 005d66: 440a 010f |019f: aget v10, v1, v15 005d6a: 6201 3600 |01a1: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036 005d6e: 4401 010f |01a3: aget v1, v1, v15 005d72: 960b 1001 |01a5: or-int v11, v16, v1 005d76: 130c 0102 |01a7: const/16 v12, #int 513 // #201 005d7a: 6201 3700 |01a9: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037 005d7e: 4401 010f |01ab: aget v1, v1, v15 005d82: 960d 1001 |01ad: or-int v13, v16, v1 005d86: 0805 1100 |01af: move-object/from16 v5, v17 005d8a: 0206 1200 |01b1: move/from16 v6, v18 005d8e: 7609 8b00 0500 |01b3: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b 005d94: 01e1 |01b6: move v1, v14 005d96: 2900 c2fe |01b7: goto/16 0079 // -013e 005d9a: 0800 1100 |01b9: move-object/from16 v0, v17 005d9e: 5201 4000 |01bb: iget v1, v0, Lcom/google/android/checkers/a;.g:I // field@0040 005da2: 0800 1100 |01bd: move-object/from16 v0, v17 005da6: 5202 3f00 |01bf: iget v2, v0, Lcom/google/android/checkers/a;.f:I // field@003f 005daa: b612 |01c1: or-int/2addr v2, v1 005dac: 0800 1100 |01c2: move-object/from16 v0, v17 005db0: 5201 3e00 |01c4: iget v1, v0, Lcom/google/android/checkers/a;.e:I // field@003e 005db4: 0800 1100 |01c6: move-object/from16 v0, v17 005db8: 5203 3d00 |01c8: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d 005dbc: 9604 0103 |01ca: or-int v4, v1, v3 005dc0: 1201 |01cc: const/4 v1, #int 0 // #0 005dc2: 0800 1100 |01cd: move-object/from16 v0, v17 005dc6: 5203 4000 |01cf: iget v3, v0, Lcom/google/android/checkers/a;.g:I // field@0040 005dca: 3803 3500 |01d1: if-eqz v3, 0206 // +0035 005dce: e203 1404 |01d3: ushr-int/lit8 v3, v20, #int 4 // #04 005dd2: b543 |01d5: and-int/2addr v3, v4 005dd4: 3803 1600 |01d6: if-eqz v3, 01ec // +0016 005dd8: 0800 1100 |01d8: move-object/from16 v0, v17 005ddc: 5201 4000 |01da: iget v1, v0, Lcom/google/android/checkers/a;.g:I // field@0040 005de0: 1405 e0e0 e0e0 |01dc: const v5, #float -1.29634e+20 // #e0e0e0e0 005de6: b535 |01df: and-int/2addr v5, v3 005de8: e205 0505 |01e0: ushr-int/lit8 v5, v5, #int 5 // #05 005dec: 1406 0007 0707 |01e2: const v6, #float 1.01583e-34 // #07070700 005df2: b563 |01e5: and-int/2addr v3, v6 005df4: e203 0303 |01e6: ushr-int/lit8 v3, v3, #int 3 // #03 005df8: b653 |01e8: or-int/2addr v3, v5 005dfa: b531 |01e9: and-int/2addr v1, v3 005dfc: de01 0100 |01ea: or-int/lit8 v1, v1, #int 0 // #00 005e00: 1403 e0e0 e0e0 |01ec: const v3, #float -1.29634e+20 // #e0e0e0e0 005e06: 9503 0314 |01ef: and-int v3, v3, v20 005e0a: e203 0305 |01f1: ushr-int/lit8 v3, v3, #int 5 // #05 005e0e: 1405 0007 0707 |01f3: const v5, #float 1.01583e-34 // #07070700 005e14: 9505 0514 |01f6: and-int v5, v5, v20 005e18: e205 0503 |01f8: ushr-int/lit8 v5, v5, #int 3 // #03 005e1c: b653 |01fa: or-int/2addr v3, v5 005e1e: b543 |01fb: and-int/2addr v3, v4 005e20: 3803 0a00 |01fc: if-eqz v3, 0206 // +000a 005e24: 0800 1100 |01fe: move-object/from16 v0, v17 005e28: 5205 4000 |0200: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040 005e2c: e203 0304 |0202: ushr-int/lit8 v3, v3, #int 4 // #04 005e30: b553 |0204: and-int/2addr v3, v5 005e32: b631 |0205: or-int/2addr v1, v3 005e34: e003 1404 |0206: shl-int/lit8 v3, v20, #int 4 // #04 005e38: b543 |0208: and-int/2addr v3, v4 005e3a: 3803 1100 |0209: if-eqz v3, 021a // +0011 005e3e: 1405 0707 0707 |020b: const v5, #float 1.01583e-34 // #07070707 005e44: b535 |020e: and-int/2addr v5, v3 005e46: e005 0505 |020f: shl-int/lit8 v5, v5, #int 5 // #05 005e4a: 1406 e0e0 e000 |0211: const v6, #float 2.06518e-38 // #00e0e0e0 005e50: b563 |0214: and-int/2addr v3, v6 005e52: e003 0303 |0215: shl-int/lit8 v3, v3, #int 3 // #03 005e56: b653 |0217: or-int/2addr v3, v5 005e58: b523 |0218: and-int/2addr v3, v2 005e5a: b631 |0219: or-int/2addr v1, v3 005e5c: 1403 0707 0707 |021a: const v3, #float 1.01583e-34 // #07070707 005e62: 9503 0314 |021d: and-int v3, v3, v20 005e66: e003 0305 |021f: shl-int/lit8 v3, v3, #int 5 // #05 005e6a: 1405 e0e0 e000 |0221: const v5, #float 2.06518e-38 // #00e0e0e0 005e70: 9505 0514 |0224: and-int v5, v5, v20 005e74: e005 0503 |0226: shl-int/lit8 v5, v5, #int 3 // #03 005e78: b653 |0228: or-int/2addr v3, v5 005e7a: b543 |0229: and-int/2addr v3, v4 005e7c: 3803 0600 |022a: if-eqz v3, 0230 // +0006 005e80: e003 0304 |022c: shl-int/lit8 v3, v3, #int 4 // #04 005e84: b532 |022e: and-int/2addr v2, v3 005e86: b621 |022f: or-int/2addr v1, v2 005e88: 3801 4bfe |0230: if-eqz v1, 007b // -01b5 005e8c: 7110 9f00 0100 |0232: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 005e92: 0a0f |0235: move-result v15 005e94: 1212 |0236: const/4 v2, #int 1 // #1 005e96: 9810 020f |0237: shl-int v16, v2, v15 005e9a: 970e 0110 |0239: xor-int v14, v1, v16 005e9e: 0800 1100 |023b: move-object/from16 v0, v17 005ea2: 5201 4000 |023d: iget v1, v0, Lcom/google/android/checkers/a;.g:I // field@0040 005ea6: 9501 0110 |023f: and-int v1, v1, v16 005eaa: 3901 5c00 |0241: if-nez v1, 029d // +005c 005eae: 6201 3000 |0243: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030 005eb2: 4401 010f |0245: aget v1, v1, v15 005eb6: b541 |0247: and-int/2addr v1, v4 005eb8: 3801 2700 |0248: if-eqz v1, 026f // +0027 005ebc: 6201 3100 |024a: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031 005ec0: 4401 010f |024c: aget v1, v1, v15 005ec4: 9501 0114 |024e: and-int v1, v1, v20 005ec8: 3801 1f00 |0250: if-eqz v1, 026f // +001f 005ecc: d805 0ff7 |0252: add-int/lit8 v5, v15, #int -9 // #f7 005ed0: 6201 3100 |0254: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031 005ed4: 4406 010f |0256: aget v6, v1, v15 005ed8: 6201 3000 |0258: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030 005edc: 4401 010f |025a: aget v1, v1, v15 005ee0: 9607 1001 |025c: or-int v7, v16, v1 005ee4: 1308 0104 |025e: const/16 v8, #int 1025 // #401 005ee8: 6201 3100 |0260: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031 005eec: 4401 010f |0262: aget v1, v1, v15 005ef0: 9609 1001 |0264: or-int v9, v16, v1 005ef4: 0801 1100 |0266: move-object/from16 v1, v17 005ef8: 0202 1200 |0268: move/from16 v2, v18 005efc: 0203 1400 |026a: move/from16 v3, v20 005f00: 7609 7f00 0100 |026c: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.a:(IIIIIIII)V // method@007f 005f06: 6201 3200 |026f: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032 005f0a: 4401 010f |0271: aget v1, v1, v15 005f0e: b541 |0273: and-int/2addr v1, v4 005f10: 3801 f100 |0274: if-eqz v1, 0365 // +00f1 005f14: 6201 3300 |0276: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033 005f18: 4401 010f |0278: aget v1, v1, v15 005f1c: 9501 0114 |027a: and-int v1, v1, v20 005f20: 3801 e900 |027c: if-eqz v1, 0365 // +00e9 005f24: d805 0ff9 |027e: add-int/lit8 v5, v15, #int -7 // #f9 005f28: 6201 3300 |0280: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033 005f2c: 4406 010f |0282: aget v6, v1, v15 005f30: 6201 3200 |0284: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032 005f34: 4401 010f |0286: aget v1, v1, v15 005f38: 9607 1001 |0288: or-int v7, v16, v1 005f3c: 1308 0104 |028a: const/16 v8, #int 1025 // #401 005f40: 6201 3300 |028c: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033 005f44: 4401 010f |028e: aget v1, v1, v15 005f48: 9609 1001 |0290: or-int v9, v16, v1 005f4c: 0801 1100 |0292: move-object/from16 v1, v17 005f50: 0202 1200 |0294: move/from16 v2, v18 005f54: 0203 1400 |0296: move/from16 v3, v20 005f58: 7609 7f00 0100 |0298: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.a:(IIIIIIII)V // method@007f 005f5e: 01e1 |029b: move v1, v14 005f60: 2894 |029c: goto 0230 // -006c 005f62: 6201 3000 |029d: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030 005f66: 4401 010f |029f: aget v1, v1, v15 005f6a: b541 |02a1: and-int/2addr v1, v4 005f6c: 3801 2d00 |02a2: if-eqz v1, 02cf // +002d 005f70: 6201 3100 |02a4: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031 005f74: 4401 010f |02a6: aget v1, v1, v15 005f78: 9501 0114 |02a8: and-int v1, v1, v20 005f7c: 3801 2500 |02aa: if-eqz v1, 02cf // +0025 005f80: 9607 1410 |02ac: or-int v7, v20, v16 005f84: 6201 3000 |02ae: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030 005f88: 4401 010f |02b0: aget v1, v1, v15 005f8c: 9708 0401 |02b2: xor-int v8, v4, v1 005f90: d809 0ff7 |02b4: add-int/lit8 v9, v15, #int -9 // #f7 005f94: 6201 3100 |02b6: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031 005f98: 440a 010f |02b8: aget v10, v1, v15 005f9c: 6201 3000 |02ba: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030 005fa0: 4401 010f |02bc: aget v1, v1, v15 005fa4: 960b 1001 |02be: or-int v11, v16, v1 005fa8: 130c 0108 |02c0: const/16 v12, #int 2049 // #801 005fac: 6201 3100 |02c2: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031 005fb0: 4401 010f |02c4: aget v1, v1, v15 005fb4: 960d 1001 |02c6: or-int v13, v16, v1 005fb8: 0805 1100 |02c8: move-object/from16 v5, v17 005fbc: 0206 1200 |02ca: move/from16 v6, v18 005fc0: 7609 8b00 0500 |02cc: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b 005fc6: 6201 3200 |02cf: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032 005fca: 4401 010f |02d1: aget v1, v1, v15 005fce: b541 |02d3: and-int/2addr v1, v4 005fd0: 3801 2d00 |02d4: if-eqz v1, 0301 // +002d 005fd4: 6201 3300 |02d6: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033 005fd8: 4401 010f |02d8: aget v1, v1, v15 005fdc: 9501 0114 |02da: and-int v1, v1, v20 005fe0: 3801 2500 |02dc: if-eqz v1, 0301 // +0025 005fe4: 9607 1410 |02de: or-int v7, v20, v16 005fe8: 6201 3200 |02e0: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032 005fec: 4401 010f |02e2: aget v1, v1, v15 005ff0: 9708 0401 |02e4: xor-int v8, v4, v1 005ff4: d809 0ff9 |02e6: add-int/lit8 v9, v15, #int -7 // #f9 005ff8: 6201 3300 |02e8: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033 005ffc: 440a 010f |02ea: aget v10, v1, v15 006000: 6201 3200 |02ec: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032 006004: 4401 010f |02ee: aget v1, v1, v15 006008: 960b 1001 |02f0: or-int v11, v16, v1 00600c: 130c 0108 |02f2: const/16 v12, #int 2049 // #801 006010: 6201 3300 |02f4: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033 006014: 4401 010f |02f6: aget v1, v1, v15 006018: 960d 1001 |02f8: or-int v13, v16, v1 00601c: 0805 1100 |02fa: move-object/from16 v5, v17 006020: 0206 1200 |02fc: move/from16 v6, v18 006024: 7609 8b00 0500 |02fe: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b 00602a: 6201 3400 |0301: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034 00602e: 4401 010f |0303: aget v1, v1, v15 006032: b541 |0305: and-int/2addr v1, v4 006034: 3801 2d00 |0306: if-eqz v1, 0333 // +002d 006038: 6201 3500 |0308: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035 00603c: 4401 010f |030a: aget v1, v1, v15 006040: 9501 0114 |030c: and-int v1, v1, v20 006044: 3801 2500 |030e: if-eqz v1, 0333 // +0025 006048: 9607 1410 |0310: or-int v7, v20, v16 00604c: 6201 3400 |0312: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034 006050: 4401 010f |0314: aget v1, v1, v15 006054: 9708 0401 |0316: xor-int v8, v4, v1 006058: d809 0f07 |0318: add-int/lit8 v9, v15, #int 7 // #07 00605c: 6201 3500 |031a: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035 006060: 440a 010f |031c: aget v10, v1, v15 006064: 6201 3400 |031e: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034 006068: 4401 010f |0320: aget v1, v1, v15 00606c: 960b 1001 |0322: or-int v11, v16, v1 006070: 130c 0108 |0324: const/16 v12, #int 2049 // #801 006074: 6201 3500 |0326: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035 006078: 4401 010f |0328: aget v1, v1, v15 00607c: 960d 1001 |032a: or-int v13, v16, v1 006080: 0805 1100 |032c: move-object/from16 v5, v17 006084: 0206 1200 |032e: move/from16 v6, v18 006088: 7609 8b00 0500 |0330: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b 00608e: 6201 3600 |0333: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036 006092: 4401 010f |0335: aget v1, v1, v15 006096: b541 |0337: and-int/2addr v1, v4 006098: 3801 2d00 |0338: if-eqz v1, 0365 // +002d 00609c: 6201 3700 |033a: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037 0060a0: 4401 010f |033c: aget v1, v1, v15 0060a4: 9501 0114 |033e: and-int v1, v1, v20 0060a8: 3801 2500 |0340: if-eqz v1, 0365 // +0025 0060ac: 9607 1410 |0342: or-int v7, v20, v16 0060b0: 6201 3600 |0344: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036 0060b4: 4401 010f |0346: aget v1, v1, v15 0060b8: 9708 0401 |0348: xor-int v8, v4, v1 0060bc: d809 0f09 |034a: add-int/lit8 v9, v15, #int 9 // #09 0060c0: 6201 3700 |034c: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037 0060c4: 440a 010f |034e: aget v10, v1, v15 0060c8: 6201 3600 |0350: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036 0060cc: 4401 010f |0352: aget v1, v1, v15 0060d0: 960b 1001 |0354: or-int v11, v16, v1 0060d4: 130c 0108 |0356: const/16 v12, #int 2049 // #801 0060d8: 6201 3700 |0358: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037 0060dc: 4401 010f |035a: aget v1, v1, v15 0060e0: 960d 1001 |035c: or-int v13, v16, v1 0060e4: 0805 1100 |035e: move-object/from16 v5, v17 0060e8: 0206 1200 |0360: move/from16 v6, v18 0060ec: 7609 8b00 0500 |0362: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b 0060f2: 01e1 |0365: move v1, v14 0060f4: 2900 cafe |0366: goto/16 0230 // -0136 0060f8: 1201 |0368: const/4 v1, #int 0 // #0 0060fa: 2900 19fd |0369: goto/16 0082 // -02e7 catches : (none) positions : locals : #13 : (in Lcom/google/android/checkers/a;) name : 'b' type : '(ZIIIZ)I' access : 0x000a (PRIVATE STATIC) method_idx : 130 code - registers : 9 ins : 5 outs : 1 insns size : 46 16-bit code units 006100: |[006100] com.google.android.checkers.a.b:(ZIIIZ)I 006110: 7110 9f00 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 006116: 0a02 |0003: move-result v2 006118: 7110 9f00 0600 |0004: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 00611e: 0a01 |0007: move-result v1 006120: 7110 9f00 0700 |0008: invoke-static {v7}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 006126: 0a00 |000b: move-result v0 006128: 3808 0800 |000c: if-eqz v8, 0014 // +0008 00612c: d902 021f |000e: rsub-int/lit8 v2, v2, #int 31 // #1f 006130: d901 011f |0010: rsub-int/lit8 v1, v1, #int 31 // #1f 006134: d900 001f |0012: rsub-int/lit8 v0, v0, #int 31 // #1f 006138: d800 00fc |0014: add-int/lit8 v0, v0, #int -4 // #fc 00613c: 3804 0d00 |0016: if-eqz v4, 0023 // +000d 006140: 6203 6300 |0018: sget-object v3, Lcom/google/android/checkers/g;.k:[B // field@0063 006144: d200 8003 |001a: mul-int/lit16 v0, v0, #int 896 // #0380 006148: da02 0220 |001c: mul-int/lit8 v2, v2, #int 32 // #20 00614c: b020 |001e: add-int/2addr v0, v2 00614e: b010 |001f: add-int/2addr v0, v1 006150: 4800 0300 |0020: aget-byte v0, v3, v0 006154: 0f00 |0022: return v0 006156: 6203 6400 |0023: sget-object v3, Lcom/google/android/checkers/g;.l:[B // field@0064 00615a: d200 8003 |0025: mul-int/lit16 v0, v0, #int 896 // #0380 00615e: da02 0220 |0027: mul-int/lit8 v2, v2, #int 32 // #20 006162: b020 |0029: add-int/2addr v0, v2 006164: b010 |002a: add-int/2addr v0, v1 006166: 4800 0300 |002b: aget-byte v0, v3, v0 00616a: 28f5 |002d: goto 0022 // -000b catches : (none) positions : locals : #14 : (in Lcom/google/android/checkers/a;) name : 'b' type : '(ZIIZ)I' access : 0x000a (PRIVATE STATIC) method_idx : 131 code - registers : 8 ins : 4 outs : 1 insns size : 56 16-bit code units 00616c: |[00616c] com.google.android.checkers.a.b:(ZIIZ)I 00617c: 7110 9f00 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 006182: 0a00 |0003: move-result v0 006184: d801 05ff |0004: add-int/lit8 v1, v5, #int -1 // #ff 006188: b551 |0006: and-int/2addr v1, v5 00618a: 7110 9f00 0100 |0007: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 006190: 0a02 |000a: move-result v2 006192: 7110 9f00 0600 |000b: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 006198: 0a01 |000e: move-result v1 00619a: 3807 0800 |000f: if-eqz v7, 0017 // +0008 00619e: d900 001f |0011: rsub-int/lit8 v0, v0, #int 31 // #1f 0061a2: d902 021f |0013: rsub-int/lit8 v2, v2, #int 31 // #1f 0061a6: d901 011f |0015: rsub-int/lit8 v1, v1, #int 31 // #1f 0061aa: d801 01fc |0017: add-int/lit8 v1, v1, #int -4 // #fc 0061ae: 3520 1100 |0019: if-ge v0, v2, 002a // +0011 0061b2: 6203 3800 |001b: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038 0061b6: 4402 0302 |001d: aget v2, v3, v2 0061ba: b020 |001f: add-int/2addr v0, v2 0061bc: 3804 1000 |0020: if-eqz v4, 0030 // +0010 0061c0: 6202 5f00 |0022: sget-object v2, Lcom/google/android/checkers/g;.g:[B // field@005f 0061c4: d211 f001 |0024: mul-int/lit16 v1, v1, #int 496 // #01f0 0061c8: b010 |0026: add-int/2addr v0, v1 0061ca: 4800 0200 |0027: aget-byte v0, v2, v0 0061ce: 0f00 |0029: return v0 0061d0: 6203 3800 |002a: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038 0061d4: 4400 0300 |002c: aget v0, v3, v0 0061d8: b020 |002e: add-int/2addr v0, v2 0061da: 28f1 |002f: goto 0020 // -000f 0061dc: 6202 6000 |0030: sget-object v2, Lcom/google/android/checkers/g;.h:[B // field@0060 0061e0: d211 f001 |0032: mul-int/lit16 v1, v1, #int 496 // #01f0 0061e4: b010 |0034: add-int/2addr v0, v1 0061e6: 4800 0200 |0035: aget-byte v0, v2, v0 0061ea: 28f2 |0037: goto 0029 // -000e catches : (none) positions : locals : #15 : (in Lcom/google/android/checkers/a;) name : 'b' type : '()V' access : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED) method_idx : 132 code - registers : 2 ins : 1 outs : 1 insns size : 19 16-bit code units 0061ec: |[0061ec] com.google.android.checkers.a.b:()V 0061fc: 1d01 |0000: monitor-enter v1 0061fe: 5510 4400 |0001: iget-boolean v0, v1, Lcom/google/android/checkers/a;.k:Z // field@0044 006202: 3800 0700 |0003: if-eqz v0, 000a // +0007 006206: 1200 |0005: const/4 v0, #int 0 // #0 006208: 5c10 4400 |0006: iput-boolean v0, v1, Lcom/google/android/checkers/a;.k:Z // field@0044 00620c: 1e01 |0008: monitor-exit v1 00620e: 0e00 |0009: return-void 006210: 6e10 a200 0100 |000a: invoke-virtual {v1}, Ljava/lang/Object;.wait:()V // method@00a2 006216: 28f4 |000d: goto 0001 // -000c 006218: 0d00 |000e: move-exception v0 00621a: 28f2 |000f: goto 0001 // -000e 00621c: 0d00 |0010: move-exception v0 00621e: 1e01 |0011: monitor-exit v1 006220: 2700 |0012: throw v0 catches : 2 0x0001 - 0x0008 -> 0x0010 0x000a - 0x000d Ljava/lang/InterruptedException; -> 0x000e -> 0x0010 positions : locals : #16 : (in Lcom/google/android/checkers/a;) name : 'b' type : '(I)V' access : 0x0012 (PRIVATE FINAL) method_idx : 133 code - registers : 10 ins : 2 outs : 1 insns size : 368 16-bit code units 00623c: |[00623c] com.google.android.checkers.a.b:(I)V 00624c: 5280 3d00 |0000: iget v0, v8, Lcom/google/android/checkers/a;.d:I // field@003d 006250: 5282 3e00 |0002: iget v2, v8, Lcom/google/android/checkers/a;.e:I // field@003e 006254: 5283 3f00 |0004: iget v3, v8, Lcom/google/android/checkers/a;.f:I // field@003f 006258: 5284 4000 |0006: iget v4, v8, Lcom/google/android/checkers/a;.g:I // field@0040 00625c: 5481 4900 |0008: iget-object v1, v8, Lcom/google/android/checkers/a;.p:[I // field@0049 006260: 4401 0109 |000a: aget v1, v1, v9 006264: d511 ff00 |000c: and-int/lit16 v1, v1, #int 255 // #00ff 006268: 5485 4900 |000e: iget-object v5, v8, Lcom/google/android/checkers/a;.p:[I // field@0049 00626c: 4405 0509 |0010: aget v5, v5, v9 006270: d555 000f |0012: and-int/lit16 v5, v5, #int 3840 // #0f00 006274: 5486 4800 |0014: iget-object v6, v8, Lcom/google/android/checkers/a;.o:[I // field@0048 006278: 4406 0609 |0016: aget v6, v6, v9 00627c: 2c05 4601 0000 |0018: sparse-switch v5, 0000015e // +00000146 006282: 5281 5100 |001b: iget v1, v8, Lcom/google/android/checkers/a;.x:I // field@0051 006286: 6205 3900 |001d: sget-object v5, Lcom/google/android/checkers/a;.M:[I // field@0039 00628a: 1306 8000 |001f: const/16 v6, #int 128 // #80 00628e: 4405 0506 |0021: aget v5, v5, v6 006292: b751 |0023: xor-int/2addr v1, v5 006294: 5285 3d00 |0024: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d 006298: b750 |0026: xor-int/2addr v0, v5 00629a: 3900 ee00 |0027: if-nez v0, 0115 // +00ee 00629e: 5280 3e00 |0029: iget v0, v8, Lcom/google/android/checkers/a;.e:I // field@003e 0062a2: b720 |002b: xor-int/2addr v0, v2 0062a4: 3900 fb00 |002c: if-nez v0, 0127 // +00fb 0062a8: 5280 3f00 |002e: iget v0, v8, Lcom/google/android/checkers/a;.f:I // field@003f 0062ac: b730 |0030: xor-int/2addr v0, v3 0062ae: 3900 0801 |0031: if-nez v0, 0139 // +0108 0062b2: 5280 4000 |0033: iget v0, v8, Lcom/google/android/checkers/a;.g:I // field@0040 0062b6: b740 |0035: xor-int/2addr v0, v4 0062b8: 3900 1501 |0036: if-nez v0, 014b // +0115 0062bc: 5981 5100 |0038: iput v1, v8, Lcom/google/android/checkers/a;.x:I // field@0051 0062c0: 0e00 |003a: return-void 0062c2: 1505 00f0 |003b: const/high16 v5, #int -268435456 // #f000 0062c6: b565 |003d: and-int/2addr v5, v6 0062c8: 3805 3100 |003e: if-eqz v5, 006f // +0031 0062cc: 5285 3d00 |0040: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d 0062d0: 5487 3a00 |0042: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 0062d4: 4407 0709 |0044: aget v7, v7, v9 0062d8: df07 07ff |0046: xor-int/lit8 v7, v7, #int -1 // #ff 0062dc: b575 |0048: and-int/2addr v5, v7 0062de: 5985 3d00 |0049: iput v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d 0062e2: 5285 3e00 |004b: iget v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e 0062e6: b665 |004d: or-int/2addr v5, v6 0062e8: 5985 3e00 |004e: iput v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e 0062ec: 3801 cbff |0050: if-eqz v1, 001b // -0035 0062f0: 5285 3f00 |0052: iget v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f 0062f4: 5486 3a00 |0054: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 0062f8: 4406 0609 |0056: aget v6, v6, v9 0062fc: df06 06ff |0058: xor-int/lit8 v6, v6, #int -1 // #ff 006300: b565 |005a: and-int/2addr v5, v6 006302: 5985 3f00 |005b: iput v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f 006306: 5285 4000 |005d: iget v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040 00630a: 5486 3a00 |005f: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 00630e: 4406 0609 |0061: aget v6, v6, v9 006312: df06 06ff |0063: xor-int/lit8 v6, v6, #int -1 // #ff 006316: b565 |0065: and-int/2addr v5, v6 006318: 5985 4000 |0066: iput v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040 00631c: 5285 5000 |0068: iget v5, v8, Lcom/google/android/checkers/a;.w:I // field@0050 006320: 9101 0501 |006a: sub-int v1, v5, v1 006324: 5981 5000 |006c: iput v1, v8, Lcom/google/android/checkers/a;.w:I // field@0050 006328: 28ad |006e: goto 001b // -0053 00632a: 5285 3d00 |006f: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d 00632e: 5487 3a00 |0071: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 006332: 4407 0709 |0073: aget v7, v7, v9 006336: df07 07ff |0075: xor-int/lit8 v7, v7, #int -1 // #ff 00633a: b575 |0077: and-int/2addr v5, v7 00633c: b665 |0078: or-int/2addr v5, v6 00633e: 5985 3d00 |0079: iput v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d 006342: 28d5 |007b: goto 0050 // -002b 006344: 5285 3e00 |007c: iget v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e 006348: 5487 3a00 |007e: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 00634c: 4407 0709 |0080: aget v7, v7, v9 006350: df07 07ff |0082: xor-int/lit8 v7, v7, #int -1 // #ff 006354: b575 |0084: and-int/2addr v5, v7 006356: b665 |0085: or-int/2addr v5, v6 006358: 5985 3e00 |0086: iput v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e 00635c: 3801 93ff |0088: if-eqz v1, 001b // -006d 006360: 5285 3f00 |008a: iget v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f 006364: 5486 3a00 |008c: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 006368: 4406 0609 |008e: aget v6, v6, v9 00636c: df06 06ff |0090: xor-int/lit8 v6, v6, #int -1 // #ff 006370: b565 |0092: and-int/2addr v5, v6 006372: 5985 3f00 |0093: iput v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f 006376: 5285 4000 |0095: iget v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040 00637a: 5486 3a00 |0097: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 00637e: 4406 0609 |0099: aget v6, v6, v9 006382: df06 06ff |009b: xor-int/lit8 v6, v6, #int -1 // #ff 006386: b565 |009d: and-int/2addr v5, v6 006388: 5985 4000 |009e: iput v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040 00638c: 5285 5000 |00a0: iget v5, v8, Lcom/google/android/checkers/a;.w:I // field@0050 006390: 9101 0501 |00a2: sub-int v1, v5, v1 006394: 5981 5000 |00a4: iput v1, v8, Lcom/google/android/checkers/a;.w:I // field@0050 006398: 2900 75ff |00a6: goto/16 001b // -008b 00639c: dd05 060f |00a8: and-int/lit8 v5, v6, #int 15 // #0f 0063a0: 3805 3200 |00aa: if-eqz v5, 00dc // +0032 0063a4: 5285 3f00 |00ac: iget v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f 0063a8: 5487 3a00 |00ae: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 0063ac: 4407 0709 |00b0: aget v7, v7, v9 0063b0: df07 07ff |00b2: xor-int/lit8 v7, v7, #int -1 // #ff 0063b4: b575 |00b4: and-int/2addr v5, v7 0063b6: 5985 3f00 |00b5: iput v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f 0063ba: 5285 4000 |00b7: iget v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040 0063be: b665 |00b9: or-int/2addr v5, v6 0063c0: 5985 4000 |00ba: iput v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040 0063c4: 3801 5fff |00bc: if-eqz v1, 001b // -00a1 0063c8: 5285 3d00 |00be: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d 0063cc: 5486 3a00 |00c0: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 0063d0: 4406 0609 |00c2: aget v6, v6, v9 0063d4: df06 06ff |00c4: xor-int/lit8 v6, v6, #int -1 // #ff 0063d8: b565 |00c6: and-int/2addr v5, v6 0063da: 5985 3d00 |00c7: iput v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d 0063de: 5285 3e00 |00c9: iget v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e 0063e2: 5486 3a00 |00cb: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 0063e6: 4406 0609 |00cd: aget v6, v6, v9 0063ea: df06 06ff |00cf: xor-int/lit8 v6, v6, #int -1 // #ff 0063ee: b565 |00d1: and-int/2addr v5, v6 0063f0: 5985 3e00 |00d2: iput v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e 0063f4: 5285 4f00 |00d4: iget v5, v8, Lcom/google/android/checkers/a;.v:I // field@004f 0063f8: 9101 0501 |00d6: sub-int v1, v5, v1 0063fc: 5981 4f00 |00d8: iput v1, v8, Lcom/google/android/checkers/a;.v:I // field@004f 006400: 2900 41ff |00da: goto/16 001b // -00bf 006404: 5285 3f00 |00dc: iget v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f 006408: 5487 3a00 |00de: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 00640c: 4407 0709 |00e0: aget v7, v7, v9 006410: df07 07ff |00e2: xor-int/lit8 v7, v7, #int -1 // #ff 006414: b575 |00e4: and-int/2addr v5, v7 006416: b665 |00e5: or-int/2addr v5, v6 006418: 5985 3f00 |00e6: iput v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f 00641c: 28d4 |00e8: goto 00bc // -002c 00641e: 5285 4000 |00e9: iget v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040 006422: 5487 3a00 |00eb: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 006426: 4407 0709 |00ed: aget v7, v7, v9 00642a: df07 07ff |00ef: xor-int/lit8 v7, v7, #int -1 // #ff 00642e: b575 |00f1: and-int/2addr v5, v7 006430: b665 |00f2: or-int/2addr v5, v6 006432: 5985 4000 |00f3: iput v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040 006436: 3801 26ff |00f5: if-eqz v1, 001b // -00da 00643a: 5285 3d00 |00f7: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d 00643e: 5486 3a00 |00f9: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 006442: 4406 0609 |00fb: aget v6, v6, v9 006446: df06 06ff |00fd: xor-int/lit8 v6, v6, #int -1 // #ff 00644a: b565 |00ff: and-int/2addr v5, v6 00644c: 5985 3d00 |0100: iput v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d 006450: 5285 3e00 |0102: iget v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e 006454: 5486 3a00 |0104: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a 006458: 4406 0609 |0106: aget v6, v6, v9 00645c: df06 06ff |0108: xor-int/lit8 v6, v6, #int -1 // #ff 006460: b565 |010a: and-int/2addr v5, v6 006462: 5985 3e00 |010b: iput v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e 006466: 5285 4f00 |010d: iget v5, v8, Lcom/google/android/checkers/a;.v:I // field@004f 00646a: 9101 0501 |010f: sub-int v1, v5, v1 00646e: 5981 4f00 |0111: iput v1, v8, Lcom/google/android/checkers/a;.v:I // field@004f 006472: 2900 08ff |0113: goto/16 001b // -00f8 006476: 6205 3900 |0115: sget-object v5, Lcom/google/android/checkers/a;.M:[I // field@0039 00647a: 7110 9f00 0000 |0117: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 006480: 0a06 |011a: move-result v6 006482: da06 0604 |011b: mul-int/lit8 v6, v6, #int 4 // #04 006486: d806 0600 |011d: add-int/lit8 v6, v6, #int 0 // #00 00648a: 4405 0506 |011f: aget v5, v5, v6 00648e: b751 |0121: xor-int/2addr v1, v5 006490: d805 00ff |0122: add-int/lit8 v5, v0, #int -1 // #ff 006494: b550 |0124: and-int/2addr v0, v5 006496: 2900 02ff |0125: goto/16 0027 // -00fe 00649a: 6202 3900 |0127: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039 00649e: 7110 9f00 0000 |0129: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 0064a4: 0a05 |012c: move-result v5 0064a6: da05 0504 |012d: mul-int/lit8 v5, v5, #int 4 // #04 0064aa: d805 0501 |012f: add-int/lit8 v5, v5, #int 1 // #01 0064ae: 4402 0205 |0131: aget v2, v2, v5 0064b2: b721 |0133: xor-int/2addr v1, v2 0064b4: d802 00ff |0134: add-int/lit8 v2, v0, #int -1 // #ff 0064b8: b520 |0136: and-int/2addr v0, v2 0064ba: 2900 f5fe |0137: goto/16 002c // -010b 0064be: 6202 3900 |0139: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039 0064c2: 7110 9f00 0000 |013b: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 0064c8: 0a03 |013e: move-result v3 0064ca: da03 0304 |013f: mul-int/lit8 v3, v3, #int 4 // #04 0064ce: d803 0302 |0141: add-int/lit8 v3, v3, #int 2 // #02 0064d2: 4402 0203 |0143: aget v2, v2, v3 0064d6: b721 |0145: xor-int/2addr v1, v2 0064d8: d802 00ff |0146: add-int/lit8 v2, v0, #int -1 // #ff 0064dc: b520 |0148: and-int/2addr v0, v2 0064de: 2900 e8fe |0149: goto/16 0031 // -0118 0064e2: 6202 3900 |014b: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039 0064e6: 7110 9f00 0000 |014d: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 0064ec: 0a03 |0150: move-result v3 0064ee: da03 0304 |0151: mul-int/lit8 v3, v3, #int 4 // #04 0064f2: d803 0303 |0153: add-int/lit8 v3, v3, #int 3 // #03 0064f6: 4402 0203 |0155: aget v2, v2, v3 0064fa: b721 |0157: xor-int/2addr v1, v2 0064fc: d802 00ff |0158: add-int/lit8 v2, v0, #int -1 // #ff 006500: b520 |015a: and-int/2addr v0, v2 006502: 2900 dbfe |015b: goto/16 0036 // -0125 006506: 0000 |015d: nop // spacer 006508: 0002 0400 0001 0000 0002 0000 0004 ... |015e: sparse-switch-data (18 units) catches : (none) positions : locals : #17 : (in Lcom/google/android/checkers/a;) name : 'b' type : '(IIIIIIII)V' access : 0x0012 (PRIVATE FINAL) method_idx : 134 code - registers : 18 ins : 9 outs : 9 insns size : 99 16-bit code units 00652c: |[00652c] com.google.android.checkers.a.b:(IIIIIIII)V 00653c: 1210 |0000: const/4 v0, #int 1 // #1 00653e: 6201 3400 |0001: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034 006542: 4401 010d |0003: aget v1, v1, v13 006546: b5c1 |0005: and-int/2addr v1, v12 006548: 3801 2500 |0006: if-eqz v1, 002b // +0025 00654c: 6201 3500 |0008: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035 006550: 4401 010d |000a: aget v1, v1, v13 006554: b5b1 |000c: and-int/2addr v1, v11 006556: 3801 1e00 |000d: if-eqz v1, 002b // +001e 00655a: d804 0d07 |000f: add-int/lit8 v4, v13, #int 7 // #07 00655e: 6200 3500 |0011: sget-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035 006562: 4405 000d |0013: aget v5, v0, v13 006566: 6200 3400 |0015: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034 00656a: 4400 000d |0017: aget v0, v0, v13 00656e: 9606 0f00 |0019: or-int v6, v15, v0 006572: d807 1001 |001b: add-int/lit8 v7, v16, #int 1 // #01 006576: 6200 3500 |001d: sget-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035 00657a: 4400 000d |001f: aget v0, v0, v13 00657e: 9608 1100 |0021: or-int v8, v17, v0 006582: 0790 |0023: move-object v0, v9 006584: 01a1 |0024: move v1, v10 006586: 01b2 |0025: move v2, v11 006588: 01c3 |0026: move v3, v12 00658a: 7609 8600 0000 |0027: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.b:(IIIIIIII)V // method@0086 006590: 1200 |002a: const/4 v0, #int 0 // #0 006592: 6201 3600 |002b: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036 006596: 4401 010d |002d: aget v1, v1, v13 00659a: b5c1 |002f: and-int/2addr v1, v12 00659c: 3801 2500 |0030: if-eqz v1, 0055 // +0025 0065a0: 6201 3700 |0032: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037 0065a4: 4401 010d |0034: aget v1, v1, v13 0065a8: b5b1 |0036: and-int/2addr v1, v11 0065aa: 3801 1e00 |0037: if-eqz v1, 0055 // +001e 0065ae: d804 0d09 |0039: add-int/lit8 v4, v13, #int 9 // #09 0065b2: 6200 3700 |003b: sget-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037 0065b6: 4405 000d |003d: aget v5, v0, v13 0065ba: 6200 3600 |003f: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036 0065be: 4400 000d |0041: aget v0, v0, v13 0065c2: 9606 0f00 |0043: or-int v6, v15, v0 0065c6: d807 1001 |0045: add-int/lit8 v7, v16, #int 1 // #01 0065ca: 6200 3700 |0047: sget-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037 0065ce: 4400 000d |0049: aget v0, v0, v13 0065d2: 9608 1100 |004b: or-int v8, v17, v0 0065d6: 0790 |004d: move-object v0, v9 0065d8: 01a1 |004e: move v1, v10 0065da: 01b2 |004f: move v2, v11 0065dc: 01c3 |0050: move v3, v12 0065de: 7609 8600 0000 |0051: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.b:(IIIIIIII)V // method@0086 0065e4: 1200 |0054: const/4 v0, #int 0 // #0 0065e6: 3800 0d00 |0055: if-eqz v0, 0062 // +000d 0065ea: 0790 |0057: move-object v0, v9 0065ec: 01a1 |0058: move v1, v10 0065ee: 01e2 |0059: move v2, v14 0065f0: 01f3 |005a: move v3, v15 0065f2: 0204 1000 |005b: move/from16 v4, v16 0065f6: 0205 1100 |005d: move/from16 v5, v17 0065fa: 7606 7e00 0000 |005f: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 006600: 0e00 |0062: return-void catches : (none) positions : locals : #18 : (in Lcom/google/android/checkers/a;) name : 'b' type : '(IZI)Z' access : 0x0012 (PRIVATE FINAL) method_idx : 136 code - registers : 15 ins : 4 outs : 6 insns size : 461 16-bit code units 006604: |[006604] com.google.android.checkers.a.b:(IZI)Z 006614: 1404 e0e0 e000 |0000: const v4, #float 2.06518e-38 // #00e0e0e0 00661a: 1216 |0003: const/4 v6, #int 1 // #1 00661c: 1403 e0e0 e0e0 |0004: const v3, #float -1.29634e+20 // #e0e0e0e0 006622: 130a 0008 |0007: const/16 v10, #int 2048 // #800 006626: 1309 0002 |0009: const/16 v9, #int 512 // #200 00662a: 380d e400 |000b: if-eqz v13, 00ef // +00e4 00662e: 52b0 3e00 |000d: iget v0, v11, Lcom/google/android/checkers/a;.e:I // field@003e 006632: 3900 1b00 |000f: if-nez v0, 002a // +001b 006636: 52b0 3d00 |0011: iget v0, v11, Lcom/google/android/checkers/a;.d:I // field@003d 00663a: e201 0e04 |0013: ushr-int/lit8 v1, v14, #int 4 // #04 00663e: 9502 0e03 |0015: and-int v2, v14, v3 006642: e202 0205 |0017: ushr-int/lit8 v2, v2, #int 5 // #05 006646: b621 |0019: or-int/2addr v1, v2 006648: 1402 0007 0707 |001a: const v2, #float 1.01583e-34 // #07070700 00664e: b5e2 |001d: and-int/2addr v2, v14 006650: e202 0203 |001e: ushr-int/lit8 v2, v2, #int 3 // #03 006654: b621 |0020: or-int/2addr v1, v2 006656: b510 |0021: and-int/2addr v0, v1 006658: 3900 2f00 |0022: if-nez v0, 0051 // +002f 00665c: 52b0 3c00 |0024: iget v0, v11, Lcom/google/android/checkers/a;.c:I // field@003c 006660: 3800 a401 |0026: if-eqz v0, 01ca // +01a4 006664: 0160 |0028: move v0, v6 006666: 0f00 |0029: return v0 006668: 52b0 3e00 |002a: iget v0, v11, Lcom/google/android/checkers/a;.e:I // field@003e 00666c: 52b1 3d00 |002c: iget v1, v11, Lcom/google/android/checkers/a;.d:I // field@003d 006670: b610 |002e: or-int/2addr v0, v1 006672: e201 0e04 |002f: ushr-int/lit8 v1, v14, #int 4 // #04 006676: 9502 0e03 |0031: and-int v2, v14, v3 00667a: e202 0205 |0033: ushr-int/lit8 v2, v2, #int 5 // #05 00667e: b621 |0035: or-int/2addr v1, v2 006680: 1402 0007 0707 |0036: const v2, #float 1.01583e-34 // #07070700 006686: b5e2 |0039: and-int/2addr v2, v14 006688: e202 0203 |003a: ushr-int/lit8 v2, v2, #int 3 // #03 00668c: b621 |003c: or-int/2addr v1, v2 00668e: b510 |003d: and-int/2addr v0, v1 006690: 52b1 3e00 |003e: iget v1, v11, Lcom/google/android/checkers/a;.e:I // field@003e 006694: e002 0e04 |0040: shl-int/lit8 v2, v14, #int 4 // #04 006698: 1403 0707 0707 |0042: const v3, #float 1.01583e-34 // #07070707 00669e: b5e3 |0045: and-int/2addr v3, v14 0066a0: e003 0305 |0046: shl-int/lit8 v3, v3, #int 5 // #05 0066a4: b632 |0048: or-int/2addr v2, v3 0066a6: 9503 0e04 |0049: and-int v3, v14, v4 0066aa: e003 0303 |004b: shl-int/lit8 v3, v3, #int 3 // #03 0066ae: b632 |004d: or-int/2addr v2, v3 0066b0: b521 |004e: and-int/2addr v1, v2 0066b2: b610 |004f: or-int/2addr v0, v1 0066b4: 28d2 |0050: goto 0022 // -002e 0066b6: 7110 9f00 0000 |0051: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 0066bc: 0a08 |0054: move-result v8 0066be: 9803 0608 |0055: shl-int v3, v6, v8 0066c2: 9707 0003 |0057: xor-int v7, v0, v3 0066c6: 52b0 3e00 |0059: iget v0, v11, Lcom/google/android/checkers/a;.e:I // field@003e 0066ca: b530 |005b: and-int/2addr v0, v3 0066cc: 3900 3400 |005c: if-nez v0, 0090 // +0034 0066d0: 6200 3400 |005e: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034 0066d4: 4400 0008 |0060: aget v0, v0, v8 0066d8: b5e0 |0062: and-int/2addr v0, v14 0066da: 3800 1300 |0063: if-eqz v0, 0076 // +0013 0066de: 6200 3400 |0065: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034 0066e2: 4402 0008 |0067: aget v2, v0, v8 0066e6: 1304 0001 |0069: const/16 v4, #int 256 // #100 0066ea: 6200 3400 |006b: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034 0066ee: 4400 0008 |006d: aget v0, v0, v8 0066f2: 9605 0300 |006f: or-int v5, v3, v0 0066f6: 07b0 |0071: move-object v0, v11 0066f8: 01c1 |0072: move v1, v12 0066fa: 7606 7e00 0000 |0073: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 006700: 6200 3600 |0076: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036 006704: 4400 0008 |0078: aget v0, v0, v8 006708: b5e0 |007a: and-int/2addr v0, v14 00670a: 3800 7100 |007b: if-eqz v0, 00ec // +0071 00670e: 6200 3600 |007d: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036 006712: 4402 0008 |007f: aget v2, v0, v8 006716: 1304 0001 |0081: const/16 v4, #int 256 // #100 00671a: 6200 3600 |0083: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036 00671e: 4400 0008 |0085: aget v0, v0, v8 006722: 9605 0300 |0087: or-int v5, v3, v0 006726: 07b0 |0089: move-object v0, v11 006728: 01c1 |008a: move v1, v12 00672a: 7606 7e00 0000 |008b: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 006730: 0170 |008e: move v0, v7 006732: 2893 |008f: goto 0022 // -006d 006734: 6200 3000 |0090: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030 006738: 4400 0008 |0092: aget v0, v0, v8 00673c: b5e0 |0094: and-int/2addr v0, v14 00673e: 3800 1200 |0095: if-eqz v0, 00a7 // +0012 006742: 6200 3000 |0097: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030 006746: 4402 0008 |0099: aget v2, v0, v8 00674a: 6200 3000 |009b: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030 00674e: 4400 0008 |009d: aget v0, v0, v8 006752: 9605 0300 |009f: or-int v5, v3, v0 006756: 07b0 |00a1: move-object v0, v11 006758: 01c1 |00a2: move v1, v12 00675a: 0194 |00a3: move v4, v9 00675c: 7606 7e00 0000 |00a4: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 006762: 6200 3200 |00a7: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032 006766: 4400 0008 |00a9: aget v0, v0, v8 00676a: b5e0 |00ab: and-int/2addr v0, v14 00676c: 3800 1200 |00ac: if-eqz v0, 00be // +0012 006770: 6200 3200 |00ae: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032 006774: 4402 0008 |00b0: aget v2, v0, v8 006778: 6200 3200 |00b2: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032 00677c: 4400 0008 |00b4: aget v0, v0, v8 006780: 9605 0300 |00b6: or-int v5, v3, v0 006784: 07b0 |00b8: move-object v0, v11 006786: 01c1 |00b9: move v1, v12 006788: 0194 |00ba: move v4, v9 00678a: 7606 7e00 0000 |00bb: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 006790: 6200 3400 |00be: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034 006794: 4400 0008 |00c0: aget v0, v0, v8 006798: b5e0 |00c2: and-int/2addr v0, v14 00679a: 3800 1200 |00c3: if-eqz v0, 00d5 // +0012 00679e: 6200 3400 |00c5: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034 0067a2: 4402 0008 |00c7: aget v2, v0, v8 0067a6: 6200 3400 |00c9: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034 0067aa: 4400 0008 |00cb: aget v0, v0, v8 0067ae: 9605 0300 |00cd: or-int v5, v3, v0 0067b2: 07b0 |00cf: move-object v0, v11 0067b4: 01c1 |00d0: move v1, v12 0067b6: 0194 |00d1: move v4, v9 0067b8: 7606 7e00 0000 |00d2: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 0067be: 6200 3600 |00d5: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036 0067c2: 4400 0008 |00d7: aget v0, v0, v8 0067c6: b5e0 |00d9: and-int/2addr v0, v14 0067c8: 3800 1200 |00da: if-eqz v0, 00ec // +0012 0067cc: 6200 3600 |00dc: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036 0067d0: 4402 0008 |00de: aget v2, v0, v8 0067d4: 6200 3600 |00e0: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036 0067d8: 4400 0008 |00e2: aget v0, v0, v8 0067dc: 9605 0300 |00e4: or-int v5, v3, v0 0067e0: 07b0 |00e6: move-object v0, v11 0067e2: 01c1 |00e7: move v1, v12 0067e4: 0194 |00e8: move v4, v9 0067e6: 7606 7e00 0000 |00e9: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 0067ec: 0170 |00ec: move v0, v7 0067ee: 2900 35ff |00ed: goto/16 0022 // -00cb 0067f2: 52b0 4000 |00ef: iget v0, v11, Lcom/google/android/checkers/a;.g:I // field@0040 0067f6: 3900 5400 |00f1: if-nez v0, 0145 // +0054 0067fa: 52b0 3f00 |00f3: iget v0, v11, Lcom/google/android/checkers/a;.f:I // field@003f 0067fe: e001 0e04 |00f5: shl-int/lit8 v1, v14, #int 4 // #04 006802: 1402 0707 0707 |00f7: const v2, #float 1.01583e-34 // #07070707 006808: b5e2 |00fa: and-int/2addr v2, v14 00680a: e002 0205 |00fb: shl-int/lit8 v2, v2, #int 5 // #05 00680e: b621 |00fd: or-int/2addr v1, v2 006810: 9502 0e04 |00fe: and-int v2, v14, v4 006814: e002 0203 |0100: shl-int/lit8 v2, v2, #int 3 // #03 006818: b621 |0102: or-int/2addr v1, v2 00681a: b510 |0103: and-int/2addr v0, v1 00681c: 3800 20ff |0104: if-eqz v0, 0024 // -00e0 006820: 7110 9f00 0000 |0106: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 006826: 0a08 |0109: move-result v8 006828: 9803 0608 |010a: shl-int v3, v6, v8 00682c: 9707 0003 |010c: xor-int v7, v0, v3 006830: 52b0 4000 |010e: iget v0, v11, Lcom/google/android/checkers/a;.g:I // field@0040 006834: b530 |0110: and-int/2addr v0, v3 006836: 3900 5a00 |0111: if-nez v0, 016b // +005a 00683a: 6200 3000 |0113: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030 00683e: 4400 0008 |0115: aget v0, v0, v8 006842: b5e0 |0117: and-int/2addr v0, v14 006844: 3800 1300 |0118: if-eqz v0, 012b // +0013 006848: 6200 3000 |011a: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030 00684c: 4402 0008 |011c: aget v2, v0, v8 006850: 1304 0004 |011e: const/16 v4, #int 1024 // #400 006854: 6200 3000 |0120: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030 006858: 4400 0008 |0122: aget v0, v0, v8 00685c: 9605 0300 |0124: or-int v5, v3, v0 006860: 07b0 |0126: move-object v0, v11 006862: 01c1 |0127: move v1, v12 006864: 7606 7e00 0000 |0128: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 00686a: 6200 3200 |012b: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032 00686e: 4400 0008 |012d: aget v0, v0, v8 006872: b5e0 |012f: and-int/2addr v0, v14 006874: 3800 9700 |0130: if-eqz v0, 01c7 // +0097 006878: 6200 3200 |0132: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032 00687c: 4402 0008 |0134: aget v2, v0, v8 006880: 1304 0004 |0136: const/16 v4, #int 1024 // #400 006884: 6200 3200 |0138: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032 006888: 4400 0008 |013a: aget v0, v0, v8 00688c: 9605 0300 |013c: or-int v5, v3, v0 006890: 07b0 |013e: move-object v0, v11 006892: 01c1 |013f: move v1, v12 006894: 7606 7e00 0000 |0140: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 00689a: 0170 |0143: move v0, v7 00689c: 28c0 |0144: goto 0104 // -0040 00689e: 52b0 4000 |0145: iget v0, v11, Lcom/google/android/checkers/a;.g:I // field@0040 0068a2: 52b1 3f00 |0147: iget v1, v11, Lcom/google/android/checkers/a;.f:I // field@003f 0068a6: b610 |0149: or-int/2addr v0, v1 0068a8: e001 0e04 |014a: shl-int/lit8 v1, v14, #int 4 // #04 0068ac: 1402 0707 0707 |014c: const v2, #float 1.01583e-34 // #07070707 0068b2: b5e2 |014f: and-int/2addr v2, v14 0068b4: e002 0205 |0150: shl-int/lit8 v2, v2, #int 5 // #05 0068b8: b621 |0152: or-int/2addr v1, v2 0068ba: 9502 0e04 |0153: and-int v2, v14, v4 0068be: e002 0203 |0155: shl-int/lit8 v2, v2, #int 3 // #03 0068c2: b621 |0157: or-int/2addr v1, v2 0068c4: b510 |0158: and-int/2addr v0, v1 0068c6: 52b1 4000 |0159: iget v1, v11, Lcom/google/android/checkers/a;.g:I // field@0040 0068ca: e202 0e04 |015b: ushr-int/lit8 v2, v14, #int 4 // #04 0068ce: b5e3 |015d: and-int/2addr v3, v14 0068d0: e203 0305 |015e: ushr-int/lit8 v3, v3, #int 5 // #05 0068d4: b632 |0160: or-int/2addr v2, v3 0068d6: 1403 0007 0707 |0161: const v3, #float 1.01583e-34 // #07070700 0068dc: b5e3 |0164: and-int/2addr v3, v14 0068de: e203 0303 |0165: ushr-int/lit8 v3, v3, #int 3 // #03 0068e2: b632 |0167: or-int/2addr v2, v3 0068e4: b521 |0168: and-int/2addr v1, v2 0068e6: b610 |0169: or-int/2addr v0, v1 0068e8: 289a |016a: goto 0104 // -0066 0068ea: 6200 3000 |016b: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030 0068ee: 4400 0008 |016d: aget v0, v0, v8 0068f2: b5e0 |016f: and-int/2addr v0, v14 0068f4: 3800 1200 |0170: if-eqz v0, 0182 // +0012 0068f8: 6200 3000 |0172: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030 0068fc: 4402 0008 |0174: aget v2, v0, v8 006900: 6200 3000 |0176: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030 006904: 4400 0008 |0178: aget v0, v0, v8 006908: 9605 0300 |017a: or-int v5, v3, v0 00690c: 07b0 |017c: move-object v0, v11 00690e: 01c1 |017d: move v1, v12 006910: 01a4 |017e: move v4, v10 006912: 7606 7e00 0000 |017f: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 006918: 6200 3200 |0182: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032 00691c: 4400 0008 |0184: aget v0, v0, v8 006920: b5e0 |0186: and-int/2addr v0, v14 006922: 3800 1200 |0187: if-eqz v0, 0199 // +0012 006926: 6200 3200 |0189: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032 00692a: 4402 0008 |018b: aget v2, v0, v8 00692e: 6200 3200 |018d: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032 006932: 4400 0008 |018f: aget v0, v0, v8 006936: 9605 0300 |0191: or-int v5, v3, v0 00693a: 07b0 |0193: move-object v0, v11 00693c: 01c1 |0194: move v1, v12 00693e: 01a4 |0195: move v4, v10 006940: 7606 7e00 0000 |0196: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 006946: 6200 3400 |0199: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034 00694a: 4400 0008 |019b: aget v0, v0, v8 00694e: b5e0 |019d: and-int/2addr v0, v14 006950: 3800 1200 |019e: if-eqz v0, 01b0 // +0012 006954: 6200 3400 |01a0: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034 006958: 4402 0008 |01a2: aget v2, v0, v8 00695c: 6200 3400 |01a4: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034 006960: 4400 0008 |01a6: aget v0, v0, v8 006964: 9605 0300 |01a8: or-int v5, v3, v0 006968: 07b0 |01aa: move-object v0, v11 00696a: 01c1 |01ab: move v1, v12 00696c: 01a4 |01ac: move v4, v10 00696e: 7606 7e00 0000 |01ad: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 006974: 6200 3600 |01b0: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036 006978: 4400 0008 |01b2: aget v0, v0, v8 00697c: b5e0 |01b4: and-int/2addr v0, v14 00697e: 3800 1200 |01b5: if-eqz v0, 01c7 // +0012 006982: 6200 3600 |01b7: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036 006986: 4402 0008 |01b9: aget v2, v0, v8 00698a: 6200 3600 |01bb: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036 00698e: 4400 0008 |01bd: aget v0, v0, v8 006992: 9605 0300 |01bf: or-int v5, v3, v0 006996: 07b0 |01c1: move-object v0, v11 006998: 01c1 |01c2: move v1, v12 00699a: 01a4 |01c3: move v4, v10 00699c: 7606 7e00 0000 |01c4: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 0069a2: 0170 |01c7: move v0, v7 0069a4: 2900 3cff |01c8: goto/16 0104 // -00c4 0069a8: 1200 |01ca: const/4 v0, #int 0 // #0 0069aa: 2900 5efe |01cb: goto/16 0029 // -01a2 catches : (none) positions : locals : #19 : (in Lcom/google/android/checkers/a;) name : 'c' type : '(ZIIZ)I' access : 0x000a (PRIVATE STATIC) method_idx : 137 code - registers : 8 ins : 4 outs : 1 insns size : 54 16-bit code units 0069b0: |[0069b0] com.google.android.checkers.a.c:(ZIIZ)I 0069c0: 7110 9f00 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 0069c6: 0a00 |0003: move-result v0 0069c8: d801 05ff |0004: add-int/lit8 v1, v5, #int -1 // #ff 0069cc: b551 |0006: and-int/2addr v1, v5 0069ce: 7110 9f00 0100 |0007: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 0069d4: 0a02 |000a: move-result v2 0069d6: 7110 9f00 0600 |000b: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 0069dc: 0a01 |000e: move-result v1 0069de: 3807 0800 |000f: if-eqz v7, 0017 // +0008 0069e2: d900 001f |0011: rsub-int/lit8 v0, v0, #int 31 // #1f 0069e6: d902 021f |0013: rsub-int/lit8 v2, v2, #int 31 // #1f 0069ea: d901 011f |0015: rsub-int/lit8 v1, v1, #int 31 // #1f 0069ee: 3520 1100 |0017: if-ge v0, v2, 0028 // +0011 0069f2: 6203 3800 |0019: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038 0069f6: 4402 0302 |001b: aget v2, v3, v2 0069fa: b020 |001d: add-int/2addr v0, v2 0069fc: 3804 1000 |001e: if-eqz v4, 002e // +0010 006a00: 6202 6500 |0020: sget-object v2, Lcom/google/android/checkers/g;.m:[B // field@0065 006a04: da00 0020 |0022: mul-int/lit8 v0, v0, #int 32 // #20 006a08: b010 |0024: add-int/2addr v0, v1 006a0a: 4800 0200 |0025: aget-byte v0, v2, v0 006a0e: 0f00 |0027: return v0 006a10: 6203 3800 |0028: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038 006a14: 4400 0300 |002a: aget v0, v3, v0 006a18: b020 |002c: add-int/2addr v0, v2 006a1a: 28f1 |002d: goto 001e // -000f 006a1c: 6202 6600 |002e: sget-object v2, Lcom/google/android/checkers/g;.n:[B // field@0066 006a20: da00 0020 |0030: mul-int/lit8 v0, v0, #int 32 // #20 006a24: b010 |0032: add-int/2addr v0, v1 006a26: 4800 0200 |0033: aget-byte v0, v2, v0 006a2a: 28f2 |0035: goto 0027 // -000e catches : (none) positions : locals : #20 : (in Lcom/google/android/checkers/a;) name : 'c' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 138 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 006a2c: |[006a2c] com.google.android.checkers.a.c:()V 006a3c: 1600 f401 |0000: const-wide/16 v0, #int 500 // #1f4 006a40: 7120 ae00 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Thread;.sleep:(J)V // method@00ae 006a46: 0e00 |0005: return-void 006a48: 0d00 |0006: move-exception v0 006a4a: 28fe |0007: goto 0005 // -0002 catches : 1 0x0002 - 0x0005 Ljava/lang/InterruptedException; -> 0x0006 positions : locals : #21 : (in Lcom/google/android/checkers/a;) name : 'c' type : '(IIIIIIII)V' access : 0x0012 (PRIVATE FINAL) method_idx : 139 code - registers : 18 ins : 9 outs : 9 insns size : 203 16-bit code units 006a58: |[006a58] com.google.android.checkers.a.c:(IIIIIIII)V 006a68: 1210 |0000: const/4 v0, #int 1 // #1 006a6a: 6201 3000 |0001: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030 006a6e: 4401 010d |0003: aget v1, v1, v13 006a72: b5c1 |0005: and-int/2addr v1, v12 006a74: 3801 2a00 |0006: if-eqz v1, 0030 // +002a 006a78: 6201 3100 |0008: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031 006a7c: 4401 010d |000a: aget v1, v1, v13 006a80: b5b1 |000c: and-int/2addr v1, v11 006a82: 3801 2300 |000d: if-eqz v1, 0030 // +0023 006a86: 6200 3000 |000f: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030 006a8a: 4400 000d |0011: aget v0, v0, v13 006a8e: 9703 0c00 |0013: xor-int v3, v12, v0 006a92: d804 0df7 |0015: add-int/lit8 v4, v13, #int -9 // #f7 006a96: 6200 3100 |0017: sget-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031 006a9a: 4405 000d |0019: aget v5, v0, v13 006a9e: 6200 3000 |001b: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030 006aa2: 4400 000d |001d: aget v0, v0, v13 006aa6: 9606 0f00 |001f: or-int v6, v15, v0 006aaa: d807 1001 |0021: add-int/lit8 v7, v16, #int 1 // #01 006aae: 6200 3100 |0023: sget-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031 006ab2: 4400 000d |0025: aget v0, v0, v13 006ab6: 9608 1100 |0027: or-int v8, v17, v0 006aba: 0790 |0029: move-object v0, v9 006abc: 01a1 |002a: move v1, v10 006abe: 01b2 |002b: move v2, v11 006ac0: 7609 8b00 0000 |002c: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b 006ac6: 1200 |002f: const/4 v0, #int 0 // #0 006ac8: 6201 3200 |0030: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032 006acc: 4401 010d |0032: aget v1, v1, v13 006ad0: b5c1 |0034: and-int/2addr v1, v12 006ad2: 3801 2a00 |0035: if-eqz v1, 005f // +002a 006ad6: 6201 3300 |0037: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033 006ada: 4401 010d |0039: aget v1, v1, v13 006ade: b5b1 |003b: and-int/2addr v1, v11 006ae0: 3801 2300 |003c: if-eqz v1, 005f // +0023 006ae4: 6200 3200 |003e: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032 006ae8: 4400 000d |0040: aget v0, v0, v13 006aec: 9703 0c00 |0042: xor-int v3, v12, v0 006af0: d804 0df9 |0044: add-int/lit8 v4, v13, #int -7 // #f9 006af4: 6200 3300 |0046: sget-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033 006af8: 4405 000d |0048: aget v5, v0, v13 006afc: 6200 3200 |004a: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032 006b00: 4400 000d |004c: aget v0, v0, v13 006b04: 9606 0f00 |004e: or-int v6, v15, v0 006b08: d807 1001 |0050: add-int/lit8 v7, v16, #int 1 // #01 006b0c: 6200 3300 |0052: sget-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033 006b10: 4400 000d |0054: aget v0, v0, v13 006b14: 9608 1100 |0056: or-int v8, v17, v0 006b18: 0790 |0058: move-object v0, v9 006b1a: 01a1 |0059: move v1, v10 006b1c: 01b2 |005a: move v2, v11 006b1e: 7609 8b00 0000 |005b: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b 006b24: 1200 |005e: const/4 v0, #int 0 // #0 006b26: 6201 3400 |005f: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034 006b2a: 4401 010d |0061: aget v1, v1, v13 006b2e: b5c1 |0063: and-int/2addr v1, v12 006b30: 3801 2a00 |0064: if-eqz v1, 008e // +002a 006b34: 6201 3500 |0066: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035 006b38: 4401 010d |0068: aget v1, v1, v13 006b3c: b5b1 |006a: and-int/2addr v1, v11 006b3e: 3801 2300 |006b: if-eqz v1, 008e // +0023 006b42: 6200 3400 |006d: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034 006b46: 4400 000d |006f: aget v0, v0, v13 006b4a: 9703 0c00 |0071: xor-int v3, v12, v0 006b4e: d804 0d07 |0073: add-int/lit8 v4, v13, #int 7 // #07 006b52: 6200 3500 |0075: sget-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035 006b56: 4405 000d |0077: aget v5, v0, v13 006b5a: 6200 3400 |0079: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034 006b5e: 4400 000d |007b: aget v0, v0, v13 006b62: 9606 0f00 |007d: or-int v6, v15, v0 006b66: d807 1001 |007f: add-int/lit8 v7, v16, #int 1 // #01 006b6a: 6200 3500 |0081: sget-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035 006b6e: 4400 000d |0083: aget v0, v0, v13 006b72: 9608 1100 |0085: or-int v8, v17, v0 006b76: 0790 |0087: move-object v0, v9 006b78: 01a1 |0088: move v1, v10 006b7a: 01b2 |0089: move v2, v11 006b7c: 7609 8b00 0000 |008a: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b 006b82: 1200 |008d: const/4 v0, #int 0 // #0 006b84: 6201 3600 |008e: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036 006b88: 4401 010d |0090: aget v1, v1, v13 006b8c: b5c1 |0092: and-int/2addr v1, v12 006b8e: 3801 2a00 |0093: if-eqz v1, 00bd // +002a 006b92: 6201 3700 |0095: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037 006b96: 4401 010d |0097: aget v1, v1, v13 006b9a: b5b1 |0099: and-int/2addr v1, v11 006b9c: 3801 2300 |009a: if-eqz v1, 00bd // +0023 006ba0: 6200 3600 |009c: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036 006ba4: 4400 000d |009e: aget v0, v0, v13 006ba8: 9703 0c00 |00a0: xor-int v3, v12, v0 006bac: d804 0d09 |00a2: add-int/lit8 v4, v13, #int 9 // #09 006bb0: 6200 3700 |00a4: sget-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037 006bb4: 4405 000d |00a6: aget v5, v0, v13 006bb8: 6200 3600 |00a8: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036 006bbc: 4400 000d |00aa: aget v0, v0, v13 006bc0: 9606 0f00 |00ac: or-int v6, v15, v0 006bc4: d807 1001 |00ae: add-int/lit8 v7, v16, #int 1 // #01 006bc8: 6200 3700 |00b0: sget-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037 006bcc: 4400 000d |00b2: aget v0, v0, v13 006bd0: 9608 1100 |00b4: or-int v8, v17, v0 006bd4: 0790 |00b6: move-object v0, v9 006bd6: 01a1 |00b7: move v1, v10 006bd8: 01b2 |00b8: move v2, v11 006bda: 7609 8b00 0000 |00b9: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b 006be0: 1200 |00bc: const/4 v0, #int 0 // #0 006be2: 3800 0d00 |00bd: if-eqz v0, 00ca // +000d 006be6: 0790 |00bf: move-object v0, v9 006be8: 01a1 |00c0: move v1, v10 006bea: 01e2 |00c1: move v2, v14 006bec: 01f3 |00c2: move v3, v15 006bee: 0204 1000 |00c3: move/from16 v4, v16 006bf2: 0205 1100 |00c5: move/from16 v5, v17 006bf6: 7606 7e00 0000 |00c7: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e 006bfc: 0e00 |00ca: return-void catches : (none) positions : locals : #22 : (in Lcom/google/android/checkers/a;) name : 'd' type : '(ZIIZ)I' access : 0x000a (PRIVATE STATIC) method_idx : 140 code - registers : 8 ins : 4 outs : 1 insns size : 56 16-bit code units 006c00: |[006c00] com.google.android.checkers.a.d:(ZIIZ)I 006c10: 7110 9f00 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 006c16: 0a00 |0003: move-result v0 006c18: d801 05ff |0004: add-int/lit8 v1, v5, #int -1 // #ff 006c1c: b551 |0006: and-int/2addr v1, v5 006c1e: 7110 9f00 0100 |0007: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 006c24: 0a02 |000a: move-result v2 006c26: 7110 9f00 0600 |000b: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f 006c2c: 0a01 |000e: move-result v1 006c2e: 3807 0800 |000f: if-eqz v7, 0017 // +0008 006c32: d900 001f |0011: rsub-int/lit8 v0, v0, #int 31 // #1f 006c36: d902 021f |0013: rsub-int/lit8 v2, v2, #int 31 // #1f 006c3a: d901 011f |0015: rsub-int/lit8 v1, v1, #int 31 // #1f 006c3e: d801 01fc |0017: add-int/lit8 v1, v1, #int -4 // #fc 006c42: 3520 1100 |0019: if-ge v0, v2, 002a // +0011 006c46: 6203 3800 |001b: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038 006c4a: 4402 0302 |001d: aget v2, v3, v2 006c4e: b020 |001f: add-int/2addr v0, v2 006c50: 3804 1000 |0020: if-eqz v4, 0030 // +0010 006c54: 6202 6700 |0022: sget-object v2, Lcom/google/android/checkers/g;.o:[B // field@0067 006c58: da00 001c |0024: mul-int/lit8 v0, v0, #int 28 // #1c 006c5c: b010 |0026: add-int/2addr v0, v1 006c5e: 4800 0200 |0027: aget-byte v0, v2, v0 006c62: 0f00 |0029: return v0 006c64: 6203 3800 |002a: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038 006c68: 4400 0300 |002c: aget v0, v3, v0 006c6c: b020 |002e: add-int/2addr v0, v2 006c6e: 28f1 |002f: goto 0020 // -000f 006c70: 6202 6800 |0030: sget-object v2, Lcom/google/android/checkers/g;.p:[B // field@0068 006c74: da00 001c |0032: mul-int/lit8 v0, v0, #int 28 // #1c 006c78: b010 |0034: add-int/2addr v0, v1 006c7a: 4800 0200 |0035: aget-byte v0, v2, v0 006c7e: 28f2 |0037: goto 0029 // -000e catches : (none) positions : locals : Virtual methods - #0 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(ZZ)I' access : 0x0011 (PUBLIC FINAL) method_idx : 122 code - registers : 4 ins : 3 outs : 3 insns size : 8 16-bit code units 006c80: |[006c80] com.google.android.checkers.a.a:(ZZ)I 006c90: 5c13 4c00 |0000: iput-boolean v3, v1, Lcom/google/android/checkers/a;.s:Z // field@004c 006c94: 1200 |0002: const/4 v0, #int 0 // #0 006c96: 7030 7500 0102 |0003: invoke-direct {v1, v0, v2}, Lcom/google/android/checkers/a;.a:(IZ)I // method@0075 006c9c: 0a00 |0006: move-result v0 006c9e: 0f00 |0007: return v0 catches : (none) positions : locals : #1 : (in Lcom/google/android/checkers/a;) name : 'a' type : '()V' access : 0x0011 (PUBLIC FINAL) method_idx : 123 code - registers : 4 ins : 1 outs : 3 insns size : 45 16-bit code units 006ca0: |[006ca0] com.google.android.checkers.a.a:()V 006cb0: 1302 0c00 |0000: const/16 v2, #int 12 // #c 006cb4: 1201 |0002: const/4 v1, #int 0 // #0 006cb6: 1300 ff0f |0003: const/16 v0, #int 4095 // #fff 006cba: 5930 3d00 |0005: iput v0, v3, Lcom/google/android/checkers/a;.d:I // field@003d 006cbe: 5931 3e00 |0007: iput v1, v3, Lcom/google/android/checkers/a;.e:I // field@003e 006cc2: 1500 f0ff |0009: const/high16 v0, #int -1048576 // #fff0 006cc6: 5930 3f00 |000b: iput v0, v3, Lcom/google/android/checkers/a;.f:I // field@003f 006cca: 5931 4000 |000d: iput v1, v3, Lcom/google/android/checkers/a;.g:I // field@0040 006cce: 5932 4f00 |000f: iput v2, v3, Lcom/google/android/checkers/a;.v:I // field@004f 006cd2: 5932 5000 |0011: iput v2, v3, Lcom/google/android/checkers/a;.w:I // field@0050 006cd6: 7020 7600 1300 |0013: invoke-direct {v3, v1}, Lcom/google/android/checkers/a;.a:(Z)I // method@0076 006cdc: 0a00 |0016: move-result v0 006cde: 5930 5100 |0017: iput v0, v3, Lcom/google/android/checkers/a;.x:I // field@0051 006ce2: 7030 7500 1301 |0019: invoke-direct {v3, v1, v1}, Lcom/google/android/checkers/a;.a:(IZ)I // method@0075 006ce8: 5530 2e00 |001c: iget-boolean v0, v3, Lcom/google/android/checkers/a;.B:Z // field@002e 006cec: 3800 0700 |001e: if-eqz v0, 0025 // +0007 006cf0: 0110 |0020: move v0, v1 006cf2: 1502 1000 |0021: const/high16 v2, #int 1048576 // #10 006cf6: 3420 0300 |0023: if-lt v0, v2, 0026 // +0003 006cfa: 0e00 |0025: return-void 006cfc: 5432 5200 |0026: iget-object v2, v3, Lcom/google/android/checkers/a;.y:[I // field@0052 006d00: 4b01 0200 |0028: aput v1, v2, v0 006d04: d800 0001 |002a: add-int/lit8 v0, v0, #int 1 // #01 006d08: 28f5 |002c: goto 0021 // -000b catches : (none) positions : locals : #2 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(I)V' access : 0x0011 (PUBLIC FINAL) method_idx : 124 code - registers : 2 ins : 2 outs : 2 insns size : 4 16-bit code units 006d0c: |[006d0c] com.google.android.checkers.a.a:(I)V 006d1c: 7020 8500 1000 |0000: invoke-direct {v0, v1}, Lcom/google/android/checkers/a;.b:(I)V // method@0085 006d22: 0e00 |0003: return-void catches : (none) positions : locals : #3 : (in Lcom/google/android/checkers/a;) name : 'a' type : '(IIIIZ)V' access : 0x0011 (PUBLIC FINAL) method_idx : 128 code - registers : 8 ins : 6 outs : 2 insns size : 37 16-bit code units 006d24: |[006d24] com.google.android.checkers.a.a:(IIIIZ)V 006d34: 5923 3d00 |0000: iput v3, v2, Lcom/google/android/checkers/a;.d:I // field@003d 006d38: 5924 3e00 |0002: iput v4, v2, Lcom/google/android/checkers/a;.e:I // field@003e 006d3c: 5925 3f00 |0004: iput v5, v2, Lcom/google/android/checkers/a;.f:I // field@003f 006d40: 5926 4000 |0006: iput v6, v2, Lcom/google/android/checkers/a;.g:I // field@0040 006d44: 5220 3d00 |0008: iget v0, v2, Lcom/google/android/checkers/a;.d:I // field@003d 006d48: 5221 3e00 |000a: iget v1, v2, Lcom/google/android/checkers/a;.e:I // field@003e 006d4c: b610 |000c: or-int/2addr v0, v1 006d4e: 7110 9e00 0000 |000d: invoke-static {v0}, Ljava/lang/Integer;.bitCount:(I)I // method@009e 006d54: 0a00 |0010: move-result v0 006d56: 5920 4f00 |0011: iput v0, v2, Lcom/google/android/checkers/a;.v:I // field@004f 006d5a: 5220 3f00 |0013: iget v0, v2, Lcom/google/android/checkers/a;.f:I // field@003f 006d5e: 5221 4000 |0015: iget v1, v2, Lcom/google/android/checkers/a;.g:I // field@0040 006d62: b610 |0017: or-int/2addr v0, v1 006d64: 7110 9e00 0000 |0018: invoke-static {v0}, Ljava/lang/Integer;.bitCount:(I)I // method@009e 006d6a: 0a00 |001b: move-result v0 006d6c: 5920 5000 |001c: iput v0, v2, Lcom/google/android/checkers/a;.w:I // field@0050 006d70: 7020 7600 7200 |001e: invoke-direct {v2, v7}, Lcom/google/android/checkers/a;.a:(Z)I // method@0076 006d76: 0a00 |0021: move-result v0 006d78: 5920 5100 |0022: iput v0, v2, Lcom/google/android/checkers/a;.x:I // field@0051 006d7c: 0e00 |0024: return-void catches : (none) positions : locals : #4 : (in Lcom/google/android/checkers/a;) name : 'b' type : '(ZZ)V' access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED) method_idx : 135 code - registers : 4 ins : 3 outs : 1 insns size : 16 16-bit code units 006d80: |[006d80] com.google.android.checkers.a.b:(ZZ)V 006d90: 1d01 |0000: monitor-enter v1 006d92: 5c12 4d00 |0001: iput-boolean v2, v1, Lcom/google/android/checkers/a;.t:Z // field@004d 006d96: 5c13 4c00 |0003: iput-boolean v3, v1, Lcom/google/android/checkers/a;.s:Z // field@004c 006d9a: 1210 |0005: const/4 v0, #int 1 // #1 006d9c: 5c10 4400 |0006: iput-boolean v0, v1, Lcom/google/android/checkers/a;.k:Z // field@0044 006da0: 6e10 a100 0100 |0008: invoke-virtual {v1}, Ljava/lang/Object;.notify:()V // method@00a1 006da6: 1e01 |000b: monitor-exit v1 006da8: 0e00 |000c: return-void 006daa: 0d00 |000d: move-exception v0 006dac: 1e01 |000e: monitor-exit v1 006dae: 2700 |000f: throw v0 catches : 1 0x0001 - 0x000b -> 0x000d positions : locals : #5 : (in Lcom/google/android/checkers/a;) name : 'run' type : '()V' access : 0x0011 (PUBLIC FINAL) method_idx : 141 code - registers : 24 ins : 1 outs : 7 insns size : 526 16-bit code units 006dbc: |[006dbc] com.google.android.checkers.a.run:()V 006dcc: 7601 8400 1700 |0000: invoke-direct/range {v23}, Lcom/google/android/checkers/a;.b:()V // method@0084 006dd2: 0800 1700 |0003: move-object/from16 v0, v23 006dd6: 5202 3c00 |0005: iget v2, v0, Lcom/google/android/checkers/a;.c:I // field@003c 006dda: 1213 |0007: const/4 v3, #int 1 // #1 006ddc: 3332 1100 |0008: if-ne v2, v3, 0019 // +0011 006de0: 7100 8a00 0000 |000a: invoke-static {}, Lcom/google/android/checkers/a;.c:()V // method@008a 006de6: 0800 1700 |000d: move-object/from16 v0, v23 006dea: 5402 4300 |000f: iget-object v2, v0, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043 006dee: 1203 |0011: const/4 v3, #int 0 // #0 006df0: 1204 |0012: const/4 v4, #int 0 // #0 006df2: 12f5 |0013: const/4 v5, #int -1 // #ff 006df4: 1216 |0014: const/4 v6, #int 1 // #1 006df6: 6e56 5000 3254 |0015: invoke-virtual {v2, v3, v4, v5, v6}, Lcom/google/android/checkers/CheckersView;.a:(IIII)V // method@0050 006dfc: 28e8 |0018: goto 0000 // -0018 006dfe: 0800 1700 |0019: move-object/from16 v0, v23 006e02: 5202 4100 |001b: iget v2, v0, Lcom/google/android/checkers/a;.h:I // field@0041 006e06: 3902 1c00 |001d: if-nez v2, 0039 // +001c 006e0a: 7100 8a00 0000 |001f: invoke-static {}, Lcom/google/android/checkers/a;.c:()V // method@008a 006e10: 0800 1700 |0022: move-object/from16 v0, v23 006e14: 5402 4200 |0024: iget-object v2, v0, Lcom/google/android/checkers/a;.i:Ljava/util/Random; // field@0042 006e18: 0800 1700 |0026: move-object/from16 v0, v23 006e1c: 5203 3c00 |0028: iget v3, v0, Lcom/google/android/checkers/a;.c:I // field@003c 006e20: 6e20 b000 3200 |002a: invoke-virtual {v2, v3}, Ljava/util/Random;.nextInt:(I)I // method@00b0 006e26: 0a02 |002d: move-result v2 006e28: 0800 1700 |002e: move-object/from16 v0, v23 006e2c: 5403 4300 |0030: iget-object v3, v0, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043 006e30: 1204 |0032: const/4 v4, #int 0 // #0 006e32: 1205 |0033: const/4 v5, #int 0 // #0 006e34: 1216 |0034: const/4 v6, #int 1 // #1 006e36: 6e56 5000 2354 |0035: invoke-virtual {v3, v2, v4, v5, v6}, Lcom/google/android/checkers/CheckersView;.a:(IIII)V // method@0050 006e3c: 28c8 |0038: goto 0000 // -0038 006e3e: 0800 1700 |0039: move-object/from16 v0, v23 006e42: 5202 3d00 |003b: iget v2, v0, Lcom/google/android/checkers/a;.d:I // field@003d 006e46: 1303 ff0f |003d: const/16 v3, #int 4095 // #fff 006e4a: 3332 2700 |003f: if-ne v2, v3, 0066 // +0027 006e4e: 7100 8a00 0000 |0041: invoke-static {}, Lcom/google/android/checkers/a;.c:()V // method@008a 006e54: 0800 1700 |0044: move-object/from16 v0, v23 006e58: 5403 4200 |0046: iget-object v3, v0, Lcom/google/android/checkers/a;.i:Ljava/util/Random; // field@0042 006e5c: 0800 1700 |0048: move-object/from16 v0, v23 006e60: 5204 3c00 |004a: iget v4, v0, Lcom/google/android/checkers/a;.c:I // field@003c 006e64: 0800 1700 |004c: move-object/from16 v0, v23 006e68: 5502 4d00 |004e: iget-boolean v2, v0, Lcom/google/android/checkers/a;.t:Z // field@004d 006e6c: 3802 1400 |0050: if-eqz v2, 0064 // +0014 006e70: 1212 |0052: const/4 v2, #int 1 // #1 006e72: 9102 0402 |0053: sub-int v2, v4, v2 006e76: 6e20 b000 2300 |0055: invoke-virtual {v3, v2}, Ljava/util/Random;.nextInt:(I)I // method@00b0 006e7c: 0a02 |0058: move-result v2 006e7e: 0800 1700 |0059: move-object/from16 v0, v23 006e82: 5403 4300 |005b: iget-object v3, v0, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043 006e86: 1204 |005d: const/4 v4, #int 0 // #0 006e88: 12e5 |005e: const/4 v5, #int -2 // #fe 006e8a: 1216 |005f: const/4 v6, #int 1 // #1 006e8c: 6e56 5000 2354 |0060: invoke-virtual {v3, v2, v4, v5, v6}, Lcom/google/android/checkers/CheckersView;.a:(IIII)V // method@0050 006e92: 289d |0063: goto 0000 // -0063 006e94: 1202 |0064: const/4 v2, #int 0 // #0 006e96: 28ee |0065: goto 0053 // -0012 006e98: 7100 ab00 0000 |0066: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@00ab 006e9e: 0b02 |0069: move-result-wide v2 006ea0: 0800 1700 |006a: move-object/from16 v0, v23 006ea4: 5a02 4500 |006c: iput-wide v2, v0, Lcom/google/android/checkers/a;.l:J // field@0045 006ea8: 1202 |006e: const/4 v2, #int 0 // #0 006eaa: 0800 1700 |006f: move-object/from16 v0, v23 006eae: 5902 4700 |0071: iput v2, v0, Lcom/google/android/checkers/a;.n:I // field@0047 006eb2: 1202 |0073: const/4 v2, #int 0 // #0 006eb4: 0800 1700 |0074: move-object/from16 v0, v23 006eb8: 5c02 4600 |0076: iput-boolean v2, v0, Lcom/google/android/checkers/a;.m:Z // field@0046 006ebc: 0800 1700 |0078: move-object/from16 v0, v23 006ec0: 5502 4c00 |007a: iget-boolean v2, v0, Lcom/google/android/checkers/a;.s:Z // field@004c 006ec4: 3902 5100 |007c: if-nez v2, 00cd // +0051 006ec8: 6302 6a00 |007e: sget-boolean v2, Lcom/google/android/checkers/g;.r:Z // field@006a 006ecc: 3802 4d00 |0080: if-eqz v2, 00cd // +004d 006ed0: 1212 |0082: const/4 v2, #int 1 // #1 006ed2: 0800 1700 |0083: move-object/from16 v0, v23 006ed6: 5c02 4e00 |0085: iput-boolean v2, v0, Lcom/google/android/checkers/a;.u:Z // field@004e 006eda: 0800 1700 |0087: move-object/from16 v0, v23 006ede: 520e 3c00 |0089: iget v14, v0, Lcom/google/android/checkers/a;.c:I // field@003c 006ee2: 120d |008b: const/4 v13, #int 0 // #0 006ee4: 120b |008c: const/4 v11, #int 0 // #0 006ee6: 120a |008d: const/4 v10, #int 0 // #0 006ee8: 1212 |008e: const/4 v2, #int 1 // #1 006eea: 0800 1700 |008f: move-object/from16 v0, v23 006eee: 5902 2f00 |0091: iput v2, v0, Lcom/google/android/checkers/a;.C:I // field@002f 006ef2: 0800 1700 |0093: move-object/from16 v0, v23 006ef6: 520f 3d00 |0095: iget v15, v0, Lcom/google/android/checkers/a;.d:I // field@003d 006efa: 0800 1700 |0097: move-object/from16 v0, v23 006efe: 5200 3e00 |0099: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e 006f02: 0210 0000 |009b: move/from16 v16, v0 006f06: 0800 1700 |009d: move-object/from16 v0, v23 006f0a: 5200 3f00 |009f: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f 006f0e: 0211 0000 |00a1: move/from16 v17, v0 006f12: 0800 1700 |00a3: move-object/from16 v0, v23 006f16: 5200 4000 |00a5: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040 006f1a: 0212 0000 |00a7: move/from16 v18, v0 006f1e: 0800 1700 |00a9: move-object/from16 v0, v23 006f22: 5200 4f00 |00ab: iget v0, v0, Lcom/google/android/checkers/a;.v:I // field@004f 006f26: 0213 0000 |00ad: move/from16 v19, v0 006f2a: 0800 1700 |00af: move-object/from16 v0, v23 006f2e: 5200 5000 |00b1: iget v0, v0, Lcom/google/android/checkers/a;.w:I // field@0050 006f32: 0214 0000 |00b3: move/from16 v20, v0 006f36: 0800 1700 |00b5: move-object/from16 v0, v23 006f3a: 5200 5100 |00b7: iget v0, v0, Lcom/google/android/checkers/a;.x:I // field@0051 006f3e: 0215 0000 |00b9: move/from16 v21, v0 006f42: 1216 |00bb: const/4 v6, #int 1 // #1 006f44: 1302 4000 |00bc: const/16 v2, #int 64 // #40 006f48: 3726 1100 |00be: if-le v6, v2, 00cf // +0011 006f4c: 0800 1700 |00c0: move-object/from16 v0, v23 006f50: 5402 4300 |00c2: iget-object v2, v0, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043 006f54: 0800 1700 |00c4: move-object/from16 v0, v23 006f58: 5203 2f00 |00c6: iget v3, v0, Lcom/google/android/checkers/a;.C:I // field@002f 006f5c: 6e53 5000 d2ab |00c8: invoke-virtual {v2, v13, v11, v10, v3}, Lcom/google/android/checkers/CheckersView;.a:(IIII)V // method@0050 006f62: 2900 35ff |00cb: goto/16 0000 // -00cb 006f66: 1202 |00cd: const/4 v2, #int 0 // #0 006f68: 28b5 |00ce: goto 0083 // -004b 006f6a: 1309 0180 |00cf: const/16 v9, #int -32767 // #8001 006f6e: 120c |00d1: const/4 v12, #int 0 // #0 006f70: 34ec 1500 |00d2: if-lt v12, v14, 00e7 // +0015 006f74: 1302 0083 |00d4: const/16 v2, #int -32000 // #8300 006f78: 3729 eaff |00d6: if-le v9, v2, 00c0 // -0016 006f7c: 1302 007d |00d8: const/16 v2, #int 32000 // #7d00 006f80: 3529 e6ff |00da: if-ge v9, v2, 00c0 // -001a 006f84: 1202 |00dc: const/4 v2, #int 0 // #0 006f86: 0125 |00dd: move v5, v2 006f88: 01d2 |00de: move v2, v13 006f8a: d803 0eff |00df: add-int/lit8 v3, v14, #int -1 // #ff 006f8e: 3435 6000 |00e1: if-lt v5, v3, 0141 // +0060 006f92: d806 0601 |00e3: add-int/lit8 v6, v6, #int 1 // #01 006f96: 012d |00e5: move v13, v2 006f98: 28d6 |00e6: goto 00bc // -002a 006f9a: 0800 1700 |00e7: move-object/from16 v0, v23 006f9e: 7020 8500 c000 |00e9: invoke-direct {v0, v12}, Lcom/google/android/checkers/a;.b:(I)V // method@0085 006fa4: 1303 0180 |00ec: const/16 v3, #int -32767 // #8001 006fa8: 7b94 |00ee: neg-int v4, v9 006faa: 1215 |00ef: const/4 v5, #int 1 // #1 006fac: 1207 |00f0: const/4 v7, #int 0 // #0 006fae: 0800 1700 |00f1: move-object/from16 v0, v23 006fb2: 5502 4d00 |00f3: iget-boolean v2, v0, Lcom/google/android/checkers/a;.t:Z // field@004d 006fb6: 3802 4a00 |00f5: if-eqz v2, 013f // +004a 006fba: 1208 |00f7: const/4 v8, #int 0 // #0 006fbc: 0802 1700 |00f8: move-object/from16 v2, v23 006fc0: 7607 7400 0200 |00fa: invoke-direct/range {v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.a:(IIIIIZ)I // method@0074 006fc6: 0a02 |00fd: move-result v2 006fc8: 7b22 |00fe: neg-int v2, v2 006fca: 0800 1700 |00ff: move-object/from16 v0, v23 006fce: 5403 4a00 |0101: iget-object v3, v0, Lcom/google/android/checkers/a;.q:[I // field@004a 006fd2: 4b02 030c |0103: aput v2, v3, v12 006fd6: 0800 1700 |0105: move-object/from16 v0, v23 006fda: 590f 3d00 |0107: iput v15, v0, Lcom/google/android/checkers/a;.d:I // field@003d 006fde: 0200 1000 |0109: move/from16 v0, v16 006fe2: 0801 1700 |010b: move-object/from16 v1, v23 006fe6: 5910 3e00 |010d: iput v0, v1, Lcom/google/android/checkers/a;.e:I // field@003e 006fea: 0200 1100 |010f: move/from16 v0, v17 006fee: 0801 1700 |0111: move-object/from16 v1, v23 006ff2: 5910 3f00 |0113: iput v0, v1, Lcom/google/android/checkers/a;.f:I // field@003f 006ff6: 0200 1200 |0115: move/from16 v0, v18 006ffa: 0801 1700 |0117: move-object/from16 v1, v23 006ffe: 5910 4000 |0119: iput v0, v1, Lcom/google/android/checkers/a;.g:I // field@0040 007002: 0200 1300 |011b: move/from16 v0, v19 007006: 0801 1700 |011d: move-object/from16 v1, v23 00700a: 5910 4f00 |011f: iput v0, v1, Lcom/google/android/checkers/a;.v:I // field@004f 00700e: 0200 1400 |0121: move/from16 v0, v20 007012: 0801 1700 |0123: move-object/from16 v1, v23 007016: 5910 5000 |0125: iput v0, v1, Lcom/google/android/checkers/a;.w:I // field@0050 00701a: 0200 1500 |0127: move/from16 v0, v21 00701e: 0801 1700 |0129: move-object/from16 v1, v23 007022: 5910 5100 |012b: iput v0, v1, Lcom/google/android/checkers/a;.x:I // field@0051 007026: 0800 1700 |012d: move-object/from16 v0, v23 00702a: 5503 4600 |012f: iget-boolean v3, v0, Lcom/google/android/checkers/a;.m:Z // field@0046 00702e: 3903 8fff |0131: if-nez v3, 00c0 // -0071 007032: 3792 d500 |0133: if-le v2, v9, 0208 // +00d5 007036: 0163 |0135: move v3, v6 007038: 0124 |0136: move v4, v2 00703a: 01c5 |0137: move v5, v12 00703c: d80c 0c01 |0138: add-int/lit8 v12, v12, #int 1 // #01 007040: 0129 |013a: move v9, v2 007042: 013a |013b: move v10, v3 007044: 014b |013c: move v11, v4 007046: 015d |013d: move v13, v5 007048: 2894 |013e: goto 00d2 // -006c 00704a: 1218 |013f: const/4 v8, #int 1 // #1 00704c: 28b8 |0140: goto 00f8 // -0048 00704e: 1213 |0141: const/4 v3, #int 1 // #1 007050: d804 0eff |0142: add-int/lit8 v4, v14, #int -1 // #ff 007054: 3445 0800 |0144: if-lt v5, v4, 014c // +0008 007058: 3903 9dff |0146: if-nez v3, 00e3 // -0063 00705c: d803 0501 |0148: add-int/lit8 v3, v5, #int 1 // #01 007060: 0135 |014a: move v5, v3 007062: 2894 |014b: goto 00df // -006c 007064: 0800 1700 |014c: move-object/from16 v0, v23 007068: 5407 4a00 |014e: iget-object v7, v0, Lcom/google/android/checkers/a;.q:[I // field@004a 00706c: 4407 0704 |0150: aget v7, v7, v4 007070: 0800 1700 |0152: move-object/from16 v0, v23 007074: 5408 4a00 |0154: iget-object v8, v0, Lcom/google/android/checkers/a;.q:[I // field@004a 007078: d809 04ff |0156: add-int/lit8 v9, v4, #int -1 // #ff 00707c: 4408 0809 |0158: aget v8, v8, v9 007080: 3787 a800 |015a: if-le v7, v8, 0202 // +00a8 007084: 0800 1700 |015c: move-object/from16 v0, v23 007088: 5403 4a00 |015e: iget-object v3, v0, Lcom/google/android/checkers/a;.q:[I // field@004a 00708c: 4403 0304 |0160: aget v3, v3, v4 007090: 0800 1700 |0162: move-object/from16 v0, v23 007094: 5407 4a00 |0164: iget-object v7, v0, Lcom/google/android/checkers/a;.q:[I // field@004a 007098: 0800 1700 |0166: move-object/from16 v0, v23 00709c: 5408 4a00 |0168: iget-object v8, v0, Lcom/google/android/checkers/a;.q:[I // field@004a 0070a0: d809 04ff |016a: add-int/lit8 v9, v4, #int -1 // #ff 0070a4: 4408 0809 |016c: aget v8, v8, v9 0070a8: 4b08 0704 |016e: aput v8, v7, v4 0070ac: 0800 1700 |0170: move-object/from16 v0, v23 0070b0: 5407 4a00 |0172: iget-object v7, v0, Lcom/google/android/checkers/a;.q:[I // field@004a 0070b4: d808 04ff |0174: add-int/lit8 v8, v4, #int -1 // #ff 0070b8: 4b03 0708 |0176: aput v3, v7, v8 0070bc: 0800 1700 |0178: move-object/from16 v0, v23 0070c0: 5403 4800 |017a: iget-object v3, v0, Lcom/google/android/checkers/a;.o:[I // field@0048 0070c4: 4403 0304 |017c: aget v3, v3, v4 0070c8: 0800 1700 |017e: move-object/from16 v0, v23 0070cc: 5407 4800 |0180: iget-object v7, v0, Lcom/google/android/checkers/a;.o:[I // field@0048 0070d0: 0800 1700 |0182: move-object/from16 v0, v23 0070d4: 5408 4800 |0184: iget-object v8, v0, Lcom/google/android/checkers/a;.o:[I // field@0048 0070d8: d809 04ff |0186: add-int/lit8 v9, v4, #int -1 // #ff 0070dc: 4408 0809 |0188: aget v8, v8, v9 0070e0: 4b08 0704 |018a: aput v8, v7, v4 0070e4: 0800 1700 |018c: move-object/from16 v0, v23 0070e8: 5407 4800 |018e: iget-object v7, v0, Lcom/google/android/checkers/a;.o:[I // field@0048 0070ec: d808 04ff |0190: add-int/lit8 v8, v4, #int -1 // #ff 0070f0: 4b03 0708 |0192: aput v3, v7, v8 0070f4: 0800 1700 |0194: move-object/from16 v0, v23 0070f8: 5403 3a00 |0196: iget-object v3, v0, Lcom/google/android/checkers/a;.a:[I // field@003a 0070fc: 4403 0304 |0198: aget v3, v3, v4 007100: 0800 1700 |019a: move-object/from16 v0, v23 007104: 5407 3a00 |019c: iget-object v7, v0, Lcom/google/android/checkers/a;.a:[I // field@003a 007108: 0800 1700 |019e: move-object/from16 v0, v23 00710c: 5408 3a00 |01a0: iget-object v8, v0, Lcom/google/android/checkers/a;.a:[I // field@003a 007110: d809 04ff |01a2: add-int/lit8 v9, v4, #int -1 // #ff 007114: 4408 0809 |01a4: aget v8, v8, v9 007118: 4b08 0704 |01a6: aput v8, v7, v4 00711c: 0800 1700 |01a8: move-object/from16 v0, v23 007120: 5407 3a00 |01aa: iget-object v7, v0, Lcom/google/android/checkers/a;.a:[I // field@003a 007124: d808 04ff |01ac: add-int/lit8 v8, v4, #int -1 // #ff 007128: 4b03 0708 |01ae: aput v3, v7, v8 00712c: 0800 1700 |01b0: move-object/from16 v0, v23 007130: 5403 4900 |01b2: iget-object v3, v0, Lcom/google/android/checkers/a;.p:[I // field@0049 007134: 4403 0304 |01b4: aget v3, v3, v4 007138: 0800 1700 |01b6: move-object/from16 v0, v23 00713c: 5407 4900 |01b8: iget-object v7, v0, Lcom/google/android/checkers/a;.p:[I // field@0049 007140: 0800 1700 |01ba: move-object/from16 v0, v23 007144: 5408 4900 |01bc: iget-object v8, v0, Lcom/google/android/checkers/a;.p:[I // field@0049 007148: d809 04ff |01be: add-int/lit8 v9, v4, #int -1 // #ff 00714c: 4408 0809 |01c0: aget v8, v8, v9 007150: 4b08 0704 |01c2: aput v8, v7, v4 007154: 0800 1700 |01c4: move-object/from16 v0, v23 007158: 5407 4900 |01c6: iget-object v7, v0, Lcom/google/android/checkers/a;.p:[I // field@0049 00715c: d808 04ff |01c8: add-int/lit8 v8, v4, #int -1 // #ff 007160: 4b03 0708 |01ca: aput v3, v7, v8 007164: 0800 1700 |01cc: move-object/from16 v0, v23 007168: 5403 3b00 |01ce: iget-object v3, v0, Lcom/google/android/checkers/a;.b:[I // field@003b 00716c: 4403 0304 |01d0: aget v3, v3, v4 007170: 0800 1700 |01d2: move-object/from16 v0, v23 007174: 5407 3b00 |01d4: iget-object v7, v0, Lcom/google/android/checkers/a;.b:[I // field@003b 007178: 0800 1700 |01d6: move-object/from16 v0, v23 00717c: 5408 3b00 |01d8: iget-object v8, v0, Lcom/google/android/checkers/a;.b:[I // field@003b 007180: d809 04ff |01da: add-int/lit8 v9, v4, #int -1 // #ff 007184: 4408 0809 |01dc: aget v8, v8, v9 007188: 4b08 0704 |01de: aput v8, v7, v4 00718c: 0800 1700 |01e0: move-object/from16 v0, v23 007190: 5407 3b00 |01e2: iget-object v7, v0, Lcom/google/android/checkers/a;.b:[I // field@003b 007194: d808 04ff |01e4: add-int/lit8 v8, v4, #int -1 // #ff 007198: 4b03 0708 |01e6: aput v3, v7, v8 00719c: 3342 1300 |01e8: if-ne v2, v4, 01fb // +0013 0071a0: d802 02ff |01ea: add-int/lit8 v2, v2, #int -1 // #ff 0071a4: 1203 |01ec: const/4 v3, #int 0 // #0 0071a6: 0216 0300 |01ed: move/from16 v22, v3 0071aa: 0123 |01ef: move v3, v2 0071ac: 0202 1600 |01f0: move/from16 v2, v22 0071b0: d804 04ff |01f2: add-int/lit8 v4, v4, #int -1 // #ff 0071b4: 0216 0200 |01f4: move/from16 v22, v2 0071b8: 0132 |01f6: move v2, v3 0071ba: 0203 1600 |01f7: move/from16 v3, v22 0071be: 2900 4bff |01f9: goto/16 0144 // -00b5 0071c2: d803 04ff |01fb: add-int/lit8 v3, v4, #int -1 // #ff 0071c6: 3332 efff |01fd: if-ne v2, v3, 01ec // -0011 0071ca: d802 0201 |01ff: add-int/lit8 v2, v2, #int 1 // #01 0071ce: 28eb |0201: goto 01ec // -0015 0071d0: 0216 0300 |0202: move/from16 v22, v3 0071d4: 0123 |0204: move v3, v2 0071d6: 0202 1600 |0205: move/from16 v2, v22 0071da: 28eb |0207: goto 01f2 // -0015 0071dc: 0192 |0208: move v2, v9 0071de: 01a3 |0209: move v3, v10 0071e0: 01b4 |020a: move v4, v11 0071e2: 01d5 |020b: move v5, v13 0071e4: 2900 2cff |020c: goto/16 0138 // -00d4 catches : (none) positions : locals : source_file_idx : -1 (unknown) Class #3 header: class_idx : 33 access_flags : 16 (0x0010) superclass_idx : 46 interfaces_off : 29520 (0x007350) source_file_idx : -1 annotations_off : 0 (0x000000) class_data_off : 35082 (0x00890a) static_fields_size : 0 instance_fields_size: 1 direct_methods_size : 1 virtual_methods_size: 1 Class #3 - Class descriptor : 'Lcom/google/android/checkers/b;' Access flags : 0x0010 (FINAL) Superclass : 'Ljava/lang/Object;' Interfaces - #0 : 'Landroid/content/DialogInterface$OnClickListener;' Static fields - Instance fields - #0 : (in Lcom/google/android/checkers/b;) name : 'a' type : 'Lcom/google/android/checkers/CheckersView;' access : 0x1010 (FINAL SYNTHETIC) Direct methods - #0 : (in Lcom/google/android/checkers/b;) name : '' type : '(Lcom/google/android/checkers/CheckersView;)V' access : 0x10000 (CONSTRUCTOR) method_idx : 143 code - registers : 2 ins : 2 outs : 1 insns size : 6 16-bit code units 0071e8: |[0071e8] com.google.android.checkers.b.:(Lcom/google/android/checkers/CheckersView;)V 0071f8: 5b01 5400 |0000: iput-object v1, v0, Lcom/google/android/checkers/b;.a:Lcom/google/android/checkers/CheckersView; // field@0054 0071fc: 7010 a000 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@00a0 007202: 0e00 |0005: return-void catches : (none) positions : locals : Virtual methods - #0 : (in Lcom/google/android/checkers/b;) name : 'onClick' type : '(Landroid/content/DialogInterface;I)V' access : 0x0011 (PUBLIC FINAL) method_idx : 144 code - registers : 4 ins : 3 outs : 1 insns size : 14 16-bit code units 007204: |[007204] com.google.android.checkers.b.onClick:(Landroid/content/DialogInterface;I)V 007214: 5410 5400 |0000: iget-object v0, v1, Lcom/google/android/checkers/b;.a:Lcom/google/android/checkers/CheckersView; // field@0054 007218: 7110 5900 0000 |0002: invoke-static {v0}, Lcom/google/android/checkers/CheckersView;.a:(Lcom/google/android/checkers/CheckersView;)Z // method@0059 00721e: 0a00 |0005: move-result v0 007220: 3800 0700 |0006: if-eqz v0, 000d // +0007 007224: 5410 5400 |0008: iget-object v0, v1, Lcom/google/android/checkers/b;.a:Lcom/google/android/checkers/CheckersView; // field@0054 007228: 6e10 6d00 0000 |000a: invoke-virtual {v0}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d 00722e: 0e00 |000d: return-void catches : (none) positions : locals : source_file_idx : -1 (unknown) Class #4 header: class_idx : 34 access_flags : 16 (0x0010) superclass_idx : 46 interfaces_off : 29520 (0x007350) source_file_idx : -1 annotations_off : 0 (0x000000) class_data_off : 35103 (0x00891f) static_fields_size : 0 instance_fields_size: 1 direct_methods_size : 1 virtual_methods_size: 1 Class #4 - Class descriptor : 'Lcom/google/android/checkers/c;' Access flags : 0x0010 (FINAL) Superclass : 'Ljava/lang/Object;' Interfaces - #0 : 'Landroid/content/DialogInterface$OnClickListener;' Static fields - Instance fields - #0 : (in Lcom/google/android/checkers/c;) name : 'a' type : 'Lcom/google/android/checkers/CheckersView;' access : 0x1010 (FINAL SYNTHETIC) Direct methods - #0 : (in Lcom/google/android/checkers/c;) name : '' type : '(Lcom/google/android/checkers/CheckersView;)V' access : 0x10000 (CONSTRUCTOR) method_idx : 145 code - registers : 2 ins : 2 outs : 1 insns size : 6 16-bit code units 007230: |[007230] com.google.android.checkers.c.:(Lcom/google/android/checkers/CheckersView;)V 007240: 5b01 5500 |0000: iput-object v1, v0, Lcom/google/android/checkers/c;.a:Lcom/google/android/checkers/CheckersView; // field@0055 007244: 7010 a000 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@00a0 00724a: 0e00 |0005: return-void catches : (none) positions : locals : Virtual methods - #0 : (in Lcom/google/android/checkers/c;) name : 'onClick' type : '(Landroid/content/DialogInterface;I)V' access : 0x0011 (PUBLIC FINAL) method_idx : 146 code - registers : 3 ins : 3 outs : 0 insns size : 1 16-bit code units 00724c: |[00724c] com.google.android.checkers.c.onClick:(Landroid/content/DialogInterface;I)V 00725c: 0e00 |0000: return-void catches : (none) positions : locals : source_file_idx : -1 (unknown) Class #5 header: class_idx : 35 access_flags : 16 (0x0010) superclass_idx : 46 interfaces_off : 29520 (0x007350) source_file_idx : -1 annotations_off : 0 (0x000000) class_data_off : 35124 (0x008934) static_fields_size : 0 instance_fields_size: 1 direct_methods_size : 1 virtual_methods_size: 1 Class #5 - Class descriptor : 'Lcom/google/android/checkers/d;' Access flags : 0x0010 (FINAL) Superclass : 'Ljava/lang/Object;' Interfaces - #0 : 'Landroid/content/DialogInterface$OnClickListener;' Static fields - Instance fields - #0 : (in Lcom/google/android/checkers/d;) name : 'a' type : 'Lcom/google/android/checkers/CheckersView;' access : 0x1010 (FINAL SYNTHETIC) Direct methods - #0 : (in Lcom/google/android/checkers/d;) name : '' type : '(Lcom/google/android/checkers/CheckersView;)V' access : 0x10000 (CONSTRUCTOR) method_idx : 147 code - registers : 2 ins : 2 outs : 1 insns size : 6 16-bit code units 007260: |[007260] com.google.android.checkers.d.:(Lcom/google/android/checkers/CheckersView;)V 007270: 5b01 5600 |0000: iput-object v1, v0, Lcom/google/android/checkers/d;.a:Lcom/google/android/checkers/CheckersView; // field@0056 007274: 7010 a000 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@00a0 00727a: 0e00 |0005: return-void catches : (none) positions : locals : Virtual methods - #0 : (in Lcom/google/android/checkers/d;) name : 'onClick' type : '(Landroid/content/DialogInterface;I)V' access : 0x0011 (PUBLIC FINAL) method_idx : 148 code - registers : 3 ins : 3 outs : 0 insns size : 1 16-bit code units 00727c: |[00727c] com.google.android.checkers.d.onClick:(Landroid/content/DialogInterface;I)V 00728c: 0e00 |0000: return-void catches : (none) positions : locals : source_file_idx : -1 (unknown) Class #6 header: class_idx : 36 access_flags : 16 (0x0010) superclass_idx : 46 interfaces_off : 29520 (0x007350) source_file_idx : -1 annotations_off : 0 (0x000000) class_data_off : 35145 (0x008949) static_fields_size : 0 instance_fields_size: 1 direct_methods_size : 1 virtual_methods_size: 1 Class #6 - Class descriptor : 'Lcom/google/android/checkers/e;' Access flags : 0x0010 (FINAL) Superclass : 'Ljava/lang/Object;' Interfaces - #0 : 'Landroid/content/DialogInterface$OnClickListener;' Static fields - Instance fields - #0 : (in Lcom/google/android/checkers/e;) name : 'a' type : 'Lcom/google/android/checkers/CheckersView;' access : 0x1010 (FINAL SYNTHETIC) Direct methods - #0 : (in Lcom/google/android/checkers/e;) name : '' type : '(Lcom/google/android/checkers/CheckersView;)V' access : 0x10000 (CONSTRUCTOR) method_idx : 149 code - registers : 2 ins : 2 outs : 1 insns size : 6 16-bit code units 007290: |[007290] com.google.android.checkers.e.:(Lcom/google/android/checkers/CheckersView;)V 0072a0: 5b01 5700 |0000: iput-object v1, v0, Lcom/google/android/checkers/e;.a:Lcom/google/android/checkers/CheckersView; // field@0057 0072a4: 7010 a000 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@00a0 0072aa: 0e00 |0005: return-void catches : (none) positions : locals : Virtual methods - #0 : (in Lcom/google/android/checkers/e;) name : 'onClick' type : '(Landroid/content/DialogInterface;I)V' access : 0x0011 (PUBLIC FINAL) method_idx : 150 code - registers : 5 ins : 3 outs : 2 insns size : 7 16-bit code units 0072ac: |[0072ac] com.google.android.checkers.e.onClick:(Landroid/content/DialogInterface;I)V 0072bc: 5420 5700 |0000: iget-object v0, v2, Lcom/google/android/checkers/e;.a:Lcom/google/android/checkers/CheckersView; // field@0057 0072c0: 1211 |0002: const/4 v1, #int 1 // #1 0072c2: 6e20 6800 1000 |0003: invoke-virtual {v0, v1}, Lcom/google/android/checkers/CheckersView;.e:(Z)Z // method@0068 0072c8: 0e00 |0006: return-void catches : (none) positions : locals : source_file_idx : -1 (unknown) Class #7 header: class_idx : 37 access_flags : 16 (0x0010) superclass_idx : 46 interfaces_off : 29520 (0x007350) source_file_idx : -1 annotations_off : 0 (0x000000) class_data_off : 35166 (0x00895e) static_fields_size : 0 instance_fields_size: 1 direct_methods_size : 1 virtual_methods_size: 1 Class #7 - Class descriptor : 'Lcom/google/android/checkers/f;' Access flags : 0x0010 (FINAL) Superclass : 'Ljava/lang/Object;' Interfaces - #0 : 'Landroid/content/DialogInterface$OnClickListener;' Static fields - Instance fields - #0 : (in Lcom/google/android/checkers/f;) name : 'a' type : 'Lcom/google/android/checkers/CheckersView;' access : 0x1010 (FINAL SYNTHETIC) Direct methods - #0 : (in Lcom/google/android/checkers/f;) name : '' type : '(Lcom/google/android/checkers/CheckersView;)V' access : 0x10000 (CONSTRUCTOR) method_idx : 151 code - registers : 2 ins : 2 outs : 1 insns size : 6 16-bit code units 0072cc: |[0072cc] com.google.android.checkers.f.:(Lcom/google/android/checkers/CheckersView;)V 0072dc: 5b01 5800 |0000: iput-object v1, v0, Lcom/google/android/checkers/f;.a:Lcom/google/android/checkers/CheckersView; // field@0058 0072e0: 7010 a000 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@00a0 0072e6: 0e00 |0005: return-void catches : (none) positions : locals : Virtual methods - #0 : (in Lcom/google/android/checkers/f;) name : 'onClick' type : '(Landroid/content/DialogInterface;I)V' access : 0x0011 (PUBLIC FINAL) method_idx : 152 code - registers : 4 ins : 3 outs : 2 insns size : 6 16-bit code units 0072e8: |[0072e8] com.google.android.checkers.f.onClick:(Landroid/content/DialogInterface;I)V 0072f8: 5410 5800 |0000: iget-object v0, v1, Lcom/google/android/checkers/f;.a:Lcom/google/android/checkers/CheckersView; // field@0058 0072fc: 7120 5600 3000 |0002: invoke-static {v0, v3}, Lcom/google/android/checkers/CheckersView;.a:(Lcom/google/android/checkers/CheckersView;I)V // method@0056 007302: 0e00 |0005: return-void catches : (none) positions : locals : source_file_idx : -1 (unknown) Class #8 header: class_idx : 38 access_flags : 17 (0x0011) superclass_idx : 46 interfaces_off : 0 (0x000000) source_file_idx : -1 annotations_off : 0 (0x000000) class_data_off : 35187 (0x008973) static_fields_size : 19 instance_fields_size: 0 direct_methods_size : 1 virtual_methods_size: 0 Class #8 - Class descriptor : 'Lcom/google/android/checkers/g;' Access flags : 0x0011 (PUBLIC FINAL) Superclass : 'Ljava/lang/Object;' Interfaces - Static fields - #0 : (in Lcom/google/android/checkers/g;) name : 'a' type : '[B' access : 0x0009 (PUBLIC STATIC) #1 : (in Lcom/google/android/checkers/g;) name : 'b' type : '[B' access : 0x0009 (PUBLIC STATIC) #2 : (in Lcom/google/android/checkers/g;) name : 'c' type : '[B' access : 0x0009 (PUBLIC STATIC) #3 : (in Lcom/google/android/checkers/g;) name : 'd' type : '[B' access : 0x0009 (PUBLIC STATIC) #4 : (in Lcom/google/android/checkers/g;) name : 'e' type : '[B' access : 0x0009 (PUBLIC STATIC) #5 : (in Lcom/google/android/checkers/g;) name : 'f' type : '[B' access : 0x0009 (PUBLIC STATIC) #6 : (in Lcom/google/android/checkers/g;) name : 'g' type : '[B' access : 0x0009 (PUBLIC STATIC) #7 : (in Lcom/google/android/checkers/g;) name : 'h' type : '[B' access : 0x0009 (PUBLIC STATIC) #8 : (in Lcom/google/android/checkers/g;) name : 'i' type : '[B' access : 0x0009 (PUBLIC STATIC) #9 : (in Lcom/google/android/checkers/g;) name : 'j' type : '[B' access : 0x0009 (PUBLIC STATIC) #10 : (in Lcom/google/android/checkers/g;) name : 'k' type : '[B' access : 0x0009 (PUBLIC STATIC) #11 : (in Lcom/google/android/checkers/g;) name : 'l' type : '[B' access : 0x0009 (PUBLIC STATIC) #12 : (in Lcom/google/android/checkers/g;) name : 'm' type : '[B' access : 0x0009 (PUBLIC STATIC) #13 : (in Lcom/google/android/checkers/g;) name : 'n' type : '[B' access : 0x0009 (PUBLIC STATIC) #14 : (in Lcom/google/android/checkers/g;) name : 'o' type : '[B' access : 0x0009 (PUBLIC STATIC) #15 : (in Lcom/google/android/checkers/g;) name : 'p' type : '[B' access : 0x0009 (PUBLIC STATIC) #16 : (in Lcom/google/android/checkers/g;) name : 'q' type : '[B' access : 0x0009 (PUBLIC STATIC) #17 : (in Lcom/google/android/checkers/g;) name : 'r' type : 'Z' access : 0x0009 (PUBLIC STATIC) #18 : (in Lcom/google/android/checkers/g;) name : 's' type : 'Ljava/io/BufferedInputStream;' access : 0x0008 (STATIC) Instance fields - Direct methods - #0 : (in Lcom/google/android/checkers/g;) name : 'a' type : '([B)Z' access : 0x0008 (STATIC) method_idx : 153 code - registers : 5 ins : 1 outs : 2 insns size : 29 16-bit code units 007304: |[007304] com.google.android.checkers.g.a:([B)Z 007314: 2141 |0000: array-length v1, v4 007316: 1200 |0001: const/4 v0, #int 0 // #0 007318: 3410 0400 |0002: if-lt v0, v1, 0006 // +0004 00731c: 1210 |0004: const/4 v0, #int 1 // #1 00731e: 0f00 |0005: return v0 007320: 6202 6b00 |0006: sget-object v2, Lcom/google/android/checkers/g;.s:Ljava/io/BufferedInputStream; // field@006b 007324: 6e10 9c00 0200 |0008: invoke-virtual {v2}, Ljava/io/BufferedInputStream;.read:()I // method@009c 00732a: 0a02 |000b: move-result v2 00732c: 12f3 |000c: const/4 v3, #int -1 // #ff 00732e: 3332 0a00 |000d: if-ne v2, v3, 0017 // +000a 007332: 2200 2b00 |000f: new-instance v0, Ljava/lang/Exception; // type@002b 007336: 1a01 3401 |0011: const-string v1, "tb eof" // string@0134 00733a: 7020 9d00 1000 |0013: invoke-direct {v0, v1}, Ljava/lang/Exception;.:(Ljava/lang/String;)V // method@009d 007340: 2700 |0016: throw v0 007342: 8d22 |0017: int-to-byte v2, v2 007344: 4f02 0400 |0018: aput-byte v2, v4, v0 007348: d800 0001 |001a: add-int/lit8 v0, v0, #int 1 // #01 00734c: 28e6 |001c: goto 0002 // -001a catches : (none) positions : locals : Virtual methods - source_file_idx : -1 (unknown) Opened 'all-dex-files.jar:classes3.dex', DEX version '039' DEX file header: magic : 'dex\n039\0' checksum : 16656a27 signature : 1953...5aa5 file_size : 2524 header_size : 112 link_size : 0 link_off : 0 (0x000000) string_ids_size : 57 string_ids_off : 112 (0x000070) type_ids_size : 26 type_ids_off : 340 (0x000154) proto_ids_size : 18 proto_ids_off : 444 (0x0001bc) field_ids_size : 2 field_ids_off : 660 (0x000294) method_ids_size : 23 method_ids_off : 676 (0x0002a4) class_defs_size : 2 class_defs_off : 860 (0x00035c) data_size : 1588 data_off : 936 (0x0003a8) Class #0 header: class_idx : 5 access_flags : 1 (0x0001) superclass_idx : 11 interfaces_off : 0 (0x000000) source_file_idx : 29 annotations_off : 1336 (0x000538) class_data_off : 2270 (0x0008de) static_fields_size : 0 instance_fields_size: 0 direct_methods_size : 2 virtual_methods_size: 0 Class #0 annotations: Annotations on method #1 'main' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Class #0 - Class descriptor : 'LMain;' Access flags : 0x0001 (PUBLIC) Superclass : 'Ljava/lang/Object;' Interfaces - Static fields - Instance fields - Direct methods - #0 : (in LMain;) name : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 0 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 0003b0: |[0003b0] Main.:()V 0003c0: 7010 0a00 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@000a 0003c6: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=22 locals : 0x0000 - 0x0004 reg=0 this LMain; #1 : (in LMain;) name : 'main' type : '([Ljava/lang/String;)V' access : 0x0009 (PUBLIC STATIC) method_idx : 1 code - registers : 6 ins : 1 outs : 4 insns size : 25 16-bit code units 0003c8: |[0003c8] Main.main:([Ljava/lang/String;)V 0003d8: 7100 1500 0000 |0000: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@0015 0003de: 0c00 |0003: move-result-object v0 0003e0: 1c01 0600 |0004: const-class v1, Lconstmethodhandle/ConstTest; // type@0006 0003e4: 1a02 3000 |0006: const-string v2, "main" // string@0030 0003e8: 6203 0100 |0008: sget-object v3, Ljava/lang/Void;.TYPE:Ljava/lang/Class; // field@0001 0003ec: 1c04 1900 |000a: const-class v4, [Ljava/lang/String; // type@0019 0003f0: 7120 1600 4300 |000c: invoke-static {v3, v4}, Ljava/lang/invoke/MethodType;.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType; // method@0016 0003f6: 0c03 |000f: move-result-object v3 0003f8: 6e40 1400 1032 |0010: invoke-virtual {v0, v1, v2, v3}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@0014 0003fe: 0c00 |0013: move-result-object v0 000400: fa20 1200 5000 1000 |0014: invoke-polymorphic {v0, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ([Ljava/lang/String;)V // method@0012, proto@0010 000408: 0e00 |0018: return-void catches : (none) positions : 0x0000 line=26 0x000c line=27 0x0014 line=28 0x0018 line=29 locals : 0x0000 - 0x0019 reg=5 (null) [Ljava/lang/String; Virtual methods - source_file_idx : 29 (Main.java) Class #1 header: class_idx : 6 access_flags : 1 (0x0001) superclass_idx : 11 interfaces_off : 0 (0x000000) source_file_idx : 3 annotations_off : 1360 (0x000550) class_data_off : 2284 (0x0008ec) static_fields_size : 0 instance_fields_size: 0 direct_methods_size : 6 virtual_methods_size: 0 Class #1 annotations: Annotations on method #3 'displayMethodHandle' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Class #1 - Class descriptor : 'Lconstmethodhandle/ConstTest;' Access flags : 0x0001 (PUBLIC) Superclass : 'Ljava/lang/Object;' Interfaces - Static fields - Instance fields - Direct methods - #0 : (in Lconstmethodhandle/ConstTest;) name : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 2 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 00040c: |[00040c] constmethodhandle.ConstTest.:()V 00041c: 7010 0a00 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@000a 000422: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=22 locals : 0x0000 - 0x0004 reg=0 this Lconstmethodhandle/ConstTest; #1 : (in Lconstmethodhandle/ConstTest;) name : 'displayMethodHandle' type : '(Ljava/lang/invoke/MethodHandle;)V' access : 0x000a (PRIVATE STATIC) method_idx : 3 code - registers : 4 ins : 1 outs : 2 insns size : 47 16-bit code units 000424: |[000424] constmethodhandle.ConstTest.displayMethodHandle:(Ljava/lang/invoke/MethodHandle;)V 000434: 6200 0000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0000 000438: 2201 0d00 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@000d 00043c: 7010 0c00 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@000c 000442: 1a02 1e00 |0007: const-string v2, "MethodHandle " // string@001e 000446: 6e20 0e00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@000e 00044c: 0c01 |000c: move-result-object v1 00044e: 6e20 0d00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@000d 000454: 0c01 |0010: move-result-object v1 000456: 1a02 0000 |0011: const-string v2, " => " // string@0000 00045a: 6e20 0e00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@000e 000460: 0c01 |0016: move-result-object v1 000462: 1402 0030 4046 |0017: const v2, #float 12300 // #46403000 000468: 7110 0900 0200 |001a: invoke-static {v2}, Ljava/lang/Float;.valueOf:(F)Ljava/lang/Float; // method@0009 00046e: 0c02 |001d: move-result-object v2 000470: fa20 1100 2300 0100 |001e: invoke-polymorphic {v3, v2}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Ljava/lang/Object;)Ljava/lang/Class; // method@0011, proto@0001 000478: 0c02 |0022: move-result-object v2 00047a: 6e20 0d00 2100 |0023: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@000d 000480: 0c01 |0026: move-result-object v1 000482: 6e10 0f00 0100 |0027: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@000f 000488: 0c01 |002a: move-result-object v1 00048a: 6e20 0800 1000 |002b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0008 000490: 0e00 |002e: return-void catches : (none) positions : 0x0000 line=24 0x001a line=25 0x002b line=24 0x002e line=26 locals : 0x0000 - 0x002f reg=3 (null) Ljava/lang/invoke/MethodHandle; #2 : (in Lconstmethodhandle/ConstTest;) name : 'displayMethodType' type : '(Ljava/lang/invoke/MethodType;)V' access : 0x000a (PRIVATE STATIC) method_idx : 4 code - registers : 4 ins : 1 outs : 2 insns size : 25 16-bit code units 000494: |[000494] constmethodhandle.ConstTest.displayMethodType:(Ljava/lang/invoke/MethodType;)V 0004a4: 6200 0000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0000 0004a8: 2201 0d00 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@000d 0004ac: 7010 0c00 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@000c 0004b2: 1a02 1f00 |0007: const-string v2, "MethodType " // string@001f 0004b6: 6e20 0e00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@000e 0004bc: 0c01 |000c: move-result-object v1 0004be: 6e20 0d00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@000d 0004c4: 0c01 |0010: move-result-object v1 0004c6: 6e10 0f00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@000f 0004cc: 0c01 |0014: move-result-object v1 0004ce: 6e20 0800 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0008 0004d4: 0e00 |0018: return-void catches : (none) positions : 0x0000 line=29 0x0018 line=30 locals : 0x0000 - 0x0019 reg=3 (null) Ljava/lang/invoke/MethodType; #3 : (in Lconstmethodhandle/ConstTest;) name : 'main' type : '([Ljava/lang/String;)V' access : 0x0009 (PUBLIC STATIC) method_idx : 5 code - registers : 2 ins : 1 outs : 1 insns size : 15 16-bit code units 0004d8: |[0004d8] constmethodhandle.ConstTest.main:([Ljava/lang/String;)V 0004e8: 7100 0600 0000 |0000: invoke-static {}, Lconstmethodhandle/ConstTest;.test1:()Ljava/lang/invoke/MethodHandle; // method@0006 0004ee: 0c00 |0003: move-result-object v0 0004f0: 7110 0300 0000 |0004: invoke-static {v0}, Lconstmethodhandle/ConstTest;.displayMethodHandle:(Ljava/lang/invoke/MethodHandle;)V // method@0003 0004f6: 7100 0700 0000 |0007: invoke-static {}, Lconstmethodhandle/ConstTest;.test2:()Ljava/lang/invoke/MethodType; // method@0007 0004fc: 0c00 |000a: move-result-object v0 0004fe: 7110 0400 0000 |000b: invoke-static {v0}, Lconstmethodhandle/ConstTest;.displayMethodType:(Ljava/lang/invoke/MethodType;)V // method@0004 000504: 0e00 |000e: return-void catches : (none) positions : locals : #4 : (in Lconstmethodhandle/ConstTest;) name : 'test1' type : '()Ljava/lang/invoke/MethodHandle;' access : 0x0009 (PUBLIC STATIC) method_idx : 6 code - registers : 1 ins : 0 outs : 0 insns size : 3 16-bit code units 000508: |[000508] constmethodhandle.ConstTest.test1:()Ljava/lang/invoke/MethodHandle; 000518: fe00 0000 |0000: const-method-handle v0, method_handle@0000 00051c: 1100 |0002: return-object v0 catches : (none) positions : locals : #5 : (in Lconstmethodhandle/ConstTest;) name : 'test2' type : '()Ljava/lang/invoke/MethodType;' access : 0x0009 (PUBLIC STATIC) method_idx : 7 code - registers : 1 ins : 0 outs : 0 insns size : 3 16-bit code units 000520: |[000520] constmethodhandle.ConstTest.test2:()Ljava/lang/invoke/MethodType; 000530: ff00 1100 |0000: const-method-type v0, (CSIJFDLjava/lang/Object;)Z // proto@0011 000534: 1100 |0002: return-object v0 catches : (none) positions : locals : Virtual methods - source_file_idx : 3 (ConstTest.java) Method handle #0: type : invoke-instance target : Ljava/lang/Object; getClass target_type : (Ljava/lang/Object;)Ljava/lang/Class; Opened 'all-dex-files.jar:classes4.dex', DEX version '038' DEX file header: magic : 'dex\n038\0' checksum : dc722174 signature : b59a...f803 file_size : 31732 header_size : 112 link_size : 0 link_off : 0 (0x000000) string_ids_size : 478 string_ids_off : 112 (0x000070) type_ids_size : 77 type_ids_off : 2024 (0x0007e8) proto_ids_size : 91 proto_ids_off : 2332 (0x00091c) field_ids_size : 21 field_ids_off : 3424 (0x000d60) method_ids_size : 243 method_ids_off : 3592 (0x000e08) class_defs_size : 14 class_defs_off : 5536 (0x0015a0) data_size : 25332 data_off : 6400 (0x001900) Class #0 header: class_idx : 7 access_flags : 0 (0x0000) superclass_idx : 52 interfaces_off : 0 (0x000000) source_file_idx : 144 annotations_off : 30700 (0x0077ec) class_data_off : 28922 (0x0070fa) static_fields_size : 0 instance_fields_size: 0 direct_methods_size : 1 virtual_methods_size: 0 Class #0 annotations: Annotations on class VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=LTestBadBootstrapArguments; VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=8 name="TestersConstantCallSite" Class #0 - Class descriptor : 'LTestBadBootstrapArguments$TestersConstantCallSite;' Access flags : 0x0000 () Superclass : 'Ljava/lang/invoke/ConstantCallSite;' Interfaces - Static fields - Instance fields - Direct methods - #0 : (in LTestBadBootstrapArguments$TestersConstantCallSite;) name : '' type : '(Ljava/lang/invoke/MethodHandle;)V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 8 code - registers : 2 ins : 2 outs : 2 insns size : 4 16-bit code units 001b18: |[001b18] TestBadBootstrapArguments$TestersConstantCallSite.:(Ljava/lang/invoke/MethodHandle;)V 001b28: 7020 d200 1000 |0000: invoke-direct {v0, v1}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 001b2e: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=449 0x0003 line=450 locals : 0x0000 - 0x0004 reg=0 this LTestBadBootstrapArguments$TestersConstantCallSite; 0x0000 - 0x0004 reg=1 mh Ljava/lang/invoke/MethodHandle; Virtual methods - source_file_idx : 144 (TestBadBootstrapArguments.java) Class #1 header: class_idx : 9 access_flags : 1024 (0x0400) superclass_idx : 42 interfaces_off : 0 (0x000000) source_file_idx : 145 annotations_off : 0 (0x000000) class_data_off : 28932 (0x007104) static_fields_size : 0 instance_fields_size: 0 direct_methods_size : 13 virtual_methods_size: 0 Class #1 - Class descriptor : 'LTestBase;' Access flags : 0x0400 (ABSTRACT) Superclass : 'Ljava/lang/Object;' Interfaces - Static fields - Instance fields - Direct methods - #0 : (in LTestBase;) name : '' type : '()V' access : 0x10000 (CONSTRUCTOR) method_idx : 50 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 002544: |[002544] TestBase.:()V 002554: 7010 bf00 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@00bf 00255a: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=19 locals : 0x0000 - 0x0004 reg=0 this LTestBase; #1 : (in LTestBase;) name : 'assertEquals' type : '(BB)V' access : 0x0008 (STATIC) method_idx : 51 code - registers : 5 ins : 2 outs : 2 insns size : 34 16-bit code units 00255c: |[00255c] TestBase.assertEquals:(BB)V 00256c: 3343 0300 |0000: if-ne v3, v4, 0003 // +0003 002570: 0e00 |0002: return-void 002572: 2200 1e00 |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e 002576: 2201 2d00 |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d 00257a: 7010 c100 0100 |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@00c1 002580: 1a02 d300 |000a: const-string v2, "assertEquals b1: " // string@00d3 002584: 6e20 c800 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 00258a: 6e20 c500 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 002590: 1a02 0d00 |0012: const-string v2, ", b2: " // string@000d 002594: 6e20 c800 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 00259a: 6e20 c500 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 0025a0: 6e10 ca00 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 0025a6: 0c01 |001d: move-result-object v1 0025a8: 7020 b500 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.:(Ljava/lang/Object;)V // method@00b5 0025ae: 2700 |0021: throw v0 catches : (none) positions : 0x0000 line=27 0x0002 line=28 0x0003 line=30 locals : 0x0000 - 0x0022 reg=3 b1 B 0x0000 - 0x0022 reg=4 b2 B #2 : (in LTestBase;) name : 'assertEquals' type : '(CC)V' access : 0x0008 (STATIC) method_idx : 52 code - registers : 5 ins : 2 outs : 2 insns size : 34 16-bit code units 0025b0: |[0025b0] TestBase.assertEquals:(CC)V 0025c0: 3343 0300 |0000: if-ne v3, v4, 0003 // +0003 0025c4: 0e00 |0002: return-void 0025c6: 2200 1e00 |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e 0025ca: 2201 2d00 |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d 0025ce: 7010 c100 0100 |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@00c1 0025d4: 1a02 d400 |000a: const-string v2, "assertEquals c1: " // string@00d4 0025d8: 6e20 c800 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0025de: 6e20 c200 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@00c2 0025e4: 1a02 0e00 |0012: const-string v2, ", c2: " // string@000e 0025e8: 6e20 c800 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0025ee: 6e20 c200 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@00c2 0025f4: 6e10 ca00 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 0025fa: 0c01 |001d: move-result-object v1 0025fc: 7020 b500 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.:(Ljava/lang/Object;)V // method@00b5 002602: 2700 |0021: throw v0 catches : (none) positions : 0x0000 line=34 0x0002 line=35 0x0003 line=37 locals : 0x0000 - 0x0022 reg=3 c1 C 0x0000 - 0x0022 reg=4 c2 C #3 : (in LTestBase;) name : 'assertEquals' type : '(DD)V' access : 0x0008 (STATIC) method_idx : 53 code - registers : 7 ins : 4 outs : 3 insns size : 36 16-bit code units 002604: |[002604] TestBase.assertEquals:(DD)V 002614: 2f00 0305 |0000: cmpl-double v0, v3, v5 002618: 3900 0300 |0002: if-nez v0, 0005 // +0003 00261c: 0e00 |0004: return-void 00261e: 2200 1e00 |0005: new-instance v0, Ljava/lang/AssertionError; // type@001e 002622: 2201 2d00 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@002d 002626: 7010 c100 0100 |0009: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@00c1 00262c: 1a02 d500 |000c: const-string v2, "assertEquals d1: " // string@00d5 002630: 6e20 c800 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 002636: 6e30 c300 3104 |0011: invoke-virtual {v1, v3, v4}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00c3 00263c: 1a02 0f00 |0014: const-string v2, ", d2: " // string@000f 002640: 6e20 c800 2100 |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 002646: 6e30 c300 5106 |0019: invoke-virtual {v1, v5, v6}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00c3 00264c: 6e10 ca00 0100 |001c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 002652: 0c01 |001f: move-result-object v1 002654: 7020 b500 1000 |0020: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.:(Ljava/lang/Object;)V // method@00b5 00265a: 2700 |0023: throw v0 catches : (none) positions : 0x0000 line=69 0x0004 line=70 0x0005 line=72 locals : 0x0000 - 0x0024 reg=3 d1 D 0x0000 - 0x0024 reg=5 d2 D #4 : (in LTestBase;) name : 'assertEquals' type : '(FF)V' access : 0x0008 (STATIC) method_idx : 54 code - registers : 5 ins : 2 outs : 2 insns size : 36 16-bit code units 00265c: |[00265c] TestBase.assertEquals:(FF)V 00266c: 2d00 0304 |0000: cmpl-float v0, v3, v4 002670: 3900 0300 |0002: if-nez v0, 0005 // +0003 002674: 0e00 |0004: return-void 002676: 2200 1e00 |0005: new-instance v0, Ljava/lang/AssertionError; // type@001e 00267a: 2201 2d00 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@002d 00267e: 7010 c100 0100 |0009: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@00c1 002684: 1a02 d600 |000c: const-string v2, "assertEquals f1: " // string@00d6 002688: 6e20 c800 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 00268e: 6e20 c400 3100 |0011: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00c4 002694: 1a02 1000 |0014: const-string v2, ", f2: " // string@0010 002698: 6e20 c800 2100 |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 00269e: 6e20 c400 4100 |0019: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00c4 0026a4: 6e10 ca00 0100 |001c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 0026aa: 0c01 |001f: move-result-object v1 0026ac: 7020 b500 1000 |0020: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.:(Ljava/lang/Object;)V // method@00b5 0026b2: 2700 |0023: throw v0 catches : (none) positions : 0x0000 line=62 0x0004 line=63 0x0005 line=65 locals : 0x0000 - 0x0024 reg=3 f1 F 0x0000 - 0x0024 reg=4 f2 F #5 : (in LTestBase;) name : 'assertEquals' type : '(II)V' access : 0x0008 (STATIC) method_idx : 55 code - registers : 5 ins : 2 outs : 2 insns size : 34 16-bit code units 0026b4: |[0026b4] TestBase.assertEquals:(II)V 0026c4: 3343 0300 |0000: if-ne v3, v4, 0003 // +0003 0026c8: 0e00 |0002: return-void 0026ca: 2200 1e00 |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e 0026ce: 2201 2d00 |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d 0026d2: 7010 c100 0100 |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@00c1 0026d8: 1a02 d700 |000a: const-string v2, "assertEquals i1: " // string@00d7 0026dc: 6e20 c800 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0026e2: 6e20 c500 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 0026e8: 1a02 1100 |0012: const-string v2, ", i2: " // string@0011 0026ec: 6e20 c800 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0026f2: 6e20 c500 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 0026f8: 6e10 ca00 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 0026fe: 0c01 |001d: move-result-object v1 002700: 7020 b500 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.:(Ljava/lang/Object;)V // method@00b5 002706: 2700 |0021: throw v0 catches : (none) positions : 0x0000 line=48 0x0002 line=49 0x0003 line=51 locals : 0x0000 - 0x0022 reg=3 i1 I 0x0000 - 0x0022 reg=4 i2 I #6 : (in LTestBase;) name : 'assertEquals' type : '(JJ)V' access : 0x0008 (STATIC) method_idx : 56 code - registers : 7 ins : 4 outs : 3 insns size : 36 16-bit code units 002764: |[002764] TestBase.assertEquals:(JJ)V 002774: 3100 0305 |0000: cmp-long v0, v3, v5 002778: 3900 0300 |0002: if-nez v0, 0005 // +0003 00277c: 0e00 |0004: return-void 00277e: 2200 1e00 |0005: new-instance v0, Ljava/lang/AssertionError; // type@001e 002782: 2201 2d00 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@002d 002786: 7010 c100 0100 |0009: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@00c1 00278c: 1a02 d800 |000c: const-string v2, "assertEquals l1: " // string@00d8 002790: 6e20 c800 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 002796: 6e30 c600 3104 |0011: invoke-virtual {v1, v3, v4}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00c6 00279c: 1a02 1200 |0014: const-string v2, ", l2: " // string@0012 0027a0: 6e20 c800 2100 |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0027a6: 6e30 c600 5106 |0019: invoke-virtual {v1, v5, v6}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00c6 0027ac: 6e10 ca00 0100 |001c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 0027b2: 0c01 |001f: move-result-object v1 0027b4: 7020 b500 1000 |0020: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.:(Ljava/lang/Object;)V // method@00b5 0027ba: 2700 |0023: throw v0 catches : (none) positions : 0x0000 line=55 0x0004 line=56 0x0005 line=58 locals : 0x0000 - 0x0024 reg=3 l1 J 0x0000 - 0x0024 reg=5 l2 J #7 : (in LTestBase;) name : 'assertEquals' type : '(Ljava/lang/Object;Ljava/lang/Object;)V' access : 0x0008 (STATIC) method_idx : 57 code - registers : 5 ins : 2 outs : 2 insns size : 38 16-bit code units 002708: |[002708] TestBase.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V 002718: 7120 ec00 4300 |0000: invoke-static {v3, v4}, Ljava/util/Objects;.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z // method@00ec 00271e: 0a00 |0003: move-result v0 002720: 3800 0300 |0004: if-eqz v0, 0007 // +0003 002724: 0e00 |0006: return-void 002726: 2200 1e00 |0007: new-instance v0, Ljava/lang/AssertionError; // type@001e 00272a: 2201 2d00 |0009: new-instance v1, Ljava/lang/StringBuilder; // type@002d 00272e: 7010 c100 0100 |000b: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@00c1 002734: 1a02 da00 |000e: const-string v2, "assertEquals: o1: " // string@00da 002738: 6e20 c800 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 00273e: 6e20 c700 3100 |0013: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7 002744: 1a02 1300 |0016: const-string v2, ", o2: " // string@0013 002748: 6e20 c800 2100 |0018: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 00274e: 6e20 c700 4100 |001b: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7 002754: 6e10 ca00 0100 |001e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 00275a: 0c01 |0021: move-result-object v1 00275c: 7020 b500 1000 |0022: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.:(Ljava/lang/Object;)V // method@00b5 002762: 2700 |0025: throw v0 catches : (none) positions : 0x0000 line=76 0x0006 line=79 0x0007 line=77 locals : 0x0000 - 0x0026 reg=3 o Ljava/lang/Object; 0x0000 - 0x0026 reg=4 p Ljava/lang/Object; #8 : (in LTestBase;) name : 'assertEquals' type : '(SS)V' access : 0x0008 (STATIC) method_idx : 58 code - registers : 5 ins : 2 outs : 2 insns size : 34 16-bit code units 0027bc: |[0027bc] TestBase.assertEquals:(SS)V 0027cc: 3343 0300 |0000: if-ne v3, v4, 0003 // +0003 0027d0: 0e00 |0002: return-void 0027d2: 2200 1e00 |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e 0027d6: 2201 2d00 |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d 0027da: 7010 c100 0100 |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@00c1 0027e0: 1a02 d900 |000a: const-string v2, "assertEquals s1: " // string@00d9 0027e4: 6e20 c800 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0027ea: 6e20 c500 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 0027f0: 1a02 1400 |0012: const-string v2, ", s2: " // string@0014 0027f4: 6e20 c800 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0027fa: 6e20 c500 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 002800: 6e10 ca00 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 002806: 0c01 |001d: move-result-object v1 002808: 7020 b500 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.:(Ljava/lang/Object;)V // method@00b5 00280e: 2700 |0021: throw v0 catches : (none) positions : 0x0000 line=41 0x0002 line=42 0x0003 line=44 locals : 0x0000 - 0x0022 reg=3 s1 S 0x0000 - 0x0022 reg=4 s2 S #9 : (in LTestBase;) name : 'assertNotEquals' type : '(Ljava/lang/Object;Ljava/lang/Object;)V' access : 0x0008 (STATIC) method_idx : 59 code - registers : 5 ins : 2 outs : 2 insns size : 38 16-bit code units 002810: |[002810] TestBase.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V 002820: 7120 ec00 4300 |0000: invoke-static {v3, v4}, Ljava/util/Objects;.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z // method@00ec 002826: 0a00 |0003: move-result v0 002828: 3900 0300 |0004: if-nez v0, 0007 // +0003 00282c: 0e00 |0006: return-void 00282e: 2200 1e00 |0007: new-instance v0, Ljava/lang/AssertionError; // type@001e 002832: 2201 2d00 |0009: new-instance v1, Ljava/lang/StringBuilder; // type@002d 002836: 7010 c100 0100 |000b: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@00c1 00283c: 1a02 dc00 |000e: const-string v2, "assertNotEquals: o1: " // string@00dc 002840: 6e20 c800 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 002846: 6e20 c700 3100 |0013: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7 00284c: 1a02 1300 |0016: const-string v2, ", o2: " // string@0013 002850: 6e20 c800 2100 |0018: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 002856: 6e20 c700 4100 |001b: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7 00285c: 6e10 ca00 0100 |001e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 002862: 0c01 |0021: move-result-object v1 002864: 7020 b500 1000 |0022: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.:(Ljava/lang/Object;)V // method@00b5 00286a: 2700 |0025: throw v0 catches : (none) positions : 0x0000 line=82 0x0006 line=85 0x0007 line=83 locals : 0x0000 - 0x0026 reg=3 o Ljava/lang/Object; 0x0000 - 0x0026 reg=4 p Ljava/lang/Object; #10 : (in LTestBase;) name : 'assertNotReached' type : '()V' access : 0x0008 (STATIC) method_idx : 60 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 00286c: |[00286c] TestBase.assertNotReached:()V 00287c: 2200 1e00 |0000: new-instance v0, Ljava/lang/AssertionError; // type@001e 002880: 1a01 a300 |0002: const-string v1, "Unreachable" // string@00a3 002884: 7020 b500 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.:(Ljava/lang/Object;)V // method@00b5 00288a: 2700 |0007: throw v0 catches : (none) positions : 0x0000 line=88 locals : #11 : (in LTestBase;) name : 'assertTrue' type : '(Z)V' access : 0x0008 (STATIC) method_idx : 61 code - registers : 4 ins : 1 outs : 2 insns size : 26 16-bit code units 00288c: |[00288c] TestBase.assertTrue:(Z)V 00289c: 3803 0300 |0000: if-eqz v3, 0003 // +0003 0028a0: 0e00 |0002: return-void 0028a2: 2200 1e00 |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e 0028a6: 2201 2d00 |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d 0028aa: 7010 c100 0100 |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@00c1 0028b0: 1a02 df00 |000a: const-string v2, "assertTrue value: " // string@00df 0028b4: 6e20 c800 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0028ba: 6e20 c900 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@00c9 0028c0: 6e10 ca00 0100 |0012: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 0028c6: 0c01 |0015: move-result-object v1 0028c8: 7020 b500 1000 |0016: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.:(Ljava/lang/Object;)V // method@00b5 0028ce: 2700 |0019: throw v0 catches : (none) positions : 0x0000 line=21 0x0002 line=24 0x0003 line=22 locals : 0x0000 - 0x001a reg=3 value Z #12 : (in LTestBase;) name : 'fail' type : '()V' access : 0x0008 (STATIC) method_idx : 62 code - registers : 2 ins : 0 outs : 2 insns size : 11 16-bit code units 0028d0: |[0028d0] TestBase.fail:()V 0028e0: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0028e4: 1a01 2601 |0002: const-string v1, "fail" // string@0126 0028e8: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 0028ee: 7100 cc00 0000 |0007: invoke-static {}, Ljava/lang/Thread;.dumpStack:()V // method@00cc 0028f4: 0e00 |000a: return-void catches : (none) positions : 0x0000 line=92 0x0007 line=93 0x000a line=94 locals : Virtual methods - source_file_idx : 145 (TestBase.java) Class #2 header: class_idx : 11 access_flags : 0 (0x0000) superclass_idx : 42 interfaces_off : 0 (0x000000) source_file_idx : 148 annotations_off : 30716 (0x0077fc) class_data_off : 28990 (0x00713e) static_fields_size : 0 instance_fields_size: 1 direct_methods_size : 1 virtual_methods_size: 0 Class #2 annotations: Annotations on class VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=LTestInvocationKinds; VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=8 name="Widget" Class #2 - Class descriptor : 'LTestInvocationKinds$Widget;' Access flags : 0x0000 () Superclass : 'Ljava/lang/Object;' Interfaces - Static fields - Instance fields - #0 : (in LTestInvocationKinds$Widget;) name : 'value' type : 'I' access : 0x0000 () Direct methods - #0 : (in LTestInvocationKinds$Widget;) name : '' type : '(I)V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 72 code - registers : 2 ins : 2 outs : 1 insns size : 4 16-bit code units 002abc: |[002abc] TestInvocationKinds$Widget.:(I)V 002acc: 7010 bf00 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@00bf 002ad2: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=177 locals : 0x0000 - 0x0004 reg=0 this LTestInvocationKinds$Widget; 0x0000 - 0x0004 reg=1 value I Virtual methods - source_file_idx : 148 (TestInvocationKinds.java) Class #3 header: class_idx : 13 access_flags : 0 (0x0000) superclass_idx : 48 interfaces_off : 0 (0x000000) source_file_idx : 149 annotations_off : 30732 (0x00780c) class_data_off : 29002 (0x00714a) static_fields_size : 0 instance_fields_size: 0 direct_methods_size : 1 virtual_methods_size: 2 Class #3 annotations: Annotations on class VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=LTestInvokeCustomWithConcurrentThreads; VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Ljava/lang/ThreadLocal<" "Ljava/lang/Integer;" ">;" } Class #3 - Class descriptor : 'LTestInvokeCustomWithConcurrentThreads$1;' Access flags : 0x0000 () Superclass : 'Ljava/lang/ThreadLocal;' Interfaces - Static fields - Instance fields - Direct methods - #0 : (in LTestInvokeCustomWithConcurrentThreads$1;) name : '' type : '()V' access : 0x10000 (CONSTRUCTOR) method_idx : 96 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 002ee8: |[002ee8] TestInvokeCustomWithConcurrentThreads$1.:()V 002ef8: 7010 cf00 0000 |0000: invoke-direct {v0}, Ljava/lang/ThreadLocal;.:()V // method@00cf 002efe: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=33 locals : 0x0000 - 0x0004 reg=0 this LTestInvokeCustomWithConcurrentThreads$1; Virtual methods - #0 : (in LTestInvokeCustomWithConcurrentThreads$1;) name : 'initialValue' type : '()Ljava/lang/Integer;' access : 0x0004 (PROTECTED) method_idx : 97 code - registers : 2 ins : 1 outs : 1 insns size : 13 16-bit code units 002ea0: |[002ea0] TestInvokeCustomWithConcurrentThreads$1.initialValue:()Ljava/lang/Integer; 002eb0: 7100 6500 0000 |0000: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.access$000:()Ljava/util/concurrent/atomic/AtomicInteger; // method@0065 002eb6: 0c00 |0003: move-result-object v0 002eb8: 6e10 f100 0000 |0004: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.getAndIncrement:()I // method@00f1 002ebe: 0a00 |0007: move-result v0 002ec0: 7110 bd00 0000 |0008: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 002ec6: 0c00 |000b: move-result-object v0 002ec8: 1100 |000c: return-object v0 catches : (none) positions : 0x0000 line=36 locals : 0x0000 - 0x000d reg=1 this LTestInvokeCustomWithConcurrentThreads$1; #1 : (in LTestInvokeCustomWithConcurrentThreads$1;) name : 'initialValue' type : '()Ljava/lang/Object;' access : 0x1044 (PROTECTED BRIDGE SYNTHETIC) method_idx : 98 code - registers : 2 ins : 1 outs : 1 insns size : 5 16-bit code units 002ecc: |[002ecc] TestInvokeCustomWithConcurrentThreads$1.initialValue:()Ljava/lang/Object; 002edc: 6e10 6100 0100 |0000: invoke-virtual {v1}, LTestInvokeCustomWithConcurrentThreads$1;.initialValue:()Ljava/lang/Integer; // method@0061 002ee2: 0c00 |0003: move-result-object v0 002ee4: 1100 |0004: return-object v0 catches : (none) positions : 0x0000 line=33 locals : 0x0000 - 0x0005 reg=1 this LTestInvokeCustomWithConcurrentThreads$1; source_file_idx : 149 (TestInvokeCustomWithConcurrentThreads.java) Class #4 header: class_idx : 19 access_flags : 0 (0x0000) superclass_idx : 42 interfaces_off : 0 (0x000000) source_file_idx : 164 annotations_off : 30748 (0x00781c) class_data_off : 29021 (0x00715d) static_fields_size : 0 instance_fields_size: 0 direct_methods_size : 2 virtual_methods_size: 0 Class #4 annotations: Annotations on method #170 'bsm' VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/invoke/MethodHandles$Lookup;" "Ljava/lang/String;" "Ljava/lang/invoke/MethodType;" "Ljava/lang/Class<" "*>;)" "Ljava/lang/invoke/CallSite;" } VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Class #4 - Class descriptor : 'LUnrelatedBSM;' Access flags : 0x0000 () Superclass : 'Ljava/lang/Object;' Interfaces - Static fields - Instance fields - Direct methods - #0 : (in LUnrelatedBSM;) name : '' type : '()V' access : 0x10000 (CONSTRUCTOR) method_idx : 169 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 003fc8: |[003fc8] UnrelatedBSM.:()V 003fd8: 7010 bf00 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@00bf 003fde: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=23 locals : 0x0000 - 0x0004 reg=0 this LUnrelatedBSM; #1 : (in LUnrelatedBSM;) name : 'bsm' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/CallSite;' access : 0x0008 (STATIC) method_idx : 170 code - registers : 6 ins : 4 outs : 4 insns size : 10 16-bit code units 003fa4: |[003fa4] UnrelatedBSM.bsm:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/CallSite; 003fb4: 6e40 d800 5243 |0000: invoke-virtual {v2, v5, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 003fba: 0c00 |0003: move-result-object v0 003fbc: 2201 3400 |0004: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 003fc0: 7020 d200 0100 |0006: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 003fc6: 1101 |0009: return-object v1 catches : (none) positions : 0x0000 line=27 0x0004 line=28 locals : 0x0000 - 0x0000 reg=5 (null) Ljava/lang/Class; 0x0004 - 0x000a reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x000a reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x000a reg=3 name Ljava/lang/String; 0x0000 - 0x000a reg=4 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x000a reg=5 target Ljava/lang/Class; Ljava/lang/Class<*>; Virtual methods - source_file_idx : 164 (UnrelatedBSM.java) Class #5 header: class_idx : 6 access_flags : 1 (0x0001) superclass_idx : 9 interfaces_off : 0 (0x000000) source_file_idx : 136 annotations_off : 30772 (0x007834) class_data_off : 29036 (0x00716c) static_fields_size : 0 instance_fields_size: 0 direct_methods_size : 5 virtual_methods_size: 0 Class #5 annotations: Annotations on method #1 'TestLinkerMethodMinimalArguments' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #2 'TestLinkerMethodMultipleArgumentTypes' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #3 'TestUninitializedCallSite' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #7 'main' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Class #5 - Class descriptor : 'LMain;' Access flags : 0x0001 (PUBLIC) Superclass : 'LTestBase;' Interfaces - Static fields - Instance fields - Direct methods - #0 : (in LMain;) name : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 0 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 001900: |[001900] Main.:()V 001910: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.:()V // method@0032 001916: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=21 locals : 0x0000 - 0x0004 reg=0 this LMain; #1 : (in LMain;) name : 'TestLinkerMethodMinimalArguments' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 1 code - registers : 4 ins : 0 outs : 3 insns size : 66 16-bit code units 001918: |[001918] Main.TestLinkerMethodMinimalArguments:()V 001928: 1210 |0000: const/4 v0, #int 1 // #1 00192a: 1301 0a00 |0001: const/16 v1, #int 10 // #a 00192e: 7130 7700 1001 |0003: invoke-static {v0, v1, v1}, LTestLinkerMethodMinimalArguments;.test:(III)V // method@0077 001934: 7100 0500 0000 |0006: invoke-static {}, LMain;.assertNotReached:()V // method@0005 00193a: 280f |0009: goto 0018 // +000f 00193c: 0d00 |000a: move-exception v0 00193e: 6e10 b600 0000 |000b: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 001944: 0c02 |000e: move-result-object v2 001946: 6e10 c000 0200 |000f: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 00194c: 0c02 |0012: move-result-object v2 00194e: 1c03 2200 |0013: const-class v3, Ljava/lang/ClassCastException; // type@0022 001952: 7120 0400 3200 |0015: invoke-static {v2, v3}, LMain;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0004 001958: 1220 |0018: const/4 v0, #int 2 // #2 00195a: 1302 0b00 |0019: const/16 v2, #int 11 // #b 00195e: 7130 7700 1002 |001b: invoke-static {v0, v1, v2}, LTestLinkerMethodMinimalArguments;.test:(III)V // method@0077 001964: 7100 0500 0000 |001e: invoke-static {}, LMain;.assertNotReached:()V // method@0005 00196a: 280f |0021: goto 0030 // +000f 00196c: 0d00 |0022: move-exception v0 00196e: 6e10 b600 0000 |0023: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 001974: 0c02 |0026: move-result-object v2 001976: 6e10 c000 0200 |0027: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 00197c: 0c02 |002a: move-result-object v2 00197e: 1c03 2600 |002b: const-class v3, Ljava/lang/InstantiationException; // type@0026 001982: 7120 0400 3200 |002d: invoke-static {v2, v3}, LMain;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0004 001988: 1230 |0030: const/4 v0, #int 3 // #3 00198a: 1302 0c00 |0031: const/16 v2, #int 12 // #c 00198e: 7130 7700 1002 |0033: invoke-static {v0, v1, v2}, LTestLinkerMethodMinimalArguments;.test:(III)V // method@0077 001994: 7100 0500 0000 |0036: invoke-static {}, LMain;.assertNotReached:()V // method@0005 00199a: 2802 |0039: goto 003b // +0002 00199c: 0d00 |003a: move-exception v0 00199e: 1200 |003b: const/4 v0, #int 0 // #0 0019a0: 1302 0d00 |003c: const/16 v2, #int 13 // #d 0019a4: 7130 7700 1002 |003e: invoke-static {v0, v1, v2}, LTestLinkerMethodMinimalArguments;.test:(III)V // method@0077 0019aa: 0e00 |0041: return-void catches : 3 0x0003 - 0x0009 Ljava/lang/BootstrapMethodError; -> 0x000a 0x001b - 0x0021 Ljava/lang/BootstrapMethodError; -> 0x0022 0x0033 - 0x0039 Ljava/lang/ArithmeticException; -> 0x003a positions : 0x0000 line=49 0x0006 line=53 0x0009 line=56 0x000a line=54 0x000b line=55 0x0018 line=59 0x001e line=61 0x0021 line=64 0x0022 line=62 0x0023 line=63 0x0030 line=67 0x0036 line=69 0x0039 line=71 0x003a line=70 0x003b line=73 0x0041 line=75 locals : 0x000b - 0x0018 reg=0 e Ljava/lang/BootstrapMethodError; 0x0023 - 0x0030 reg=0 e Ljava/lang/BootstrapMethodError; #2 : (in LMain;) name : 'TestLinkerMethodMultipleArgumentTypes' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 2 code - registers : 2 ins : 0 outs : 2 insns size : 22 16-bit code units 0019d0: |[0019d0] Main.TestLinkerMethodMultipleArgumentTypes:()V 0019e0: 1300 2100 |0000: const/16 v0, #int 33 // #21 0019e4: 1301 4300 |0002: const/16 v1, #int 67 // #43 0019e8: 7120 8400 1000 |0004: invoke-static {v0, v1}, LTestLinkerMethodMultipleArgumentTypes;.test:(II)V // method@0084 0019ee: 1300 f0d8 |0007: const/16 v0, #int -10000 // #d8f0 0019f2: 1301 e803 |0009: const/16 v1, #int 1000 // #3e8 0019f6: 7120 8400 1000 |000b: invoke-static {v0, v1}, LTestLinkerMethodMultipleArgumentTypes;.test:(II)V // method@0084 0019fc: 1300 18fc |000e: const/16 v0, #int -1000 // #fc18 001a00: 1301 1027 |0010: const/16 v1, #int 10000 // #2710 001a04: 7120 8400 1000 |0012: invoke-static {v0, v1}, LTestLinkerMethodMultipleArgumentTypes;.test:(II)V // method@0084 001a0a: 0e00 |0015: return-void catches : (none) positions : 0x0000 line=42 0x0007 line=43 0x000e line=44 0x0015 line=45 locals : #3 : (in LMain;) name : 'TestUninitializedCallSite' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 3 code - registers : 7 ins : 0 outs : 3 insns size : 78 16-bit code units 001a0c: |[001a0c] Main.TestUninitializedCallSite:()V 001a1c: 2200 3900 |0000: new-instance v0, Ljava/lang/invoke/MutableCallSite; // type@0039 001a20: 6201 1200 |0002: sget-object v1, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@0012 001a24: 7110 e100 0100 |0004: invoke-static {v1}, Ljava/lang/invoke/MethodType;.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType; // method@00e1 001a2a: 0c01 |0007: move-result-object v1 001a2c: 7020 e600 1000 |0008: invoke-direct {v0, v1}, Ljava/lang/invoke/MutableCallSite;.:(Ljava/lang/invoke/MethodType;)V // method@00e6 001a32: 6e10 d100 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/CallSite;.getTarget:()Ljava/lang/invoke/MethodHandle; // method@00d1 001a38: 0c01 |000e: move-result-object v1 001a3a: fa10 d300 0100 4100 |000f: invoke-polymorphic {v1}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, ()V // method@00d3, proto@0041 001a42: 7100 0600 0000 |0013: invoke-static {}, LMain;.fail:()V // method@0006 001a48: 2809 |0016: goto 001f // +0009 001a4a: 0d01 |0017: move-exception v1 001a4c: 6202 1300 |0018: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001a50: 1a03 2100 |001a: const-string v3, "Caught exception from uninitialized call site" // string@0021 001a54: 6e20 b300 3200 |001c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001a5a: 2201 3900 |001f: new-instance v1, Ljava/lang/invoke/MutableCallSite; // type@0039 001a5e: 1c02 2c00 |0021: const-class v2, Ljava/lang/String; // type@002c 001a62: 6203 1200 |0023: sget-object v3, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@0012 001a66: 1214 |0025: const/4 v4, #int 1 // #1 001a68: 2344 4600 |0026: new-array v4, v4, [Ljava/lang/Class; // type@0046 001a6c: 1205 |0028: const/4 v5, #int 0 // #0 001a6e: 6206 1100 |0029: sget-object v6, Ljava/lang/Character;.TYPE:Ljava/lang/Class; // field@0011 001a72: 4d06 0405 |002b: aput-object v6, v4, v5 001a76: 7130 e200 3204 |002d: invoke-static {v2, v3, v4}, Ljava/lang/invoke/MethodType;.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType; // method@00e2 001a7c: 0c02 |0030: move-result-object v2 001a7e: 7020 e600 2100 |0031: invoke-direct {v1, v2}, Ljava/lang/invoke/MutableCallSite;.:(Ljava/lang/invoke/MethodType;)V // method@00e6 001a84: 0710 |0034: move-object v0, v1 001a86: 6e10 d100 0000 |0035: invoke-virtual {v0}, Ljava/lang/invoke/CallSite;.getTarget:()Ljava/lang/invoke/MethodHandle; // method@00d1 001a8c: 0c01 |0038: move-result-object v1 001a8e: 1302 ff05 |0039: const/16 v2, #int 1535 // #5ff 001a92: 1303 6400 |003b: const/16 v3, #int 100 // #64 001a96: fa30 d300 2103 4800 |003d: invoke-polymorphic {v1, v2, v3}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (IC)V // method@00d3, proto@0048 001a9e: 7100 0600 0000 |0041: invoke-static {}, LMain;.fail:()V // method@0006 001aa4: 2809 |0044: goto 004d // +0009 001aa6: 0d01 |0045: move-exception v1 001aa8: 6202 1300 |0046: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001aac: 1a03 2100 |0048: const-string v3, "Caught exception from uninitialized call site" // string@0021 001ab0: 6e20 b300 3200 |004a: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001ab6: 0e00 |004d: return-void catches : 2 0x000b - 0x0016 Ljava/lang/IllegalStateException; -> 0x0017 0x0035 - 0x0044 Ljava/lang/IllegalStateException; -> 0x0045 positions : 0x0000 line=24 0x000b line=26 0x0013 line=27 0x0016 line=30 0x0017 line=28 0x0018 line=29 0x001f line=32 0x0035 line=34 0x0041 line=35 0x0044 line=38 0x0045 line=36 0x0046 line=37 0x004d line=39 locals : 0x0018 - 0x001f reg=1 e Ljava/lang/IllegalStateException; 0x0046 - 0x004d reg=1 e Ljava/lang/IllegalStateException; 0x000b - 0x004e reg=0 callSite Ljava/lang/invoke/CallSite; #4 : (in LMain;) name : 'main' type : '([Ljava/lang/String;)V' access : 0x0009 (PUBLIC STATIC) method_idx : 7 code - registers : 1 ins : 1 outs : 0 insns size : 28 16-bit code units 001ad0: |[001ad0] Main.main:([Ljava/lang/String;)V 001ae0: 7100 0300 0000 |0000: invoke-static {}, LMain;.TestUninitializedCallSite:()V // method@0003 001ae6: 7100 0100 0000 |0003: invoke-static {}, LMain;.TestLinkerMethodMinimalArguments:()V // method@0001 001aec: 7100 0200 0000 |0006: invoke-static {}, LMain;.TestLinkerMethodMultipleArgumentTypes:()V // method@0002 001af2: 7100 8c00 0000 |0009: invoke-static {}, LTestLinkerUnrelatedBSM;.test:()V // method@008c 001af8: 7100 6e00 0000 |000c: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.test:()V // method@006e 001afe: 7100 5b00 0000 |000f: invoke-static {}, LTestInvocationKinds;.test:()V // method@005b 001b04: 7100 4500 0000 |0012: invoke-static {}, LTestDynamicBootstrapArguments;.test:()V // method@0045 001b0a: 7100 2b00 0000 |0015: invoke-static {}, LTestBadBootstrapArguments;.test:()V // method@002b 001b10: 7100 a800 0000 |0018: invoke-static {}, LTestVariableArityLinkerMethod;.test:()V // method@00a8 001b16: 0e00 |001b: return-void catches : (none) positions : 0x0000 line=78 0x0003 line=79 0x0006 line=80 0x0009 line=81 0x000c line=82 0x000f line=83 0x0012 line=84 0x0015 line=85 0x0018 line=86 0x001b line=87 locals : 0x0000 - 0x001c reg=0 args [Ljava/lang/String; Virtual methods - source_file_idx : 136 (Main.java) Class #6 header: class_idx : 8 access_flags : 1 (0x0001) superclass_idx : 9 interfaces_off : 0 (0x000000) source_file_idx : 144 annotations_off : 30820 (0x007864) class_data_off : 29062 (0x007186) static_fields_size : 0 instance_fields_size: 0 direct_methods_size : 38 virtual_methods_size: 0 Class #6 annotations: Annotations on class VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ LTestBadBootstrapArguments$TestersConstantCallSite; } Annotations on method #14 'bsm' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #15 'bsmDJ' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #16 'bsmDoubleLong' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #19 'bsmReturningTestersConstantCallsite' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #21 'bsmZBCS' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #25 'invokeBoxingArguments' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmDoubleLong" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Double; Ljava/lang/Long; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; doubleValue={ 1.79769e+308 } Lannotations/Constant; longValue={ 9223372036854775807 } } fieldOrMethodName="boxingArguments" Annotations on method #26 'invokeExtraArguments' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 1 } Lannotations/Constant; stringValue={ "2" } Lannotations/Constant; intValue={ 3 } } fieldOrMethodName="extraArguments" Annotations on method #27 'invokeHappy' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ -1 } Lannotations/Constant; stringValue={ "very" } } fieldOrMethodName="happy" Annotations on method #28 'invokeIntegerReturnType' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmReturningInteger" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } returnType=Ljava/lang/Integer; } fieldOrMethodName="integerReturnType" Annotations on method #29 'invokeMissingParameterTypes' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I D } } constantArgumentsForBootstrapMethod={ } fieldOrMethodName="missingParameterTypes" VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/NoSuchMethodError; } Annotations on method #30 'invokeNarrowArguments' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmZBCS" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Z B C S } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; booleanValue={ true } Lannotations/Constant; byteValue={ 127 } Lannotations/Constant; charValue={ 65 } Lannotations/Constant; shortValue={ -32768 } } fieldOrMethodName="narrowArguments" Annotations on method #31 'invokeObjectReturnType' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmReturningObject" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } returnType=Ljava/lang/Object; } fieldOrMethodName="ObjectReturnType" Annotations on method #32 'invokeViaCustomCallSiteClass' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmReturningTestersConstantCallsite" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } returnType=LTestBadBootstrapArguments$TestersConstantCallSite; } fieldOrMethodName="sayHello" Annotations on method #33 'invokeVoidReturnType' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmReturningVoid" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } returnType=V } fieldOrMethodName="voidReturnType" Annotations on method #34 'invokeWideningArguments' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmDJ" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; D J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; doubleValue={ 1.79769e+308 } Lannotations/Constant; intValue={ 2147483647 } } fieldOrMethodName="wideningArguments" Annotations on method #35 'invokeWideningBoxingArguments' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmDoubleLong" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Double; Ljava/lang/Long; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; floatValue={ 3.40282e+38 } Lannotations/Constant; longValue={ 2147483647 } } fieldOrMethodName="wideningBoxingArguments" Annotations on method #36 'invokeWrongArguments' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; stringValue={ "1" } Lannotations/Constant; doubleValue={ 3.14159 } } fieldOrMethodName="wrongArguments" Annotations on method #37 'invokeWrongArgumentsAgain' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; doubleValue={ 3.14159 } Lannotations/Constant; stringValue={ "pie" } } fieldOrMethodName="wrongArgumentsAgain" Annotations on method #38 'invokeWrongParameterTypes' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I D } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ -1 } Lannotations/Constant; stringValue={ "very" } } fieldOrMethodName="wrongParameterTypes" VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/NoSuchMethodError; } Class #6 - Class descriptor : 'LTestBadBootstrapArguments;' Access flags : 0x0001 (PUBLIC) Superclass : 'LTestBase;' Interfaces - Static fields - Instance fields - Direct methods - #0 : (in LTestBadBootstrapArguments;) name : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 9 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 001d64: |[001d64] TestBadBootstrapArguments.:()V 001d74: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.:()V // method@0032 001d7a: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=27 locals : 0x0000 - 0x0004 reg=0 this LTestBadBootstrapArguments; #1 : (in LTestBadBootstrapArguments;) name : 'boxingArguments' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 12 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 001d7c: |[001d7c] TestBadBootstrapArguments.boxingArguments:()V 001d8c: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001d90: 1a01 e900 |0002: const-string v1, "boxingArguments" // string@00e9 001d94: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001d9a: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=348 0x0007 line=349 locals : #2 : (in LTestBadBootstrapArguments;) name : 'bsm' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ILjava/lang/String;)Ljava/lang/invoke/CallSite;' access : 0x000a (PRIVATE STATIC) method_idx : 14 code - registers : 7 ins : 5 outs : 4 insns size : 85 16-bit code units 001bb4: |[001bb4] TestBadBootstrapArguments.bsm:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ILjava/lang/String;)Ljava/lang/invoke/CallSite; 001bc4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001bc8: 1a01 ee00 |0002: const-string v1, "bsm(" // string@00ee 001bcc: 6e20 b000 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 001bd2: 6200 1300 |0007: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001bd6: 6e10 dc00 0200 |0009: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 001bdc: 0c01 |000c: move-result-object v1 001bde: 6e20 af00 1000 |000d: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 001be4: 6200 1300 |0010: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001be8: 1a01 0c00 |0012: const-string v1, ", " // string@000c 001bec: 6e20 b000 1000 |0014: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 001bf2: 6200 1300 |0017: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001bf6: 6e20 b000 3000 |0019: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 001bfc: 6200 1300 |001c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001c00: 1a01 0c00 |001e: const-string v1, ", " // string@000c 001c04: 6e20 b000 1000 |0020: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 001c0a: 6200 1300 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001c0e: 6e20 af00 4000 |0025: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 001c14: 6200 1300 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001c18: 1a01 0c00 |002a: const-string v1, ", " // string@000c 001c1c: 6e20 b000 1000 |002c: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 001c22: 6200 1300 |002f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001c26: 6e20 ad00 5000 |0031: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.print:(I)V // method@00ad 001c2c: 6200 1300 |0034: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001c30: 1a01 0c00 |0036: const-string v1, ", " // string@000c 001c34: 6e20 b000 1000 |0038: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 001c3a: 6200 1300 |003b: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001c3e: 6e20 b000 6000 |003d: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 001c44: 6200 1300 |0040: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001c48: 1a01 0700 |0042: const-string v1, ")" // string@0007 001c4c: 6e20 b300 1000 |0044: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001c52: 6e10 dc00 0200 |0047: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 001c58: 0c00 |004a: move-result-object v0 001c5a: 6e40 d800 0243 |004b: invoke-virtual {v2, v0, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 001c60: 0c00 |004e: move-result-object v0 001c62: 2201 3400 |004f: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 001c66: 7020 d200 0100 |0051: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 001c6c: 1101 |0054: return-object v1 catches : (none) positions : 0x0000 line=35 0x0007 line=36 0x0010 line=37 0x0017 line=38 0x001c line=39 0x0023 line=40 0x0028 line=41 0x002f line=42 0x0034 line=43 0x003b line=44 0x0040 line=45 0x0047 line=46 0x004f line=47 locals : 0x004f - 0x0055 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0055 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0055 reg=3 methodName Ljava/lang/String; 0x0000 - 0x0055 reg=4 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x0055 reg=5 extraInt I 0x0000 - 0x0055 reg=6 extraString Ljava/lang/String; #3 : (in LTestBadBootstrapArguments;) name : 'bsmDJ' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;DJ)Ljava/lang/invoke/CallSite;' access : 0x000a (PRIVATE STATIC) method_idx : 15 code - registers : 9 ins : 7 outs : 4 insns size : 45 16-bit code units 001c70: |[001c70] TestBadBootstrapArguments.bsmDJ:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;DJ)Ljava/lang/invoke/CallSite; 001c80: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001c84: 1a01 f100 |0002: const-string v1, "bsmDJ(..., " // string@00f1 001c88: 6e20 b000 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 001c8e: 6200 1300 |0007: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001c92: 6e30 ac00 5006 |0009: invoke-virtual {v0, v5, v6}, Ljava/io/PrintStream;.print:(D)V // method@00ac 001c98: 6200 1300 |000c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001c9c: 1a01 0c00 |000e: const-string v1, ", " // string@000c 001ca0: 6e20 b000 1000 |0010: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 001ca6: 6200 1300 |0013: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001caa: 6e30 ae00 7008 |0015: invoke-virtual {v0, v7, v8}, Ljava/io/PrintStream;.print:(J)V // method@00ae 001cb0: 6200 1300 |0018: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001cb4: 1a01 0700 |001a: const-string v1, ")" // string@0007 001cb8: 6e20 b300 1000 |001c: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001cbe: 6e10 dc00 0200 |001f: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 001cc4: 0c00 |0022: move-result-object v0 001cc6: 6e40 d800 0243 |0023: invoke-virtual {v2, v0, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 001ccc: 0c00 |0026: move-result-object v0 001cce: 2201 3400 |0027: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 001cd2: 7020 d200 0100 |0029: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 001cd8: 1101 |002c: return-object v1 catches : (none) positions : 0x0000 line=270 0x0007 line=271 0x000c line=272 0x0013 line=273 0x0018 line=274 0x001f line=275 0x0027 line=276 locals : 0x0027 - 0x002d reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x002d reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x002d reg=3 methodName Ljava/lang/String; 0x0000 - 0x002d reg=4 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x002d reg=5 extraArg0 D 0x0000 - 0x002d reg=7 extraArg1 J #4 : (in LTestBadBootstrapArguments;) name : 'bsmDoubleLong' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Double;Ljava/lang/Long;)Ljava/lang/invoke/CallSite;' access : 0x000a (PRIVATE STATIC) method_idx : 16 code - registers : 7 ins : 5 outs : 4 insns size : 45 16-bit code units 001cdc: |[001cdc] TestBadBootstrapArguments.bsmDoubleLong:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Double;Ljava/lang/Long;)Ljava/lang/invoke/CallSite; 001cec: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001cf0: 1a01 f300 |0002: const-string v1, "bsmDoubleLong(..., " // string@00f3 001cf4: 6e20 b000 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 001cfa: 6200 1300 |0007: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001cfe: 6e20 af00 5000 |0009: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 001d04: 6200 1300 |000c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001d08: 1a01 0c00 |000e: const-string v1, ", " // string@000c 001d0c: 6e20 b000 1000 |0010: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 001d12: 6200 1300 |0013: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001d16: 6e20 af00 6000 |0015: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 001d1c: 6200 1300 |0018: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001d20: 1a01 0700 |001a: const-string v1, ")" // string@0007 001d24: 6e20 b300 1000 |001c: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001d2a: 6e10 dc00 0200 |001f: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 001d30: 0c00 |0022: move-result-object v0 001d32: 6e40 d800 0243 |0023: invoke-virtual {v2, v0, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 001d38: 0c00 |0026: move-result-object v0 001d3a: 2201 3400 |0027: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 001d3e: 7020 d200 0100 |0029: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 001d44: 1101 |002c: return-object v1 catches : (none) positions : 0x0000 line=314 0x0007 line=315 0x000c line=316 0x0013 line=317 0x0018 line=318 0x001f line=319 0x0027 line=320 locals : 0x0027 - 0x002d reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x002d reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x002d reg=3 methodName Ljava/lang/String; 0x0000 - 0x002d reg=4 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x002d reg=5 extraArg0 Ljava/lang/Double; 0x0000 - 0x002d reg=6 extraArg1 Ljava/lang/Long; #5 : (in LTestBadBootstrapArguments;) name : 'bsmReturningInteger' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Integer;' access : 0x0008 (STATIC) method_idx : 17 code - registers : 5 ins : 3 outs : 2 insns size : 13 16-bit code units 001b5c: |[001b5c] TestBadBootstrapArguments.bsmReturningInteger:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Integer; 001b6c: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001b70: 1a01 eb00 |0002: const-string v1, "bsm returning Integer value." // string@00eb 001b74: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001b7a: 1230 |0007: const/4 v0, #int 3 // #3 001b7c: 7110 bd00 0000 |0008: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 001b82: 0c00 |000b: move-result-object v0 001b84: 1100 |000c: return-object v0 catches : (none) positions : 0x0000 line=425 0x0007 line=426 locals : 0x0000 - 0x000d reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x000d reg=3 name Ljava/lang/String; 0x0000 - 0x000d reg=4 type Ljava/lang/invoke/MethodType; #6 : (in LTestBadBootstrapArguments;) name : 'bsmReturningObject' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Object;' access : 0x0008 (STATIC) method_idx : 18 code - registers : 5 ins : 3 outs : 2 insns size : 13 16-bit code units 001b88: |[001b88] TestBadBootstrapArguments.bsmReturningObject:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Object; 001b98: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001b9c: 1a01 ec00 |0002: const-string v1, "bsm returning Object value." // string@00ec 001ba0: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001ba6: 2200 2a00 |0007: new-instance v0, Ljava/lang/Object; // type@002a 001baa: 7010 bf00 0000 |0009: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@00bf 001bb0: 1100 |000c: return-object v0 catches : (none) positions : 0x0000 line=402 0x0007 line=403 locals : 0x0000 - 0x000d reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x000d reg=3 name Ljava/lang/String; 0x0000 - 0x000d reg=4 type Ljava/lang/invoke/MethodType; #7 : (in LTestBadBootstrapArguments;) name : 'bsmReturningTestersConstantCallsite' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)LTestBadBootstrapArguments$TestersConstantCallSite;' access : 0x0008 (STATIC) method_idx : 19 code - registers : 5 ins : 3 outs : 4 insns size : 14 16-bit code units 001b30: |[001b30] TestBadBootstrapArguments.bsmReturningTestersConstantCallsite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)LTestBadBootstrapArguments$TestersConstantCallSite; 001b40: 2200 0700 |0000: new-instance v0, LTestBadBootstrapArguments$TestersConstantCallSite; // type@0007 001b44: 6e10 dc00 0200 |0002: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 001b4a: 0c01 |0005: move-result-object v1 001b4c: 6e40 d800 1243 |0006: invoke-virtual {v2, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 001b52: 0c01 |0009: move-result-object v1 001b54: 7020 0800 1000 |000a: invoke-direct {v0, v1}, LTestBadBootstrapArguments$TestersConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@0008 001b5a: 1100 |000d: return-object v0 catches : (none) positions : 0x0000 line=455 locals : 0x0000 - 0x000e reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x000e reg=3 name Ljava/lang/String; 0x0000 - 0x000e reg=4 type Ljava/lang/invoke/MethodType; #8 : (in LTestBadBootstrapArguments;) name : 'bsmReturningVoid' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V' access : 0x0008 (STATIC) method_idx : 20 code - registers : 5 ins : 3 outs : 2 insns size : 8 16-bit code units 001d9c: |[001d9c] TestBadBootstrapArguments.bsmReturningVoid:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V 001dac: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001db0: 1a01 ed00 |0002: const-string v1, "bsm returning void value." // string@00ed 001db4: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001dba: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=380 0x0007 line=381 locals : 0x0000 - 0x0008 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0008 reg=3 name Ljava/lang/String; 0x0000 - 0x0008 reg=4 type Ljava/lang/invoke/MethodType; #9 : (in LTestBadBootstrapArguments;) name : 'bsmZBCS' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ZBCS)Ljava/lang/invoke/CallSite;' access : 0x000a (PRIVATE STATIC) method_idx : 21 code - registers : 8 ins : 7 outs : 0 insns size : 5 16-bit code units 001d48: |[001d48] TestBadBootstrapArguments.bsmZBCS:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ZBCS)Ljava/lang/invoke/CallSite; 001d58: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001d5e: 1200 |0003: const/4 v0, #int 0 // #0 001d60: 1100 |0004: return-object v0 catches : (none) positions : 0x0000 line=227 0x0003 line=228 locals : 0x0000 - 0x0005 reg=1 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0005 reg=2 methodName Ljava/lang/String; 0x0000 - 0x0005 reg=3 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x0005 reg=4 extraArg0 Z 0x0000 - 0x0005 reg=5 extraArg1 B 0x0000 - 0x0005 reg=6 extraArg2 C 0x0000 - 0x0005 reg=7 extraArg3 S #10 : (in LTestBadBootstrapArguments;) name : 'extraArguments' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 22 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 001dbc: |[001dbc] TestBadBootstrapArguments.extraArguments:()V 001dcc: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001dd0: 1a01 2001 |0002: const-string v1, "extraArguments" // string@0120 001dd4: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001dda: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=158 0x0007 line=159 locals : #11 : (in LTestBadBootstrapArguments;) name : 'happy' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 23 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 001ddc: |[001ddc] TestBadBootstrapArguments.happy:()V 001dec: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001df0: 1a01 3d01 |0002: const-string v1, "happy" // string@013d 001df4: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001dfa: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=74 0x0007 line=75 locals : #12 : (in LTestBadBootstrapArguments;) name : 'integerReturnType' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 24 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001dfc: |[001dfc] TestBadBootstrapArguments.integerReturnType:()V 001e0c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001e12: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=444 0x0003 line=445 locals : #13 : (in LTestBadBootstrapArguments;) name : 'invokeBoxingArguments' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 25 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001e14: |[001e14] TestBadBootstrapArguments.invokeBoxingArguments:()V 001e24: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001e2a: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=344 0x0003 line=345 locals : #14 : (in LTestBadBootstrapArguments;) name : 'invokeExtraArguments' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 26 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001e2c: |[001e2c] TestBadBootstrapArguments.invokeExtraArguments:()V 001e3c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001e42: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=154 0x0003 line=155 locals : #15 : (in LTestBadBootstrapArguments;) name : 'invokeHappy' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 27 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001e44: |[001e44] TestBadBootstrapArguments.invokeHappy:()V 001e54: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001e5a: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=70 0x0003 line=71 locals : #16 : (in LTestBadBootstrapArguments;) name : 'invokeIntegerReturnType' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 28 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001e5c: |[001e5c] TestBadBootstrapArguments.invokeIntegerReturnType:()V 001e6c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001e72: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=440 0x0003 line=441 locals : #17 : (in LTestBadBootstrapArguments;) name : 'invokeMissingParameterTypes' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 29 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001e74: |[001e74] TestBadBootstrapArguments.invokeMissingParameterTypes:()V 001e84: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001e8a: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=124 0x0003 line=125 locals : #18 : (in LTestBadBootstrapArguments;) name : 'invokeNarrowArguments' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 30 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001e8c: |[001e8c] TestBadBootstrapArguments.invokeNarrowArguments:()V 001e9c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001ea2: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=256 0x0003 line=257 locals : #19 : (in LTestBadBootstrapArguments;) name : 'invokeObjectReturnType' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 31 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001ea4: |[001ea4] TestBadBootstrapArguments.invokeObjectReturnType:()V 001eb4: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001eba: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=417 0x0003 line=418 locals : #20 : (in LTestBadBootstrapArguments;) name : 'invokeViaCustomCallSiteClass' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 32 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001ebc: |[001ebc] TestBadBootstrapArguments.invokeViaCustomCallSiteClass:()V 001ecc: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001ed2: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=469 0x0003 line=470 locals : #21 : (in LTestBadBootstrapArguments;) name : 'invokeVoidReturnType' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 33 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001ed4: |[001ed4] TestBadBootstrapArguments.invokeVoidReturnType:()V 001ee4: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001eea: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=394 0x0003 line=395 locals : #22 : (in LTestBadBootstrapArguments;) name : 'invokeWideningArguments' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 34 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001eec: |[001eec] TestBadBootstrapArguments.invokeWideningArguments:()V 001efc: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001f02: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=300 0x0003 line=301 locals : #23 : (in LTestBadBootstrapArguments;) name : 'invokeWideningBoxingArguments' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 35 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001f04: |[001f04] TestBadBootstrapArguments.invokeWideningBoxingArguments:()V 001f14: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001f1a: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=372 0x0003 line=373 locals : #24 : (in LTestBadBootstrapArguments;) name : 'invokeWrongArguments' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 36 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001f1c: |[001f1c] TestBadBootstrapArguments.invokeWrongArguments:()V 001f2c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001f32: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=182 0x0003 line=183 locals : #25 : (in LTestBadBootstrapArguments;) name : 'invokeWrongArgumentsAgain' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 37 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001f34: |[001f34] TestBadBootstrapArguments.invokeWrongArgumentsAgain:()V 001f44: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001f4a: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=210 0x0003 line=211 locals : #26 : (in LTestBadBootstrapArguments;) name : 'invokeWrongParameterTypes' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 38 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001f4c: |[001f4c] TestBadBootstrapArguments.invokeWrongParameterTypes:()V 001f5c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001f62: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=98 0x0003 line=99 locals : #27 : (in LTestBadBootstrapArguments;) name : 'missingParameterTypes' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 39 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 001f64: |[001f64] TestBadBootstrapArguments.missingParameterTypes:()V 001f74: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001f78: 1a01 8c01 |0002: const-string v1, "missingParameterTypes" // string@018c 001f7c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001f82: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=128 0x0007 line=129 locals : #28 : (in LTestBadBootstrapArguments;) name : 'narrowArguments' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 40 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001f84: |[001f84] TestBadBootstrapArguments.narrowArguments:()V 001f94: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001f9a: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=260 0x0003 line=261 locals : #29 : (in LTestBadBootstrapArguments;) name : 'objectReturnType' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 41 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 001f9c: |[001f9c] TestBadBootstrapArguments.objectReturnType:()V 001fac: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 001fb2: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=421 0x0003 line=422 locals : #30 : (in LTestBadBootstrapArguments;) name : 'sayHello' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 42 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 001fb4: |[001fb4] TestBadBootstrapArguments.sayHello:()V 001fc4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001fc8: 1a01 2d00 |0002: const-string v1, "Hello!" // string@002d 001fcc: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001fd2: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=473 0x0007 line=474 locals : #31 : (in LTestBadBootstrapArguments;) name : 'test' type : '()V' access : 0x0008 (STATIC) method_idx : 43 code - registers : 3 ins : 0 outs : 2 insns size : 529 16-bit code units 001fd4: |[001fd4] TestBadBootstrapArguments.test:()V 001fe4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 001fe8: 1a01 8f00 |0002: const-string v1, "TestBadBootstrapArguments" // string@008f 001fec: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 001ff2: fc00 0000 0000 |0007: invoke-custom {}, call_site@0000 001ff8: fc00 0100 0000 |000a: invoke-custom {}, call_site@0001 001ffe: 7100 0b00 0000 |000d: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 002004: 2812 |0010: goto 0022 // +0012 002006: 0d00 |0011: move-exception v0 002008: 6201 1300 |0012: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00200c: 1a02 6101 |0014: const-string v2, "invokeWrongParameterTypes => " // string@0161 002010: 6e20 b000 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002016: 6201 1300 |0019: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00201a: 6e10 c000 0000 |001b: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 002020: 0c02 |001e: move-result-object v2 002022: 6e20 b200 2100 |001f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 002028: fc00 0200 0000 |0022: invoke-custom {}, call_site@0002 00202e: 7100 0b00 0000 |0025: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 002034: 2812 |0028: goto 003a // +0012 002036: 0d00 |0029: move-exception v0 002038: 6201 1300 |002a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00203c: 1a02 5101 |002c: const-string v2, "invokeMissingParameterTypes => " // string@0151 002040: 6e20 b000 2100 |002e: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002046: 6201 1300 |0031: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00204a: 6e10 c000 0000 |0033: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 002050: 0c02 |0036: move-result-object v2 002052: 6e20 b200 2100 |0037: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 002058: fc00 0300 0000 |003a: invoke-custom {}, call_site@0003 00205e: 7100 0b00 0000 |003d: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 002064: 2833 |0040: goto 0073 // +0033 002066: 0d00 |0041: move-exception v0 002068: 1c01 3a00 |0042: const-class v1, Ljava/lang/invoke/WrongMethodTypeException; // type@003a 00206c: 6e10 b600 0000 |0044: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 002072: 0c02 |0047: move-result-object v2 002074: 6e10 c000 0200 |0048: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 00207a: 0c02 |004b: move-result-object v2 00207c: 7120 0a00 2100 |004c: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a 002082: 6201 1300 |004f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002086: 1a02 4c01 |0051: const-string v2, "invokeExtraArguments => " // string@014c 00208a: 6e20 b000 2100 |0053: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002090: 6201 1300 |0056: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002094: 6e10 c000 0000 |0058: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 00209a: 0c02 |005b: move-result-object v2 00209c: 6e20 af00 2100 |005c: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 0020a2: 6201 1300 |005f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0020a6: 1a02 0200 |0061: const-string v2, " => " // string@0002 0020aa: 6e20 b000 2100 |0063: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 0020b0: 6201 1300 |0066: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0020b4: 6e10 b600 0000 |0068: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 0020ba: 0c02 |006b: move-result-object v2 0020bc: 6e10 c000 0200 |006c: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 0020c2: 0c02 |006f: move-result-object v2 0020c4: 6e20 b200 2100 |0070: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 0020ca: fc00 0400 0000 |0073: invoke-custom {}, call_site@0004 0020d0: 7100 0b00 0000 |0076: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 0020d6: 2833 |0079: goto 00ac // +0033 0020d8: 0d00 |007a: move-exception v0 0020da: 1c01 2200 |007b: const-class v1, Ljava/lang/ClassCastException; // type@0022 0020de: 6e10 b600 0000 |007d: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 0020e4: 0c02 |0080: move-result-object v2 0020e6: 6e10 c000 0200 |0081: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 0020ec: 0c02 |0084: move-result-object v2 0020ee: 7120 0a00 2100 |0085: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a 0020f4: 6201 1300 |0088: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0020f8: 1a02 5d01 |008a: const-string v2, "invokeWrongArguments => " // string@015d 0020fc: 6e20 b000 2100 |008c: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002102: 6201 1300 |008f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002106: 6e10 c000 0000 |0091: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 00210c: 0c02 |0094: move-result-object v2 00210e: 6e20 af00 2100 |0095: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 002114: 6201 1300 |0098: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002118: 1a02 0200 |009a: const-string v2, " => " // string@0002 00211c: 6e20 b000 2100 |009c: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002122: 6201 1300 |009f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002126: 6e10 b600 0000 |00a1: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 00212c: 0c02 |00a4: move-result-object v2 00212e: 6e10 c000 0200 |00a5: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 002134: 0c02 |00a8: move-result-object v2 002136: 6e20 b200 2100 |00a9: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 00213c: fc00 0500 0000 |00ac: invoke-custom {}, call_site@0005 002142: 7100 0b00 0000 |00af: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 002148: 2833 |00b2: goto 00e5 // +0033 00214a: 0d00 |00b3: move-exception v0 00214c: 1c01 2200 |00b4: const-class v1, Ljava/lang/ClassCastException; // type@0022 002150: 6e10 b600 0000 |00b6: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 002156: 0c02 |00b9: move-result-object v2 002158: 6e10 c000 0200 |00ba: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 00215e: 0c02 |00bd: move-result-object v2 002160: 7120 0a00 2100 |00be: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a 002166: 6201 1300 |00c1: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00216a: 1a02 5d01 |00c3: const-string v2, "invokeWrongArguments => " // string@015d 00216e: 6e20 b000 2100 |00c5: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002174: 6201 1300 |00c8: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002178: 6e10 c000 0000 |00ca: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 00217e: 0c02 |00cd: move-result-object v2 002180: 6e20 af00 2100 |00ce: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 002186: 6201 1300 |00d1: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00218a: 1a02 0200 |00d3: const-string v2, " => " // string@0002 00218e: 6e20 b000 2100 |00d5: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002194: 6201 1300 |00d8: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002198: 6e10 b600 0000 |00da: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 00219e: 0c02 |00dd: move-result-object v2 0021a0: 6e10 c000 0200 |00de: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 0021a6: 0c02 |00e1: move-result-object v2 0021a8: 6e20 b200 2100 |00e2: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 0021ae: fc00 0600 0000 |00e5: invoke-custom {}, call_site@0006 0021b4: 7100 0b00 0000 |00e8: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 0021ba: 2833 |00eb: goto 011e // +0033 0021bc: 0d00 |00ec: move-exception v0 0021be: 1c01 2200 |00ed: const-class v1, Ljava/lang/ClassCastException; // type@0022 0021c2: 6e10 b600 0000 |00ef: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 0021c8: 0c02 |00f2: move-result-object v2 0021ca: 6e10 c000 0200 |00f3: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 0021d0: 0c02 |00f6: move-result-object v2 0021d2: 7120 0a00 2100 |00f7: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a 0021d8: 6201 1300 |00fa: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0021dc: 1a02 5f01 |00fc: const-string v2, "invokeWrongArgumentsAgain => " // string@015f 0021e0: 6e20 b000 2100 |00fe: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 0021e6: 6201 1300 |0101: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0021ea: 6e10 c000 0000 |0103: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 0021f0: 0c02 |0106: move-result-object v2 0021f2: 6e20 af00 2100 |0107: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 0021f8: 6201 1300 |010a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0021fc: 1a02 0200 |010c: const-string v2, " => " // string@0002 002200: 6e20 b000 2100 |010e: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002206: 6201 1300 |0111: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00220a: 6e10 b600 0000 |0113: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 002210: 0c02 |0116: move-result-object v2 002212: 6e10 c000 0200 |0117: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 002218: 0c02 |011a: move-result-object v2 00221a: 6e20 b200 2100 |011b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 002220: fc00 0700 0000 |011e: invoke-custom {}, call_site@0007 002226: 7100 0b00 0000 |0121: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 00222c: 2833 |0124: goto 0157 // +0033 00222e: 0d00 |0125: move-exception v0 002230: 1c01 2200 |0126: const-class v1, Ljava/lang/ClassCastException; // type@0022 002234: 6e10 b600 0000 |0128: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 00223a: 0c02 |012b: move-result-object v2 00223c: 6e10 c000 0200 |012c: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 002242: 0c02 |012f: move-result-object v2 002244: 7120 0a00 2100 |0130: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a 00224a: 6201 1300 |0133: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00224e: 1a02 5301 |0135: const-string v2, "invokeNarrowArguments => " // string@0153 002252: 6e20 b000 2100 |0137: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002258: 6201 1300 |013a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00225c: 6e10 c000 0000 |013c: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 002262: 0c02 |013f: move-result-object v2 002264: 6e20 af00 2100 |0140: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 00226a: 6201 1300 |0143: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00226e: 1a02 0200 |0145: const-string v2, " => " // string@0002 002272: 6e20 b000 2100 |0147: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002278: 6201 1300 |014a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00227c: 6e10 b600 0000 |014c: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 002282: 0c02 |014f: move-result-object v2 002284: 6e10 c000 0200 |0150: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 00228a: 0c02 |0153: move-result-object v2 00228c: 6e20 b200 2100 |0154: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 002292: fc00 0800 0000 |0157: invoke-custom {}, call_site@0008 002298: fc00 0900 0000 |015a: invoke-custom {}, call_site@0009 00229e: fc00 0a00 0000 |015d: invoke-custom {}, call_site@000a 0022a4: 7100 0b00 0000 |0160: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 0022aa: 2826 |0163: goto 0189 // +0026 0022ac: 0d00 |0164: move-exception v0 0022ae: 6201 1300 |0165: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0022b2: 1a02 5b01 |0167: const-string v2, "invokeWideningBoxingArguments => " // string@015b 0022b6: 6e20 b000 2100 |0169: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 0022bc: 6201 1300 |016c: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0022c0: 6e10 c000 0000 |016e: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 0022c6: 0c02 |0171: move-result-object v2 0022c8: 6e20 af00 2100 |0172: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 0022ce: 6201 1300 |0175: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0022d2: 1a02 0200 |0177: const-string v2, " => " // string@0002 0022d6: 6e20 b000 2100 |0179: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 0022dc: 6201 1300 |017c: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0022e0: 6e10 b600 0000 |017e: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 0022e6: 0c02 |0181: move-result-object v2 0022e8: 6e10 c000 0200 |0182: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 0022ee: 0c02 |0185: move-result-object v2 0022f0: 6e20 b200 2100 |0186: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 0022f6: fc00 0b00 0000 |0189: invoke-custom {}, call_site@000b 0022fc: 7100 0b00 0000 |018c: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 002302: 2826 |018f: goto 01b5 // +0026 002304: 0d00 |0190: move-exception v0 002306: 6201 1300 |0191: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00230a: 1a02 5801 |0193: const-string v2, "invokeVoidReturnType() => " // string@0158 00230e: 6e20 b000 2100 |0195: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002314: 6201 1300 |0198: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002318: 6e10 c000 0000 |019a: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 00231e: 0c02 |019d: move-result-object v2 002320: 6e20 af00 2100 |019e: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 002326: 6201 1300 |01a1: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00232a: 1a02 0200 |01a3: const-string v2, " => " // string@0002 00232e: 6e20 b000 2100 |01a5: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002334: 6201 1300 |01a8: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002338: 6e10 b600 0000 |01aa: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 00233e: 0c02 |01ad: move-result-object v2 002340: 6e10 c000 0200 |01ae: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 002346: 0c02 |01b1: move-result-object v2 002348: 6e20 b200 2100 |01b2: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 00234e: fc00 0c00 0000 |01b5: invoke-custom {}, call_site@000c 002354: 7100 0b00 0000 |01b8: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 00235a: 2826 |01bb: goto 01e1 // +0026 00235c: 0d00 |01bc: move-exception v0 00235e: 6201 1300 |01bd: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002362: 1a02 5501 |01bf: const-string v2, "invokeObjectReturnType() => " // string@0155 002366: 6e20 b000 2100 |01c1: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 00236c: 6201 1300 |01c4: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002370: 6e10 c000 0000 |01c6: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 002376: 0c02 |01c9: move-result-object v2 002378: 6e20 af00 2100 |01ca: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 00237e: 6201 1300 |01cd: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002382: 1a02 0200 |01cf: const-string v2, " => " // string@0002 002386: 6e20 b000 2100 |01d1: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 00238c: 6201 1300 |01d4: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002390: 6e10 b600 0000 |01d6: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 002396: 0c02 |01d9: move-result-object v2 002398: 6e10 c000 0200 |01da: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 00239e: 0c02 |01dd: move-result-object v2 0023a0: 6e20 b200 2100 |01de: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 0023a6: fc00 0d00 0000 |01e1: invoke-custom {}, call_site@000d 0023ac: 7100 0b00 0000 |01e4: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 0023b2: 2826 |01e7: goto 020d // +0026 0023b4: 0d00 |01e8: move-exception v0 0023b6: 6201 1300 |01e9: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0023ba: 1a02 4f01 |01eb: const-string v2, "invokeIntegerReturnType() => " // string@014f 0023be: 6e20 b000 2100 |01ed: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 0023c4: 6201 1300 |01f0: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0023c8: 6e10 c000 0000 |01f2: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 0023ce: 0c02 |01f5: move-result-object v2 0023d0: 6e20 af00 2100 |01f6: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 0023d6: 6201 1300 |01f9: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0023da: 1a02 0200 |01fb: const-string v2, " => " // string@0002 0023de: 6e20 b000 2100 |01fd: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 0023e4: 6201 1300 |0200: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0023e8: 6e10 b600 0000 |0202: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 0023ee: 0c02 |0205: move-result-object v2 0023f0: 6e10 c000 0200 |0206: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 0023f6: 0c02 |0209: move-result-object v2 0023f8: 6e20 b200 2100 |020a: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 0023fe: fc00 0e00 0000 |020d: invoke-custom {}, call_site@000e 002404: 0e00 |0210: return-void catches : 11 0x000a - 0x0010 Ljava/lang/NoSuchMethodError; -> 0x0011 0x0022 - 0x0028 Ljava/lang/NoSuchMethodError; -> 0x0029 0x003a - 0x0040 Ljava/lang/BootstrapMethodError; -> 0x0041 0x0073 - 0x0079 Ljava/lang/BootstrapMethodError; -> 0x007a 0x00ac - 0x00b2 Ljava/lang/BootstrapMethodError; -> 0x00b3 0x00e5 - 0x00eb Ljava/lang/BootstrapMethodError; -> 0x00ec 0x011e - 0x0124 Ljava/lang/BootstrapMethodError; -> 0x0125 0x015d - 0x0163 Ljava/lang/BootstrapMethodError; -> 0x0164 0x0189 - 0x018f Ljava/lang/BootstrapMethodError; -> 0x0190 0x01b5 - 0x01bb Ljava/lang/BootstrapMethodError; -> 0x01bc 0x01e1 - 0x01e7 Ljava/lang/BootstrapMethodError; -> 0x01e8 positions : 0x0000 line=477 0x0007 line=478 0x000a line=480 0x000d line=481 0x0010 line=485 0x0011 line=482 0x0012 line=483 0x0019 line=484 0x0022 line=487 0x0025 line=488 0x0028 line=492 0x0029 line=489 0x002a line=490 0x0031 line=491 0x003a line=494 0x003d line=495 0x0040 line=502 0x0041 line=496 0x0042 line=497 0x004f line=498 0x0056 line=499 0x005f line=500 0x0066 line=501 0x0073 line=504 0x0076 line=505 0x0079 line=512 0x007a line=506 0x007b line=507 0x0088 line=508 0x008f line=509 0x0098 line=510 0x009f line=511 0x00ac line=514 0x00af line=515 0x00b2 line=522 0x00b3 line=516 0x00b4 line=517 0x00c1 line=518 0x00c8 line=519 0x00d1 line=520 0x00d8 line=521 0x00e5 line=524 0x00e8 line=525 0x00eb line=532 0x00ec line=526 0x00ed line=527 0x00fa line=528 0x0101 line=529 0x010a line=530 0x0111 line=531 0x011e line=534 0x0121 line=535 0x0124 line=542 0x0125 line=536 0x0126 line=537 0x0133 line=538 0x013a line=539 0x0143 line=540 0x014a line=541 0x0157 line=543 0x015a line=544 0x015d line=546 0x0160 line=547 0x0163 line=553 0x0164 line=548 0x0165 line=549 0x016c line=550 0x0175 line=551 0x017c line=552 0x0189 line=555 0x018c line=556 0x018f line=562 0x0190 line=557 0x0191 line=558 0x0198 line=559 0x01a1 line=560 0x01a8 line=561 0x01b5 line=564 0x01b8 line=565 0x01bb line=571 0x01bc line=566 0x01bd line=567 0x01c4 line=568 0x01cd line=569 0x01d4 line=570 0x01e1 line=573 0x01e4 line=574 0x01e7 line=580 0x01e8 line=575 0x01e9 line=576 0x01f0 line=577 0x01f9 line=578 0x0200 line=579 0x020d line=581 0x0210 line=582 locals : 0x0012 - 0x0022 reg=0 expected Ljava/lang/NoSuchMethodError; 0x002a - 0x003a reg=0 expected Ljava/lang/NoSuchMethodError; 0x0042 - 0x0073 reg=0 expected Ljava/lang/BootstrapMethodError; 0x007b - 0x00ac reg=0 expected Ljava/lang/BootstrapMethodError; 0x00b4 - 0x00e5 reg=0 expected Ljava/lang/BootstrapMethodError; 0x00ed - 0x011e reg=0 expected Ljava/lang/BootstrapMethodError; 0x0126 - 0x0157 reg=0 expected Ljava/lang/BootstrapMethodError; 0x0165 - 0x0189 reg=0 expected Ljava/lang/BootstrapMethodError; 0x0191 - 0x01b5 reg=0 expected Ljava/lang/BootstrapMethodError; 0x01bd - 0x01e1 reg=0 expected Ljava/lang/BootstrapMethodError; 0x01e9 - 0x020d reg=0 expected Ljava/lang/BootstrapMethodError; #32 : (in LTestBadBootstrapArguments;) name : 'voidReturnType' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 44 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 00248c: |[00248c] TestBadBootstrapArguments.voidReturnType:()V 00249c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 0024a2: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=398 0x0003 line=399 locals : #33 : (in LTestBadBootstrapArguments;) name : 'wideningArguments' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 45 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 0024a4: |[0024a4] TestBadBootstrapArguments.wideningArguments:()V 0024b4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0024b8: 1a01 d101 |0002: const-string v1, "wideningArguments" // string@01d1 0024bc: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 0024c2: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=304 0x0007 line=305 locals : #34 : (in LTestBadBootstrapArguments;) name : 'wideningBoxingArguments' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 46 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 0024c4: |[0024c4] TestBadBootstrapArguments.wideningBoxingArguments:()V 0024d4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0024d8: 1a01 d201 |0002: const-string v1, "wideningBoxingArguments" // string@01d2 0024dc: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 0024e2: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=376 0x0007 line=377 locals : #35 : (in LTestBadBootstrapArguments;) name : 'wrongArguments' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 47 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 0024e4: |[0024e4] TestBadBootstrapArguments.wrongArguments:()V 0024f4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0024f8: 1a01 d401 |0002: const-string v1, "wrongArguments" // string@01d4 0024fc: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 002502: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=186 0x0007 line=187 locals : #36 : (in LTestBadBootstrapArguments;) name : 'wrongArgumentsAgain' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 48 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 002504: |[002504] TestBadBootstrapArguments.wrongArgumentsAgain:()V 002514: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002518: 1a01 d501 |0002: const-string v1, "wrongArgumentsAgain" // string@01d5 00251c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 002522: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=214 0x0007 line=215 locals : #37 : (in LTestBadBootstrapArguments;) name : 'wrongParameterTypes' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 49 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 002524: |[002524] TestBadBootstrapArguments.wrongParameterTypes:()V 002534: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002538: 1a01 d601 |0002: const-string v1, "wrongParameterTypes" // string@01d6 00253c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 002542: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=102 0x0007 line=103 locals : Virtual methods - source_file_idx : 144 (TestBadBootstrapArguments.java) Class #7 header: class_idx : 10 access_flags : 0 (0x0000) superclass_idx : 9 interfaces_off : 0 (0x000000) source_file_idx : 147 annotations_off : 30988 (0x00790c) class_data_off : 29220 (0x007224) static_fields_size : 1 instance_fields_size: 0 direct_methods_size : 7 virtual_methods_size: 0 Class #7 annotations: Annotations on method #67 'bsm' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #71 'testDynamic' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestDynamicBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/String; J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; stringValue={ "A" } Lannotations/Constant; longValue={ 100000000 } } fieldOrMethodName="target" parameterTypes={ I Ljava/lang/String; D } returnType=I Class #7 - Class descriptor : 'LTestDynamicBootstrapArguments;' Access flags : 0x0000 () Superclass : 'LTestBase;' Interfaces - Static fields - #0 : (in LTestDynamicBootstrapArguments;) name : 'bsmCalls' type : 'I' access : 0x000a (PRIVATE STATIC) Instance fields - Direct methods - #0 : (in LTestDynamicBootstrapArguments;) name : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) method_idx : 63 code - registers : 1 ins : 0 outs : 0 insns size : 4 16-bit code units 0029c8: |[0029c8] TestDynamicBootstrapArguments.:()V 0029d8: 1200 |0000: const/4 v0, #int 0 // #0 0029da: 6700 0000 |0001: sput v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000 0029de: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=27 locals : #1 : (in LTestDynamicBootstrapArguments;) name : '' type : '()V' access : 0x10000 (CONSTRUCTOR) method_idx : 64 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 0029e0: |[0029e0] TestDynamicBootstrapArguments.:()V 0029f0: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.:()V // method@0032 0029f6: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=26 locals : 0x0000 - 0x0004 reg=0 this LTestDynamicBootstrapArguments; #2 : (in LTestDynamicBootstrapArguments;) name : 'bsm' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;J)Ljava/lang/invoke/CallSite;' access : 0x0008 (STATIC) method_idx : 67 code - registers : 11 ins : 6 outs : 4 insns size : 43 16-bit code units 002960: |[002960] TestDynamicBootstrapArguments.bsm:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;J)Ljava/lang/invoke/CallSite; 002970: 6000 0000 |0000: sget v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000 002974: d800 0001 |0002: add-int/lit8 v0, v0, #int 1 // #01 002978: 6700 0000 |0004: sput v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000 00297c: 1c00 0a00 |0006: const-class v0, LTestDynamicBootstrapArguments; // type@000a 002980: 2201 2d00 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@002d 002984: 7010 c100 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@00c1 00298a: 6e20 c800 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 002990: 6e20 c800 8100 |0010: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 002996: 6e30 c600 910a |0013: invoke-virtual {v1, v9, v10}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00c6 00299c: 6e10 ca00 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 0029a2: 0c01 |0019: move-result-object v1 0029a4: 6e40 d800 0571 |001a: invoke-virtual {v5, v0, v1, v7}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 0029aa: 0c02 |001d: move-result-object v2 0029ac: 6203 1300 |001e: sget-object v3, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0029b0: 1a04 ea00 |0020: const-string v4, "bsm" // string@00ea 0029b4: 6e20 b300 4300 |0022: invoke-virtual {v3, v4}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 0029ba: 2203 3400 |0025: new-instance v3, Ljava/lang/invoke/ConstantCallSite; // type@0034 0029be: 7020 d200 2300 |0027: invoke-direct {v3, v2}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 0029c4: 1103 |002a: return-object v3 catches : (none) positions : 0x0000 line=36 0x0006 line=37 0x0008 line=38 0x001a line=39 0x001e line=40 0x0025 line=41 locals : 0x0008 - 0x002b reg=0 definingClass Ljava/lang/Class; Ljava/lang/Class<*>; 0x001a - 0x002b reg=1 methodName Ljava/lang/String; 0x001e - 0x002b reg=2 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x002b reg=5 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x002b reg=6 name Ljava/lang/String; 0x0000 - 0x002b reg=7 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x002b reg=8 otherNameComponent Ljava/lang/String; 0x0000 - 0x002b reg=9 nameSuffix J #3 : (in LTestDynamicBootstrapArguments;) name : 'targetA100000000' type : '(ILjava/lang/String;Ljava/lang/Double;)I' access : 0x000a (PRIVATE STATIC) method_idx : 68 code - registers : 5 ins : 3 outs : 2 insns size : 30 16-bit code units 0028f8: |[0028f8] TestDynamicBootstrapArguments.targetA100000000:(ILjava/lang/String;Ljava/lang/Double;)I 002908: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00290c: 6e20 ad00 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.print:(I)V // method@00ad 002912: 6200 1300 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002916: 1a01 0c00 |0007: const-string v1, ", " // string@000c 00291a: 6e20 b000 1000 |0009: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002920: 6200 1300 |000c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002924: 6e20 b000 3000 |000e: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 00292a: 6200 1300 |0011: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00292e: 1a01 0c00 |0013: const-string v1, ", " // string@000c 002932: 6e20 b000 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002938: 6200 1300 |0018: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00293c: 6e20 b200 4000 |001a: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 002942: 0f02 |001d: return v2 catches : (none) positions : 0x0000 line=71 0x0005 line=72 0x000c line=73 0x0011 line=74 0x0018 line=75 0x001d line=76 locals : 0x0000 - 0x001e reg=2 i I 0x0000 - 0x001e reg=3 s Ljava/lang/String; 0x0000 - 0x001e reg=4 d Ljava/lang/Double; #4 : (in LTestDynamicBootstrapArguments;) name : 'test' type : '()V' access : 0x0008 (STATIC) method_idx : 69 code - registers : 2 ins : 0 outs : 2 insns size : 25 16-bit code units 0029f8: |[0029f8] TestDynamicBootstrapArguments.test:()V 002a08: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002a0c: 1a01 9200 |0002: const-string v1, "TestDynamicArguments" // string@0092 002a10: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 002a16: 7100 4600 0000 |0007: invoke-static {}, LTestDynamicBootstrapArguments;.testCallSites:()V // method@0046 002a1c: 6000 0000 |000a: sget v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000 002a20: 1231 |000c: const/4 v1, #int 3 // #3 002a22: 7120 4100 0100 |000d: invoke-static {v1, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041 002a28: 7100 4600 0000 |0010: invoke-static {}, LTestDynamicBootstrapArguments;.testCallSites:()V // method@0046 002a2e: 6000 0000 |0013: sget v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000 002a32: 7120 4100 0100 |0015: invoke-static {v1, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041 002a38: 0e00 |0018: return-void catches : (none) positions : 0x0000 line=86 0x0007 line=87 0x000a line=88 0x0010 line=89 0x0013 line=90 0x0018 line=91 locals : #5 : (in LTestDynamicBootstrapArguments;) name : 'testCallSites' type : '()V' access : 0x0008 (STATIC) method_idx : 70 code - registers : 3 ins : 0 outs : 3 insns size : 55 16-bit code units 002a3c: |[002a3c] TestDynamicBootstrapArguments.testCallSites:()V 002a4c: 1a00 8b00 |0000: const-string v0, "One" // string@008b 002a50: 1801 182d 4454 fb21 0940 |0002: const-wide v1, #double 3.14159 // #400921fb54442d18 002a5a: 7120 b900 2100 |0007: invoke-static {v1, v2}, Ljava/lang/Double;.valueOf:(D)Ljava/lang/Double; // method@00b9 002a60: 0c01 |000a: move-result-object v1 002a62: 1202 |000b: const/4 v2, #int 0 // #0 002a64: fc30 0f00 0201 |000c: invoke-custom {v2, v0, v1}, call_site@000f 002a6a: 0a00 |000f: move-result v0 002a6c: 7120 4100 0200 |0010: invoke-static {v2, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041 002a72: 1a00 a200 |0013: const-string v0, "Two" // string@00a2 002a76: 1801 6957 148b 0abf 0540 |0015: const-wide v1, #double 2.71828 // #4005bf0a8b145769 002a80: 7120 b900 2100 |001a: invoke-static {v1, v2}, Ljava/lang/Double;.valueOf:(D)Ljava/lang/Double; // method@00b9 002a86: 0c01 |001d: move-result-object v1 002a88: 1212 |001e: const/4 v2, #int 1 // #1 002a8a: fc30 1000 0201 |001f: invoke-custom {v2, v0, v1}, call_site@0010 002a90: 0a00 |0022: move-result v0 002a92: 7120 4100 0200 |0023: invoke-static {v2, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041 002a98: 1a00 9f00 |0026: const-string v0, "Three" // string@009f 002a9c: 1601 0000 |0028: const-wide/16 v1, #int 0 // #0 002aa0: 7120 b900 2100 |002a: invoke-static {v1, v2}, Ljava/lang/Double;.valueOf:(D)Ljava/lang/Double; // method@00b9 002aa6: 0c01 |002d: move-result-object v1 002aa8: 1222 |002e: const/4 v2, #int 2 // #2 002aaa: fc30 1100 0201 |002f: invoke-custom {v2, v0, v1}, call_site@0011 002ab0: 0a00 |0032: move-result v0 002ab2: 7120 4100 0200 |0033: invoke-static {v2, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041 002ab8: 0e00 |0036: return-void catches : (none) positions : 0x0000 line=80 0x0013 line=81 0x0026 line=82 0x0036 line=83 locals : #6 : (in LTestDynamicBootstrapArguments;) name : 'testDynamic' type : '(ILjava/lang/String;Ljava/lang/Double;)I' access : 0x000a (PRIVATE STATIC) method_idx : 71 code - registers : 4 ins : 3 outs : 0 insns size : 5 16-bit code units 002944: |[002944] TestDynamicBootstrapArguments.testDynamic:(ILjava/lang/String;Ljava/lang/Double;)I 002954: 7100 4200 0000 |0000: invoke-static {}, LTestDynamicBootstrapArguments;.assertNotReached:()V // method@0042 00295a: 1200 |0003: const/4 v0, #int 0 // #0 00295c: 0f00 |0004: return v0 catches : (none) positions : 0x0000 line=66 0x0003 line=67 locals : 0x0000 - 0x0005 reg=1 i I 0x0000 - 0x0005 reg=2 s Ljava/lang/String; 0x0000 - 0x0005 reg=3 d Ljava/lang/Double; Virtual methods - source_file_idx : 147 (TestDynamicBootstrapArguments.java) Class #8 header: class_idx : 12 access_flags : 0 (0x0000) superclass_idx : 9 interfaces_off : 0 (0x000000) source_file_idx : 148 annotations_off : 31020 (0x00792c) class_data_off : 29258 (0x00724a) static_fields_size : 1 instance_fields_size: 1 direct_methods_size : 18 virtual_methods_size: 1 Class #8 annotations: Annotations on class VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ LTestInvocationKinds$Widget; } Annotations on method #78 'getInstanceField' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupInstanceFieldGetter" } fieldOrMethodName="instance_field" parameterTypes={ LTestInvocationKinds; } returnType=D Annotations on method #80 'getStaticField' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupStaticFieldGetter" } fieldOrMethodName="static_field" parameterTypes={ } returnType=I Annotations on method #81 'lookupConstructor' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #82 'lookupInstanceFieldGetter' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #83 'lookupInstanceFieldSetter' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #84 'lookupStaticFieldGetter' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #85 'lookupStaticFieldSetter' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #86 'lookupVirtual' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #87 'makeWidget' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupConstructor" } fieldOrMethodName="unused" parameterTypes={ I } returnType=LTestInvocationKinds$Widget; Annotations on method #88 'maxIntegerValue' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupVirtual" } fieldOrMethodName="getMaxIntegerValue" parameterTypes={ LTestInvocationKinds; I I } returnType=I Annotations on method #89 'setInstanceField' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupInstanceFieldSetter" } fieldOrMethodName="instance_field" parameterTypes={ LTestInvocationKinds; D } returnType=V Annotations on method #90 'setStaticField' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupStaticFieldSetter" } fieldOrMethodName="static_field" parameterTypes={ I } returnType=V Class #8 - Class descriptor : 'LTestInvocationKinds;' Access flags : 0x0000 () Superclass : 'LTestBase;' Interfaces - Static fields - #0 : (in LTestInvocationKinds;) name : 'static_field' type : 'I' access : 0x000a (PRIVATE STATIC) Instance fields - #0 : (in LTestInvocationKinds;) name : 'instance_field' type : 'D' access : 0x0002 (PRIVATE) Direct methods - #0 : (in LTestInvocationKinds;) name : '' type : '()V' access : 0x10000 (CONSTRUCTOR) method_idx : 73 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 002ca4: |[002ca4] TestInvocationKinds.:()V 002cb4: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.:()V // method@0032 002cba: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=25 locals : 0x0000 - 0x0004 reg=0 this LTestInvocationKinds; #1 : (in LTestInvocationKinds;) name : 'getInstanceField' type : '(LTestInvocationKinds;)D' access : 0x000a (PRIVATE STATIC) method_idx : 78 code - registers : 3 ins : 1 outs : 0 insns size : 6 16-bit code units 002af0: |[002af0] TestInvocationKinds.getInstanceField:(LTestInvocationKinds;)D 002b00: 7100 4d00 0000 |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d 002b06: 1900 f87f |0003: const-wide/high16 v0, #long 9221120237041090560 // #7ff8 002b0a: 1000 |0005: return-wide v0 catches : (none) positions : 0x0000 line=117 0x0003 line=118 locals : 0x0000 - 0x0006 reg=2 instance LTestInvocationKinds; #2 : (in LTestInvocationKinds;) name : 'getStaticField' type : '()I' access : 0x000a (PRIVATE STATIC) method_idx : 80 code - registers : 1 ins : 0 outs : 0 insns size : 5 16-bit code units 002b28: |[002b28] TestInvocationKinds.getStaticField:()I 002b38: 7100 4d00 0000 |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d 002b3e: 1200 |0003: const/4 v0, #int 0 // #0 002b40: 0f00 |0004: return v0 catches : (none) positions : 0x0000 line=71 0x0003 line=72 locals : #3 : (in LTestInvocationKinds;) name : 'lookupConstructor' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' access : 0x000a (PRIVATE STATIC) method_idx : 81 code - registers : 7 ins : 3 outs : 3 insns size : 20 16-bit code units 002b60: |[002b60] TestInvocationKinds.lookupConstructor:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 002b70: 6e10 e500 0600 |0000: invoke-virtual {v6}, Ljava/lang/invoke/MethodType;.returnType:()Ljava/lang/Class; // method@00e5 002b76: 0c00 |0003: move-result-object v0 002b78: 6201 1400 |0004: sget-object v1, Ljava/lang/Void;.TYPE:Ljava/lang/Class; // field@0014 002b7c: 6e20 df00 1600 |0006: invoke-virtual {v6, v1}, Ljava/lang/invoke/MethodType;.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType; // method@00df 002b82: 0c01 |0009: move-result-object v1 002b84: 6e30 d500 0401 |000a: invoke-virtual {v4, v0, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findConstructor:(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d5 002b8a: 0c02 |000d: move-result-object v2 002b8c: 2203 3400 |000e: new-instance v3, Ljava/lang/invoke/ConstantCallSite; // type@0034 002b90: 7020 d200 2300 |0010: invoke-direct {v3, v2}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 002b96: 1103 |0013: return-object v3 catches : (none) positions : 0x0000 line=183 0x0004 line=184 0x000a line=185 0x000e line=186 locals : 0x0004 - 0x0014 reg=0 cls Ljava/lang/Class; Ljava/lang/Class<*>; 0x000a - 0x0014 reg=1 constructorMethodType Ljava/lang/invoke/MethodType; 0x000e - 0x0014 reg=2 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0014 reg=4 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0014 reg=5 name Ljava/lang/String; 0x0000 - 0x0014 reg=6 methodType Ljava/lang/invoke/MethodType; #4 : (in LTestInvocationKinds;) name : 'lookupInstanceFieldGetter' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' access : 0x0008 (STATIC) method_idx : 82 code - registers : 5 ins : 3 outs : 4 insns size : 20 16-bit code units 002b98: |[002b98] TestInvocationKinds.lookupInstanceFieldGetter:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 002ba8: 0000 |0000: nop // spacer 002baa: 1200 |0001: const/4 v0, #int 0 // #0 002bac: 6e20 e400 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/invoke/MethodType;.parameterType:(I)Ljava/lang/Class; // method@00e4 002bb2: 0c00 |0005: move-result-object v0 002bb4: 6e10 e500 0400 |0006: invoke-virtual {v4}, Ljava/lang/invoke/MethodType;.returnType:()Ljava/lang/Class; // method@00e5 002bba: 0c01 |0009: move-result-object v1 002bbc: 6e40 d600 0213 |000a: invoke-virtual {v2, v0, v3, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findGetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00d6 002bc2: 0c00 |000d: move-result-object v0 002bc4: 2201 3400 |000e: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 002bc8: 7020 d200 0100 |0010: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 002bce: 1101 |0013: return-object v1 catches : (none) positions : 0x0000 line=101 0x0001 line=102 0x000e line=103 locals : 0x000e - 0x0014 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0014 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0014 reg=3 name Ljava/lang/String; 0x0000 - 0x0014 reg=4 methodType Ljava/lang/invoke/MethodType; #5 : (in LTestInvocationKinds;) name : 'lookupInstanceFieldSetter' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' access : 0x0008 (STATIC) method_idx : 83 code - registers : 5 ins : 3 outs : 4 insns size : 21 16-bit code units 002bd0: |[002bd0] TestInvocationKinds.lookupInstanceFieldSetter:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 002be0: 0000 |0000: nop // spacer 002be2: 1200 |0001: const/4 v0, #int 0 // #0 002be4: 6e20 e400 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/invoke/MethodType;.parameterType:(I)Ljava/lang/Class; // method@00e4 002bea: 0c00 |0005: move-result-object v0 002bec: 1211 |0006: const/4 v1, #int 1 // #1 002bee: 6e20 e400 1400 |0007: invoke-virtual {v4, v1}, Ljava/lang/invoke/MethodType;.parameterType:(I)Ljava/lang/Class; // method@00e4 002bf4: 0c01 |000a: move-result-object v1 002bf6: 6e40 d700 0213 |000b: invoke-virtual {v2, v0, v3, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findSetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00d7 002bfc: 0c00 |000e: move-result-object v0 002bfe: 2201 3400 |000f: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 002c02: 7020 d200 0100 |0011: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 002c08: 1101 |0014: return-object v1 catches : (none) positions : 0x0000 line=78 0x0001 line=79 0x000f line=80 locals : 0x000f - 0x0015 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0015 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0015 reg=3 name Ljava/lang/String; 0x0000 - 0x0015 reg=4 methodType Ljava/lang/invoke/MethodType; #6 : (in LTestInvocationKinds;) name : 'lookupStaticFieldGetter' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' access : 0x0008 (STATIC) method_idx : 84 code - registers : 5 ins : 3 outs : 4 insns size : 16 16-bit code units 002c0c: |[002c0c] TestInvocationKinds.lookupStaticFieldGetter:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 002c1c: 1c00 0c00 |0000: const-class v0, LTestInvocationKinds; // type@000c 002c20: 6e10 e500 0400 |0002: invoke-virtual {v4}, Ljava/lang/invoke/MethodType;.returnType:()Ljava/lang/Class; // method@00e5 002c26: 0c01 |0005: move-result-object v1 002c28: 6e40 d900 0213 |0006: invoke-virtual {v2, v0, v3, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findStaticGetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00d9 002c2e: 0c00 |0009: move-result-object v0 002c30: 2201 3400 |000a: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 002c34: 7020 d200 0100 |000c: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 002c3a: 1101 |000f: return-object v1 catches : (none) positions : 0x0000 line=32 0x0002 line=33 0x000a line=34 locals : 0x000a - 0x0010 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0010 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0010 reg=3 name Ljava/lang/String; 0x0000 - 0x0010 reg=4 methodType Ljava/lang/invoke/MethodType; #7 : (in LTestInvocationKinds;) name : 'lookupStaticFieldSetter' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' access : 0x0008 (STATIC) method_idx : 85 code - registers : 5 ins : 3 outs : 4 insns size : 17 16-bit code units 002c3c: |[002c3c] TestInvocationKinds.lookupStaticFieldSetter:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 002c4c: 1c00 0c00 |0000: const-class v0, LTestInvocationKinds; // type@000c 002c50: 1201 |0002: const/4 v1, #int 0 // #0 002c52: 6e20 e400 1400 |0003: invoke-virtual {v4, v1}, Ljava/lang/invoke/MethodType;.parameterType:(I)Ljava/lang/Class; // method@00e4 002c58: 0c01 |0006: move-result-object v1 002c5a: 6e40 da00 0213 |0007: invoke-virtual {v2, v0, v3, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findStaticSetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00da 002c60: 0c00 |000a: move-result-object v0 002c62: 2201 3400 |000b: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 002c66: 7020 d200 0100 |000d: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 002c6c: 1101 |0010: return-object v1 catches : (none) positions : 0x0000 line=54 0x0002 line=56 0x0007 line=55 0x000b line=57 locals : 0x000b - 0x0011 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0011 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0011 reg=3 name Ljava/lang/String; 0x0000 - 0x0011 reg=4 methodType Ljava/lang/invoke/MethodType; #8 : (in LTestInvocationKinds;) name : 'lookupVirtual' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' access : 0x000a (PRIVATE STATIC) method_idx : 86 code - registers : 6 ins : 3 outs : 4 insns size : 18 16-bit code units 002c70: |[002c70] TestInvocationKinds.lookupVirtual:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 002c80: 1200 |0000: const/4 v0, #int 0 // #0 002c82: 1211 |0001: const/4 v1, #int 1 // #1 002c84: 6e30 e000 0501 |0002: invoke-virtual {v5, v0, v1}, Ljava/lang/invoke/MethodType;.dropParameterTypes:(II)Ljava/lang/invoke/MethodType; // method@00e0 002c8a: 0c00 |0005: move-result-object v0 002c8c: 1c01 0c00 |0006: const-class v1, LTestInvocationKinds; // type@000c 002c90: 6e40 db00 1304 |0008: invoke-virtual {v3, v1, v4, v0}, Ljava/lang/invoke/MethodHandles$Lookup;.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00db 002c96: 0c01 |000b: move-result-object v1 002c98: 2202 3400 |000c: new-instance v2, Ljava/lang/invoke/ConstantCallSite; // type@0034 002c9c: 7020 d200 1200 |000e: invoke-direct {v2, v1}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 002ca2: 1102 |0011: return-object v2 catches : (none) positions : 0x0000 line=146 0x0006 line=147 0x000c line=148 locals : 0x0006 - 0x0012 reg=0 mt Ljava/lang/invoke/MethodType; 0x000c - 0x0012 reg=1 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0012 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0012 reg=4 name Ljava/lang/String; 0x0000 - 0x0012 reg=5 methodType Ljava/lang/invoke/MethodType; #9 : (in LTestInvocationKinds;) name : 'makeWidget' type : '(I)LTestInvocationKinds$Widget;' access : 0x000a (PRIVATE STATIC) method_idx : 87 code - registers : 2 ins : 1 outs : 0 insns size : 5 16-bit code units 002ad4: |[002ad4] TestInvocationKinds.makeWidget:(I)LTestInvocationKinds$Widget; 002ae4: 7100 4d00 0000 |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d 002aea: 1200 |0003: const/4 v0, #int 0 // #0 002aec: 1100 |0004: return-object v0 catches : (none) positions : 0x0000 line=200 0x0003 line=201 locals : 0x0000 - 0x0005 reg=1 v I #10 : (in LTestInvocationKinds;) name : 'maxIntegerValue' type : '(LTestInvocationKinds;II)I' access : 0x000a (PRIVATE STATIC) method_idx : 88 code - registers : 4 ins : 3 outs : 0 insns size : 5 16-bit code units 002b44: |[002b44] TestInvocationKinds.maxIntegerValue:(LTestInvocationKinds;II)I 002b54: 7100 4d00 0000 |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d 002b5a: 1200 |0003: const/4 v0, #int 0 // #0 002b5c: 0f00 |0004: return v0 catches : (none) positions : 0x0000 line=159 0x0003 line=160 locals : 0x0000 - 0x0005 reg=1 receiver LTestInvocationKinds; 0x0000 - 0x0005 reg=2 x I 0x0000 - 0x0005 reg=3 y I #11 : (in LTestInvocationKinds;) name : 'setInstanceField' type : '(LTestInvocationKinds;D)V' access : 0x000a (PRIVATE STATIC) method_idx : 89 code - registers : 5 ins : 3 outs : 0 insns size : 8 16-bit code units 002cbc: |[002cbc] TestInvocationKinds.setInstanceField:(LTestInvocationKinds;D)V 002ccc: 7100 4d00 0000 |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d 002cd2: 1900 f87f |0003: const-wide/high16 v0, #long 9221120237041090560 // #7ff8 002cd6: 5a20 0200 |0005: iput-wide v0, v2, LTestInvocationKinds;.instance_field:D // field@0002 002cda: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=94 0x0003 line=95 0x0007 line=96 locals : 0x0000 - 0x0008 reg=2 instance LTestInvocationKinds; 0x0000 - 0x0008 reg=3 value D #12 : (in LTestInvocationKinds;) name : 'setStaticField' type : '(I)V' access : 0x000a (PRIVATE STATIC) method_idx : 90 code - registers : 1 ins : 1 outs : 0 insns size : 4 16-bit code units 002cdc: |[002cdc] TestInvocationKinds.setStaticField:(I)V 002cec: 7100 4d00 0000 |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d 002cf2: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=48 0x0003 line=49 locals : 0x0000 - 0x0004 reg=0 value I #13 : (in LTestInvocationKinds;) name : 'test' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 91 code - registers : 2 ins : 0 outs : 2 insns size : 24 16-bit code units 002cf4: |[002cf4] TestInvocationKinds.test:()V 002d04: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002d08: 1c01 0c00 |0002: const-class v1, LTestInvocationKinds; // type@000c 002d0c: 6e10 b700 0100 |0004: invoke-virtual {v1}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@00b7 002d12: 0c01 |0007: move-result-object v1 002d14: 6e20 b300 1000 |0008: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 002d1a: 7100 5f00 0000 |000b: invoke-static {}, LTestInvocationKinds;.testStaticFieldAccessors:()V // method@005f 002d20: 7100 5d00 0000 |000e: invoke-static {}, LTestInvocationKinds;.testInstanceFieldAccessors:()V // method@005d 002d26: 7100 5e00 0000 |0011: invoke-static {}, LTestInvocationKinds;.testInvokeVirtual:()V // method@005e 002d2c: 7100 5c00 0000 |0014: invoke-static {}, LTestInvocationKinds;.testConstructor:()V // method@005c 002d32: 0e00 |0017: return-void catches : (none) positions : 0x0000 line=212 0x000b line=213 0x000e line=214 0x0011 line=215 0x0014 line=216 0x0017 line=217 locals : #14 : (in LTestInvocationKinds;) name : 'testConstructor' type : '()V' access : 0x0008 (STATIC) method_idx : 92 code - registers : 3 ins : 0 outs : 2 insns size : 31 16-bit code units 002d34: |[002d34] TestInvocationKinds.testConstructor:()V 002d44: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002d48: 1a01 b601 |0002: const-string v1, "testConstructor => " // string@01b6 002d4c: 6e20 b000 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002d52: 1230 |0007: const/4 v0, #int 3 // #3 002d54: fc10 1200 0000 |0008: invoke-custom {v0}, call_site@0012 002d5a: 0c00 |000b: move-result-object v0 002d5c: 1c01 0b00 |000c: const-class v1, LTestInvocationKinds$Widget; // type@000b 002d60: 6e10 c000 0000 |000e: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 002d66: 0c02 |0011: move-result-object v2 002d68: 7120 4c00 2100 |0012: invoke-static {v1, v2}, LTestInvocationKinds;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@004c 002d6e: 6201 1300 |0015: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002d72: 6e10 c000 0000 |0017: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 002d78: 0c02 |001a: move-result-object v2 002d7a: 6e20 b200 2100 |001b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 002d80: 0e00 |001e: return-void catches : (none) positions : 0x0000 line=205 0x0007 line=206 0x000c line=207 0x0015 line=208 0x001e line=209 locals : 0x000c - 0x001f reg=0 receiver LTestInvocationKinds$Widget; #15 : (in LTestInvocationKinds;) name : 'testInstanceFieldAccessors' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 93 code - registers : 5 ins : 0 outs : 4 insns size : 44 16-bit code units 002d84: |[002d84] TestInvocationKinds.testInstanceFieldAccessors:()V 002d94: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002d98: 1a01 b801 |0002: const-string v1, "testInstanceFieldAccessors" // string@01b8 002d9c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 002da2: 2200 0c00 |0007: new-instance v0, LTestInvocationKinds; // type@000c 002da6: 7010 4900 0000 |0009: invoke-direct {v0}, LTestInvocationKinds;.:()V // method@0049 002dac: 1601 0100 |000c: const-wide/16 v1, #int 1 // #1 002db0: 5a01 0200 |000e: iput-wide v1, v0, LTestInvocationKinds;.instance_field:D // field@0002 002db4: 1801 182d 4454 fb21 0940 |0010: const-wide v1, #double 3.14159 // #400921fb54442d18 002dbe: fc30 1300 1002 |0015: invoke-custom {v0, v1, v2}, call_site@0013 002dc4: 5303 0200 |0018: iget-wide v3, v0, LTestInvocationKinds;.instance_field:D // field@0002 002dc8: 7140 4a00 2143 |001a: invoke-static {v1, v2, v3, v4}, LTestInvocationKinds;.assertEquals:(DD)V // method@004a 002dce: 1801 6957 148b 0abf 0540 |001d: const-wide v1, #double 2.71828 // #4005bf0a8b145769 002dd8: 5a01 0200 |0022: iput-wide v1, v0, LTestInvocationKinds;.instance_field:D // field@0002 002ddc: fc10 1400 0000 |0024: invoke-custom {v0}, call_site@0014 002de2: 0b03 |0027: move-result-wide v3 002de4: 7140 4a00 2143 |0028: invoke-static {v1, v2, v3, v4}, LTestInvocationKinds;.assertEquals:(DD)V // method@004a 002dea: 0e00 |002b: return-void catches : (none) positions : 0x0000 line=133 0x0007 line=134 0x000c line=135 0x0010 line=136 0x0018 line=137 0x001d line=138 0x0024 line=139 0x002b line=140 locals : 0x000c - 0x002c reg=0 instance LTestInvocationKinds; #16 : (in LTestInvocationKinds;) name : 'testInvokeVirtual' type : '()V' access : 0x0008 (STATIC) method_idx : 94 code - registers : 3 ins : 0 outs : 3 insns size : 25 16-bit code units 002dec: |[002dec] TestInvocationKinds.testInvokeVirtual:()V 002dfc: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002e00: 1a01 ba01 |0002: const-string v1, "testInvokeVirtual => max(77, -3) = " // string@01ba 002e04: 6e20 b000 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 002e0a: 2200 0c00 |0007: new-instance v0, LTestInvocationKinds; // type@000c 002e0e: 7010 4900 0000 |0009: invoke-direct {v0}, LTestInvocationKinds;.:()V // method@0049 002e14: 1301 4d00 |000c: const/16 v1, #int 77 // #4d 002e18: 12d2 |000e: const/4 v2, #int -3 // #fd 002e1a: fc30 1500 1002 |000f: invoke-custom {v0, v1, v2}, call_site@0015 002e20: 0a01 |0012: move-result v1 002e22: 6202 1300 |0013: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002e26: 6e20 b100 1200 |0015: invoke-virtual {v2, v1}, Ljava/io/PrintStream;.println:(I)V // method@00b1 002e2c: 0e00 |0018: return-void catches : (none) positions : 0x0000 line=168 0x0007 line=169 0x000c line=170 0x0013 line=171 0x0018 line=172 locals : 0x000c - 0x0019 reg=0 receiver LTestInvocationKinds; 0x0013 - 0x0019 reg=1 result I #17 : (in LTestInvocationKinds;) name : 'testStaticFieldAccessors' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 95 code - registers : 2 ins : 0 outs : 2 insns size : 47 16-bit code units 002e30: |[002e30] TestInvocationKinds.testStaticFieldAccessors:()V 002e40: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 002e44: 1a01 bb01 |0002: const-string v1, "testStaticFieldAccessors" // string@01bb 002e48: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 002e4e: 1230 |0007: const/4 v0, #int 3 // #3 002e50: fc10 1600 0000 |0008: invoke-custom {v0}, call_site@0016 002e56: 6001 0300 |000b: sget v1, LTestInvocationKinds;.static_field:I // field@0003 002e5a: 7120 4b00 0100 |000d: invoke-static {v1, v0}, LTestInvocationKinds;.assertEquals:(II)V // method@004b 002e60: 1240 |0010: const/4 v0, #int 4 // #4 002e62: fc10 1700 0000 |0011: invoke-custom {v0}, call_site@0017 002e68: 6001 0300 |0014: sget v1, LTestInvocationKinds;.static_field:I // field@0003 002e6c: 7120 4b00 0100 |0016: invoke-static {v1, v0}, LTestInvocationKinds;.assertEquals:(II)V // method@004b 002e72: 6000 0300 |0019: sget v0, LTestInvocationKinds;.static_field:I // field@0003 002e76: fc00 1800 0000 |001b: invoke-custom {}, call_site@0018 002e7c: 0a01 |001e: move-result v1 002e7e: 7120 4b00 1000 |001f: invoke-static {v0, v1}, LTestInvocationKinds;.assertEquals:(II)V // method@004b 002e84: 1400 ffff ff7f |0022: const v0, #float nan // #7fffffff 002e8a: 6700 0300 |0025: sput v0, LTestInvocationKinds;.static_field:I // field@0003 002e8e: fc00 1900 0000 |0027: invoke-custom {}, call_site@0019 002e94: 0a01 |002a: move-result v1 002e96: 7120 4b00 1000 |002b: invoke-static {v0, v1}, LTestInvocationKinds;.assertEquals:(II)V // method@004b 002e9c: 0e00 |002e: return-void catches : (none) positions : 0x0000 line=122 0x0007 line=123 0x000b line=124 0x0010 line=125 0x0014 line=126 0x0019 line=127 0x0022 line=128 0x0027 line=129 0x002e line=130 locals : Virtual methods - #0 : (in LTestInvocationKinds;) name : 'getMaxIntegerValue' type : '(II)I' access : 0x0001 (PUBLIC) method_idx : 79 code - registers : 4 ins : 3 outs : 0 insns size : 6 16-bit code units 002b0c: |[002b0c] TestInvocationKinds.getMaxIntegerValue:(II)I 002b1c: 3732 0400 |0000: if-le v2, v3, 0004 // +0004 002b20: 0120 |0002: move v0, v2 002b22: 2802 |0003: goto 0005 // +0002 002b24: 0130 |0004: move v0, v3 002b26: 0f00 |0005: return v0 catches : (none) positions : 0x0000 line=164 locals : 0x0000 - 0x0006 reg=1 this LTestInvocationKinds; 0x0000 - 0x0006 reg=2 x I 0x0000 - 0x0006 reg=3 y I source_file_idx : 148 (TestInvocationKinds.java) Class #9 header: class_idx : 14 access_flags : 1 (0x0001) superclass_idx : 9 interfaces_off : 18256 (0x004750) source_file_idx : 149 annotations_off : 31132 (0x00799c) class_data_off : 29344 (0x0072a0) static_fields_size : 7 instance_fields_size: 0 direct_methods_size : 8 virtual_methods_size: 1 Class #9 annotations: Annotations on field #10 'threadIndex' VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Ljava/lang/ThreadLocal<" "Ljava/lang/Integer;" ">;" } Annotations on method #106 'linkerMethod' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #109 'setCalled' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvokeCustomWithConcurrentThreads; name="linkerMethod" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } } fieldOrMethodName="setCalled" parameterTypes={ I } returnType=I Annotations on method #110 'test' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Class #9 - Class descriptor : 'LTestInvokeCustomWithConcurrentThreads;' Access flags : 0x0001 (PUBLIC) Superclass : 'LTestBase;' Interfaces - #0 : 'Ljava/lang/Runnable;' Static fields - #0 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'NUMBER_OF_THREADS' type : 'I' access : 0x001a (PRIVATE STATIC FINAL) value : 16 #1 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'barrier' type : 'Ljava/util/concurrent/CyclicBarrier;' access : 0x001a (PRIVATE STATIC FINAL) #2 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'called' type : '[Ljava/util/concurrent/atomic/AtomicInteger;' access : 0x001a (PRIVATE STATIC FINAL) #3 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'instantiated' type : '[Ljava/lang/invoke/CallSite;' access : 0x001a (PRIVATE STATIC FINAL) #4 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'nextIndex' type : 'Ljava/util/concurrent/atomic/AtomicInteger;' access : 0x001a (PRIVATE STATIC FINAL) #5 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'targetted' type : '[Ljava/util/concurrent/atomic/AtomicInteger;' access : 0x001a (PRIVATE STATIC FINAL) #6 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'threadIndex' type : 'Ljava/lang/ThreadLocal;' access : 0x001a (PRIVATE STATIC FINAL) Instance fields - Direct methods - #0 : (in LTestInvokeCustomWithConcurrentThreads;) name : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) method_idx : 99 code - registers : 2 ins : 0 outs : 2 insns size : 37 16-bit code units 003064: |[003064] TestInvokeCustomWithConcurrentThreads.:()V 003074: 2200 3e00 |0000: new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger; // type@003e 003078: 1201 |0002: const/4 v1, #int 0 // #0 00307a: 7020 ef00 1000 |0003: invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;.:(I)V // method@00ef 003080: 6900 0800 |0006: sput-object v0, LTestInvokeCustomWithConcurrentThreads;.nextIndex:Ljava/util/concurrent/atomic/AtomicInteger; // field@0008 003084: 2200 0d00 |0008: new-instance v0, LTestInvokeCustomWithConcurrentThreads$1; // type@000d 003088: 7010 6000 0000 |000a: invoke-direct {v0}, LTestInvokeCustomWithConcurrentThreads$1;.:()V // method@0060 00308e: 6900 0a00 |000d: sput-object v0, LTestInvokeCustomWithConcurrentThreads;.threadIndex:Ljava/lang/ThreadLocal; // field@000a 003092: 1300 1000 |000f: const/16 v0, #int 16 // #10 003096: 2301 4b00 |0011: new-array v1, v0, [Ljava/lang/invoke/CallSite; // type@004b 00309a: 6901 0700 |0013: sput-object v1, LTestInvokeCustomWithConcurrentThreads;.instantiated:[Ljava/lang/invoke/CallSite; // field@0007 00309e: 2301 4c00 |0015: new-array v1, v0, [Ljava/util/concurrent/atomic/AtomicInteger; // type@004c 0030a2: 6901 0600 |0017: sput-object v1, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006 0030a6: 2301 4c00 |0019: new-array v1, v0, [Ljava/util/concurrent/atomic/AtomicInteger; // type@004c 0030aa: 6901 0900 |001b: sput-object v1, LTestInvokeCustomWithConcurrentThreads;.targetted:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0009 0030ae: 2201 3d00 |001d: new-instance v1, Ljava/util/concurrent/CyclicBarrier; // type@003d 0030b2: 7020 ed00 0100 |001f: invoke-direct {v1, v0}, Ljava/util/concurrent/CyclicBarrier;.:(I)V // method@00ed 0030b8: 6901 0500 |0022: sput-object v1, LTestInvokeCustomWithConcurrentThreads;.barrier:Ljava/util/concurrent/CyclicBarrier; // field@0005 0030bc: 0e00 |0024: return-void catches : (none) positions : 0x0000 line=30 0x0008 line=32 0x000f line=41 0x0015 line=44 0x0019 line=47 0x001d line=50 locals : #1 : (in LTestInvokeCustomWithConcurrentThreads;) name : '' type : '()V' access : 0x10002 (PRIVATE CONSTRUCTOR) method_idx : 100 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 0030c0: |[0030c0] TestInvokeCustomWithConcurrentThreads.:()V 0030d0: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.:()V // method@0032 0030d6: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=52 locals : 0x0000 - 0x0004 reg=0 this LTestInvokeCustomWithConcurrentThreads; #2 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'access$000' type : '()Ljava/util/concurrent/atomic/AtomicInteger;' access : 0x1008 (STATIC SYNTHETIC) method_idx : 101 code - registers : 1 ins : 0 outs : 0 insns size : 3 16-bit code units 00304c: |[00304c] TestInvokeCustomWithConcurrentThreads.access$000:()Ljava/util/concurrent/atomic/AtomicInteger; 00305c: 6200 0800 |0000: sget-object v0, LTestInvokeCustomWithConcurrentThreads;.nextIndex:Ljava/util/concurrent/atomic/AtomicInteger; // field@0008 003060: 1100 |0002: return-object v0 catches : (none) positions : 0x0000 line=27 locals : #3 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'getThreadIndex' type : '()I' access : 0x000a (PRIVATE STATIC) method_idx : 105 code - registers : 1 ins : 0 outs : 1 insns size : 13 16-bit code units 002f00: |[002f00] TestInvokeCustomWithConcurrentThreads.getThreadIndex:()I 002f10: 6200 0a00 |0000: sget-object v0, LTestInvokeCustomWithConcurrentThreads;.threadIndex:Ljava/lang/ThreadLocal; // field@000a 002f14: 6e10 d000 0000 |0002: invoke-virtual {v0}, Ljava/lang/ThreadLocal;.get:()Ljava/lang/Object; // method@00d0 002f1a: 0c00 |0005: move-result-object v0 002f1c: 1f00 2700 |0006: check-cast v0, Ljava/lang/Integer; // type@0027 002f20: 6e10 bc00 0000 |0008: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@00bc 002f26: 0a00 |000b: move-result v0 002f28: 0f00 |000c: return v0 catches : (none) positions : 0x0000 line=55 locals : #4 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'linkerMethod' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' access : 0x000a (PRIVATE STATIC) method_idx : 106 code - registers : 8 ins : 3 outs : 4 insns size : 97 16-bit code units 002f78: |[002f78] TestInvokeCustomWithConcurrentThreads.linkerMethod:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 002f88: 1c00 0e00 |0000: const-class v0, LTestInvokeCustomWithConcurrentThreads; // type@000e 002f8c: 6e40 d800 0576 |0002: invoke-virtual {v5, v0, v6, v7}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 002f92: 0c00 |0005: move-result-object v0 002f94: 6e10 d400 0000 |0006: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandle;.type:()Ljava/lang/invoke/MethodType; // method@00d4 002f9a: 0c01 |0009: move-result-object v1 002f9c: 7120 6700 1700 |000a: invoke-static {v7, v1}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0067 002fa2: 6e10 d400 0000 |000d: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandle;.type:()Ljava/lang/invoke/MethodType; // method@00d4 002fa8: 0c01 |0010: move-result-object v1 002faa: 6e10 e300 0100 |0011: invoke-virtual {v1}, Ljava/lang/invoke/MethodType;.parameterCount:()I // method@00e3 002fb0: 0a01 |0014: move-result v1 002fb2: 1212 |0015: const/4 v2, #int 1 // #1 002fb4: 7120 6600 2100 |0016: invoke-static {v1, v2}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(II)V // method@0066 002fba: 2321 4800 |0019: new-array v1, v2, [Ljava/lang/Object; // type@0048 002fbe: 7100 6900 0000 |001b: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.getThreadIndex:()I // method@0069 002fc4: 0a03 |001e: move-result v3 002fc6: 7110 bd00 0300 |001f: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 002fcc: 0c03 |0022: move-result-object v3 002fce: 1204 |0023: const/4 v4, #int 0 // #0 002fd0: 4d03 0104 |0024: aput-object v3, v1, v4 002fd4: 7130 de00 4001 |0026: invoke-static {v0, v4, v1}, Ljava/lang/invoke/MethodHandles;.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle; // method@00de 002fda: 0c00 |0029: move-result-object v0 002fdc: 2321 4600 |002a: new-array v1, v2, [Ljava/lang/Class; // type@0046 002fe0: 6203 1200 |002c: sget-object v3, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@0012 002fe4: 4d03 0104 |002e: aput-object v3, v1, v4 002fe8: 7130 dd00 4001 |0030: invoke-static {v0, v4, v1}, Ljava/lang/invoke/MethodHandles;.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00dd 002fee: 0c00 |0033: move-result-object v0 002ff0: 6e10 d400 0000 |0034: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandle;.type:()Ljava/lang/invoke/MethodType; // method@00d4 002ff6: 0c01 |0037: move-result-object v1 002ff8: 6e10 e300 0100 |0038: invoke-virtual {v1}, Ljava/lang/invoke/MethodType;.parameterCount:()I // method@00e3 002ffe: 0a01 |003b: move-result v1 003000: 7120 6600 2100 |003c: invoke-static {v1, v2}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(II)V // method@0066 003006: 6e10 d400 0000 |003f: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandle;.type:()Ljava/lang/invoke/MethodType; // method@00d4 00300c: 0c01 |0042: move-result-object v1 00300e: 7120 6700 1700 |0043: invoke-static {v7, v1}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0067 003014: 6201 0500 |0046: sget-object v1, LTestInvokeCustomWithConcurrentThreads;.barrier:Ljava/util/concurrent/CyclicBarrier; // field@0005 003018: 6e10 ee00 0100 |0048: invoke-virtual {v1}, Ljava/util/concurrent/CyclicBarrier;.await:()I // method@00ee 00301e: 6201 0700 |004b: sget-object v1, LTestInvokeCustomWithConcurrentThreads;.instantiated:[Ljava/lang/invoke/CallSite; // field@0007 003022: 7100 6900 0000 |004d: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.getThreadIndex:()I // method@0069 003028: 0a02 |0050: move-result v2 00302a: 2203 3400 |0051: new-instance v3, Ljava/lang/invoke/ConstantCallSite; // type@0034 00302e: 7020 d200 0300 |0053: invoke-direct {v3, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 003034: 4d03 0102 |0056: aput-object v3, v1, v2 003038: 6201 0700 |0058: sget-object v1, LTestInvokeCustomWithConcurrentThreads;.instantiated:[Ljava/lang/invoke/CallSite; // field@0007 00303c: 7100 6900 0000 |005a: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.getThreadIndex:()I // method@0069 003042: 0a02 |005d: move-result v2 003044: 4601 0102 |005e: aget-object v1, v1, v2 003048: 1101 |0060: return-object v1 catches : (none) positions : 0x0000 line=87 0x0002 line=88 0x0006 line=89 0x000d line=90 0x0019 line=91 0x002a line=92 0x0034 line=93 0x003f line=94 0x0046 line=99 0x004b line=101 0x0058 line=102 locals : 0x0006 - 0x0061 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0061 reg=5 caller Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0061 reg=6 name Ljava/lang/String; 0x0000 - 0x0061 reg=7 methodType Ljava/lang/invoke/MethodType; #5 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'notUsed' type : '(I)I' access : 0x0009 (PUBLIC STATIC) method_idx : 107 code - registers : 1 ins : 1 outs : 0 insns size : 1 16-bit code units 002f2c: |[002f2c] TestInvokeCustomWithConcurrentThreads.notUsed:(I)I 002f3c: 0f00 |0000: return v0 catches : (none) positions : 0x0000 line=59 locals : 0x0000 - 0x0001 reg=0 x I #6 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'setCalled' type : '(I)I' access : 0x000a (PRIVATE STATIC) method_idx : 109 code - registers : 3 ins : 1 outs : 2 insns size : 20 16-bit code units 002f40: |[002f40] TestInvokeCustomWithConcurrentThreads.setCalled:(I)I 002f50: 6200 0600 |0000: sget-object v0, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006 002f54: 4600 0002 |0002: aget-object v0, v0, v2 002f58: 6e10 f100 0000 |0004: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.getAndIncrement:()I // method@00f1 002f5e: 6200 0900 |0007: sget-object v0, LTestInvokeCustomWithConcurrentThreads;.targetted:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0009 002f62: 7100 6900 0000 |0009: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.getThreadIndex:()I // method@0069 002f68: 0a01 |000c: move-result v1 002f6a: 4600 0001 |000d: aget-object v0, v0, v1 002f6e: 6e20 f200 2000 |000f: invoke-virtual {v0, v2}, Ljava/util/concurrent/atomic/AtomicInteger;.set:(I)V // method@00f2 002f74: 1200 |0012: const/4 v0, #int 0 // #0 002f76: 0f00 |0013: return v0 catches : (none) positions : 0x0000 line=79 0x0007 line=80 0x0012 line=81 locals : 0x0000 - 0x0014 reg=2 index I #7 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'test' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 110 code - registers : 12 ins : 0 outs : 3 insns size : 229 16-bit code units 0030fc: |[0030fc] TestInvokeCustomWithConcurrentThreads.test:()V 00310c: 1200 |0000: const/4 v0, #int 0 // #0 00310e: 0101 |0001: move v1, v0 003110: 1302 1000 |0002: const/16 v2, #int 16 // #10 003114: 3521 1700 |0004: if-ge v1, v2, 001b // +0017 003118: 6202 0600 |0006: sget-object v2, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006 00311c: 2203 3e00 |0008: new-instance v3, Ljava/util/concurrent/atomic/AtomicInteger; // type@003e 003120: 7020 ef00 0300 |000a: invoke-direct {v3, v0}, Ljava/util/concurrent/atomic/AtomicInteger;.:(I)V // method@00ef 003126: 4d03 0201 |000d: aput-object v3, v2, v1 00312a: 6202 0900 |000f: sget-object v2, LTestInvokeCustomWithConcurrentThreads;.targetted:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0009 00312e: 2203 3e00 |0011: new-instance v3, Ljava/util/concurrent/atomic/AtomicInteger; // type@003e 003132: 7020 ef00 0300 |0013: invoke-direct {v3, v0}, Ljava/util/concurrent/atomic/AtomicInteger;.:(I)V // method@00ef 003138: 4d03 0201 |0016: aput-object v3, v2, v1 00313c: d801 0101 |0018: add-int/lit8 v1, v1, #int 1 // #01 003140: 28e8 |001a: goto 0002 // -0018 003142: 2321 4a00 |001b: new-array v1, v2, [Ljava/lang/Thread; // type@004a 003146: 0103 |001d: move v3, v0 003148: 3523 1600 |001e: if-ge v3, v2, 0034 // +0016 00314c: 2204 2f00 |0020: new-instance v4, Ljava/lang/Thread; // type@002f 003150: 2205 0e00 |0022: new-instance v5, LTestInvokeCustomWithConcurrentThreads; // type@000e 003154: 7010 6400 0500 |0024: invoke-direct {v5}, LTestInvokeCustomWithConcurrentThreads;.:()V // method@0064 00315a: 7020 cb00 5400 |0027: invoke-direct {v4, v5}, Ljava/lang/Thread;.:(Ljava/lang/Runnable;)V // method@00cb 003160: 4d04 0103 |002a: aput-object v4, v1, v3 003164: 4604 0103 |002c: aget-object v4, v1, v3 003168: 6e10 ce00 0400 |002e: invoke-virtual {v4}, Ljava/lang/Thread;.start:()V // method@00ce 00316e: d803 0301 |0031: add-int/lit8 v3, v3, #int 1 // #01 003172: 28eb |0033: goto 001e // -0015 003174: 0103 |0034: move v3, v0 003176: 3523 0a00 |0035: if-ge v3, v2, 003f // +000a 00317a: 4604 0103 |0037: aget-object v4, v1, v3 00317e: 6e10 cd00 0400 |0039: invoke-virtual {v4}, Ljava/lang/Thread;.join:()V // method@00cd 003184: d803 0301 |003c: add-int/lit8 v3, v3, #int 1 // #01 003188: 28f7 |003e: goto 0035 // -0009 00318a: 1203 |003f: const/4 v3, #int 0 // #0 00318c: 1204 |0040: const/4 v4, #int 0 // #0 00318e: 0145 |0041: move v5, v4 003190: 0134 |0042: move v4, v3 003192: 0103 |0043: move v3, v0 003194: 3523 2200 |0044: if-ge v3, v2, 0066 // +0022 003198: 6206 0700 |0046: sget-object v6, LTestInvokeCustomWithConcurrentThreads;.instantiated:[Ljava/lang/invoke/CallSite; // field@0007 00319c: 4606 0603 |0048: aget-object v6, v6, v3 0031a0: 1207 |004a: const/4 v7, #int 0 // #0 0031a2: 7120 6800 7600 |004b: invoke-static {v6, v7}, LTestInvokeCustomWithConcurrentThreads;.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0068 0031a8: 6206 0600 |004e: sget-object v6, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006 0031ac: 4606 0603 |0050: aget-object v6, v6, v3 0031b0: 6e10 f000 0600 |0052: invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@00f0 0031b6: 0a06 |0055: move-result v6 0031b8: 3806 0d00 |0056: if-eqz v6, 0063 // +000d 0031bc: d804 0401 |0058: add-int/lit8 v4, v4, #int 1 // #01 0031c0: 6206 0600 |005a: sget-object v6, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006 0031c4: 4606 0603 |005c: aget-object v6, v6, v3 0031c8: 6e10 f000 0600 |005e: invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@00f0 0031ce: 0a06 |0061: move-result v6 0031d0: b065 |0062: add-int/2addr v5, v6 0031d2: d803 0301 |0063: add-int/lit8 v3, v3, #int 1 // #01 0031d6: 28df |0065: goto 0044 // -0021 0031d8: 6203 1300 |0066: sget-object v3, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0031dc: 2206 2d00 |0068: new-instance v6, Ljava/lang/StringBuilder; // type@002d 0031e0: 7010 c100 0600 |006a: invoke-direct {v6}, Ljava/lang/StringBuilder;.:()V // method@00c1 0031e6: 1a07 b800 |006d: const-string v7, "Winners " // string@00b8 0031ea: 6e20 c800 7600 |006f: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0031f0: 6e20 c500 4600 |0072: invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 0031f6: 1a07 0500 |0075: const-string v7, " Votes " // string@0005 0031fa: 6e20 c800 7600 |0077: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 003200: 6e20 c500 5600 |007a: invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 003206: 6e10 ca00 0600 |007d: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 00320c: 0c06 |0080: move-result-object v6 00320e: 6e20 b300 6300 |0081: invoke-virtual {v3, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003214: 1223 |0084: const/4 v3, #int 2 // #2 003216: 1216 |0085: const/4 v6, #int 1 // #1 003218: 3264 2c00 |0086: if-eq v4, v6, 00b2 // +002c 00321c: 6207 1300 |0088: sget-object v7, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003220: 1a08 9e00 |008a: const-string v8, "Threads did not the same call-sites:" // string@009e 003224: 6e20 b300 8700 |008c: invoke-virtual {v7, v8}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 00322a: 0107 |008f: move v7, v0 00322c: 3527 2200 |0090: if-ge v7, v2, 00b2 // +0022 003230: 6208 1300 |0092: sget-object v8, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003234: 1a09 0400 |0094: const-string v9, " Thread % 2d invoked call site instance #%02d " // string@0004 003238: 233a 4800 |0096: new-array v10, v3, [Ljava/lang/Object; // type@0048 00323c: 7110 bd00 0700 |0098: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 003242: 0c0b |009b: move-result-object v11 003244: 4d0b 0a00 |009c: aput-object v11, v10, v0 003248: 620b 0900 |009e: sget-object v11, LTestInvokeCustomWithConcurrentThreads;.targetted:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0009 00324c: 460b 0b07 |00a0: aget-object v11, v11, v7 003250: 6e10 f000 0b00 |00a2: invoke-virtual {v11}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@00f0 003256: 0a0b |00a5: move-result v11 003258: 7110 bd00 0b00 |00a6: invoke-static {v11}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 00325e: 0c0b |00a9: move-result-object v11 003260: 4d0b 0a06 |00aa: aput-object v11, v10, v6 003264: 6e30 ab00 980a |00ac: invoke-virtual {v8, v9, v10}, Ljava/io/PrintStream;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream; // method@00ab 00326a: d807 0701 |00af: add-int/lit8 v7, v7, #int 1 // #01 00326e: 28df |00b1: goto 0090 // -0021 003270: 3225 2c00 |00b2: if-eq v5, v2, 00de // +002c 003274: 6207 1300 |00b4: sget-object v7, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003278: 1a08 2000 |00b6: const-string v8, "Call-sites invocations :" // string@0020 00327c: 6e20 b300 8700 |00b8: invoke-virtual {v7, v8}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003282: 0107 |00bb: move v7, v0 003284: 3527 2200 |00bc: if-ge v7, v2, 00de // +0022 003288: 6208 1300 |00be: sget-object v8, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00328c: 1a09 0300 |00c0: const-string v9, " Call site instance #%02d was invoked % 2d times " // string@0003 003290: 233a 4800 |00c2: new-array v10, v3, [Ljava/lang/Object; // type@0048 003294: 7110 bd00 0700 |00c4: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 00329a: 0c0b |00c7: move-result-object v11 00329c: 4d0b 0a00 |00c8: aput-object v11, v10, v0 0032a0: 620b 0600 |00ca: sget-object v11, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006 0032a4: 460b 0b07 |00cc: aget-object v11, v11, v7 0032a8: 6e10 f000 0b00 |00ce: invoke-virtual {v11}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@00f0 0032ae: 0a0b |00d1: move-result v11 0032b0: 7110 bd00 0b00 |00d2: invoke-static {v11}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 0032b6: 0c0b |00d5: move-result-object v11 0032b8: 4d0b 0a06 |00d6: aput-object v11, v10, v6 0032bc: 6e30 ab00 980a |00d8: invoke-virtual {v8, v9, v10}, Ljava/io/PrintStream;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream; // method@00ab 0032c2: d807 0701 |00db: add-int/lit8 v7, v7, #int 1 // #01 0032c6: 28df |00dd: goto 00bc // -0021 0032c8: 7120 6600 6400 |00de: invoke-static {v4, v6}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(II)V // method@0066 0032ce: 7120 6600 2500 |00e1: invoke-static {v5, v2}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(II)V // method@0066 0032d4: 0e00 |00e4: return-void catches : (none) positions : 0x0000 line=107 0x0006 line=108 0x000f line=109 0x0018 line=107 0x001b line=113 0x001d line=114 0x0020 line=115 0x002c line=116 0x0031 line=114 0x0034 line=120 0x0037 line=121 0x003c line=120 0x003f line=125 0x0040 line=126 0x0041 line=127 0x0046 line=128 0x004e line=129 0x0058 line=130 0x005a line=131 0x0063 line=127 0x0066 line=135 0x0084 line=139 0x0088 line=140 0x008f line=141 0x0092 line=142 0x0098 line=143 0x00ac line=142 0x00af line=141 0x00b2 line=149 0x00b4 line=150 0x00bb line=151 0x00be line=152 0x00c4 line=153 0x00d8 line=152 0x00db line=151 0x00de line=157 0x00e1 line=158 0x00e4 line=159 locals : 0x0002 - 0x001b reg=1 i I 0x001e - 0x0034 reg=3 i I 0x0035 - 0x003f reg=3 i I 0x0040 - 0x0044 reg=3 winners I 0x0041 - 0x0044 reg=4 votes I 0x0044 - 0x0066 reg=3 i I 0x0090 - 0x00b2 reg=7 i I 0x00bc - 0x00de reg=7 i I 0x001d - 0x00e5 reg=1 threads [Ljava/lang/Thread; 0x0044 - 0x00e5 reg=4 winners I 0x0044 - 0x00e5 reg=5 votes I Virtual methods - #0 : (in LTestInvokeCustomWithConcurrentThreads;) name : 'run' type : '()V' access : 0x0001 (PUBLIC) method_idx : 108 code - registers : 2 ins : 1 outs : 1 insns size : 9 16-bit code units 0030d8: |[0030d8] TestInvokeCustomWithConcurrentThreads.run:()V 0030e8: 12f0 |0000: const/4 v0, #int -1 // #ff 0030ea: fc10 1a00 0000 |0001: invoke-custom {v0}, call_site@001a 0030f0: 0a00 |0004: move-result v0 0030f2: 7110 6b00 0000 |0005: invoke-static {v0}, LTestInvokeCustomWithConcurrentThreads;.notUsed:(I)I // method@006b 0030f8: 0e00 |0008: return-void catches : (none) positions : 0x0000 line=63 0x0005 line=64 0x0008 line=65 locals : 0x0005 - 0x0009 reg=0 x I 0x0000 - 0x0009 reg=1 this LTestInvokeCustomWithConcurrentThreads; source_file_idx : 149 (TestInvokeCustomWithConcurrentThreads.java) Class #10 header: class_idx : 15 access_flags : 1 (0x0001) superclass_idx : 9 interfaces_off : 0 (0x000000) source_file_idx : 151 annotations_off : 31180 (0x0079cc) class_data_off : 29403 (0x0072db) static_fields_size : 5 instance_fields_size: 0 direct_methods_size : 6 virtual_methods_size: 0 Class #10 annotations: Annotations on method #114 'add' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestLinkerMethodMinimalArguments; name="linkerMethod" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } } fieldOrMethodName="_add" parameterTypes={ I I } returnType=I Annotations on method #118 'linkerMethod' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #119 'test' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Class #10 - Class descriptor : 'LTestLinkerMethodMinimalArguments;' Access flags : 0x0001 (PUBLIC) Superclass : 'LTestBase;' Interfaces - Static fields - #0 : (in LTestLinkerMethodMinimalArguments;) name : 'FAILURE_TYPE_LINKER_METHOD_RETURNS_NULL' type : 'I' access : 0x0018 (STATIC FINAL) value : 1 #1 : (in LTestLinkerMethodMinimalArguments;) name : 'FAILURE_TYPE_LINKER_METHOD_THROWS' type : 'I' access : 0x0018 (STATIC FINAL) value : 2 #2 : (in LTestLinkerMethodMinimalArguments;) name : 'FAILURE_TYPE_NONE' type : 'I' access : 0x0018 (STATIC FINAL) value : 0 #3 : (in LTestLinkerMethodMinimalArguments;) name : 'FAILURE_TYPE_TARGET_METHOD_THROWS' type : 'I' access : 0x0018 (STATIC FINAL) value : 3 #4 : (in LTestLinkerMethodMinimalArguments;) name : 'forceFailureType' type : 'I' access : 0x000a (PRIVATE STATIC) Instance fields - Direct methods - #0 : (in LTestLinkerMethodMinimalArguments;) name : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) method_idx : 111 code - registers : 1 ins : 0 outs : 0 insns size : 4 16-bit code units 003404: |[003404] TestLinkerMethodMinimalArguments.:()V 003414: 1200 |0000: const/4 v0, #int 0 // #0 003416: 6700 0f00 |0001: sput v0, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f 00341a: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=26 locals : #1 : (in LTestLinkerMethodMinimalArguments;) name : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 112 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 00341c: |[00341c] TestLinkerMethodMinimalArguments.:()V 00342c: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.:()V // method@0032 003432: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=25 locals : 0x0000 - 0x0004 reg=0 this LTestLinkerMethodMinimalArguments; #2 : (in LTestLinkerMethodMinimalArguments;) name : '_add' type : '(II)I' access : 0x0008 (STATIC) method_idx : 113 code - registers : 4 ins : 2 outs : 2 insns size : 23 16-bit code units 0032d8: |[0032d8] TestLinkerMethodMinimalArguments._add:(II)I 0032e8: 6000 0f00 |0000: sget v0, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f 0032ec: 1231 |0002: const/4 v1, #int 3 // #3 0032ee: 3210 0500 |0003: if-eq v0, v1, 0008 // +0005 0032f2: 9000 0203 |0005: add-int v0, v2, v3 0032f6: 0f00 |0007: return v0 0032f8: 6200 1300 |0008: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0032fc: 1a01 a000 |000a: const-string v1, "Throwing ArithmeticException in add()" // string@00a0 003300: 6e20 b300 1000 |000c: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003306: 2200 1d00 |000f: new-instance v0, Ljava/lang/ArithmeticException; // type@001d 00330a: 1a01 cc00 |0011: const-string v1, "add" // string@00cc 00330e: 7020 b400 1000 |0013: invoke-direct {v0, v1}, Ljava/lang/ArithmeticException;.:(Ljava/lang/String;)V // method@00b4 003314: 2700 |0016: throw v0 catches : (none) positions : 0x0000 line=51 0x0005 line=55 0x0008 line=52 0x000f line=53 locals : 0x0000 - 0x0017 reg=2 a I 0x0000 - 0x0017 reg=3 b I #3 : (in LTestLinkerMethodMinimalArguments;) name : 'add' type : '(II)I' access : 0x000a (PRIVATE STATIC) method_idx : 114 code - registers : 3 ins : 2 outs : 0 insns size : 5 16-bit code units 003318: |[003318] TestLinkerMethodMinimalArguments.add:(II)I 003328: 7100 7400 0000 |0000: invoke-static {}, LTestLinkerMethodMinimalArguments;.assertNotReached:()V // method@0074 00332e: 12f0 |0003: const/4 v0, #int -1 // #ff 003330: 0f00 |0004: return v0 catches : (none) positions : 0x0000 line=45 0x0003 line=46 locals : 0x0000 - 0x0005 reg=1 a I 0x0000 - 0x0005 reg=2 b I #4 : (in LTestLinkerMethodMinimalArguments;) name : 'linkerMethod' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' access : 0x000a (PRIVATE STATIC) method_idx : 118 code - registers : 7 ins : 3 outs : 4 insns size : 96 16-bit code units 003334: |[003334] TestLinkerMethodMinimalArguments.linkerMethod:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 003344: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003348: 2201 2d00 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@002d 00334c: 7010 c100 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@00c1 003352: 1a02 6701 |0007: const-string v2, "linkerMethod failure type " // string@0167 003356: 6e20 c800 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 00335c: 6002 0f00 |000c: sget v2, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f 003360: 6e20 c500 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 003366: 6e10 ca00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 00336c: 0c01 |0014: move-result-object v1 00336e: 6e20 b300 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003374: 1c00 0f00 |0018: const-class v0, LTestLinkerMethodMinimalArguments; // type@000f 003378: 6e40 d800 0465 |001a: invoke-virtual {v4, v0, v5, v6}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 00337e: 0c00 |001d: move-result-object v0 003380: 6001 0f00 |001e: sget v1, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f 003384: 2b01 3800 0000 |0020: packed-switch v1, 00000058 // +00000038 00338a: 2201 3400 |0023: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 00338e: 7020 d200 0100 |0025: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 003394: 1101 |0028: return-object v1 003396: 6201 1300 |0029: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00339a: 1a02 a100 |002b: const-string v2, "Throwing InstantiationException in linkerMethod()" // string@00a1 00339e: 6e20 b300 2100 |002d: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 0033a4: 2201 2600 |0030: new-instance v1, Ljava/lang/InstantiationException; // type@0026 0033a8: 1a02 6601 |0032: const-string v2, "linkerMethod" // string@0166 0033ac: 7020 bb00 2100 |0034: invoke-direct {v1, v2}, Ljava/lang/InstantiationException;.:(Ljava/lang/String;)V // method@00bb 0033b2: 2701 |0037: throw v1 0033b4: 6201 1300 |0038: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 0033b8: 2202 2d00 |003a: new-instance v2, Ljava/lang/StringBuilder; // type@002d 0033bc: 7010 c100 0200 |003c: invoke-direct {v2}, Ljava/lang/StringBuilder;.:()V // method@00c1 0033c2: 1a03 8c00 |003f: const-string v3, "Returning null instead of CallSite for " // string@008c 0033c6: 6e20 c800 3200 |0041: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0033cc: 6e20 c800 5200 |0044: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0033d2: 1a03 0000 |0047: const-string v3, " " // string@0000 0033d6: 6e20 c800 3200 |0049: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0033dc: 6e20 c700 6200 |004c: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7 0033e2: 6e10 ca00 0200 |004f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 0033e8: 0c02 |0052: move-result-object v2 0033ea: 6e20 b300 2100 |0053: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 0033f0: 1201 |0056: const/4 v1, #int 0 // #0 0033f2: 1101 |0057: return-object v1 0033f4: 0001 0200 0100 0000 1800 0000 0900 ... |0058: packed-switch-data (8 units) catches : (none) positions : 0x0000 line=61 0x0018 line=62 0x001a line=63 0x001e line=64 0x0023 line=73 0x0029 line=70 0x0030 line=71 0x0038 line=66 0x0056 line=68 locals : 0x001e - 0x0060 reg=0 mh_add Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0060 reg=4 caller Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0060 reg=5 name Ljava/lang/String; 0x0000 - 0x0060 reg=6 methodType Ljava/lang/invoke/MethodType; #5 : (in LTestLinkerMethodMinimalArguments;) name : 'test' type : '(III)V' access : 0x0009 (PUBLIC STATIC) method_idx : 119 code - registers : 6 ins : 3 outs : 2 insns size : 68 16-bit code units 003434: |[003434] TestLinkerMethodMinimalArguments.test:(III)V 003444: 1200 |0000: const/4 v0, #int 0 // #0 003446: 1211 |0001: const/4 v1, #int 1 // #1 003448: 3a03 0400 |0002: if-ltz v3, 0006 // +0004 00344c: 0112 |0004: move v2, v1 00344e: 2802 |0005: goto 0007 // +0002 003450: 0102 |0006: move v2, v0 003452: 7110 7500 0200 |0007: invoke-static {v2}, LTestLinkerMethodMinimalArguments;.assertTrue:(Z)V // method@0075 003458: 1232 |000a: const/4 v2, #int 3 // #3 00345a: 3623 0400 |000b: if-gt v3, v2, 000f // +0004 00345e: 0110 |000d: move v0, v1 003460: 0000 |000e: nop // spacer 003462: 7110 7500 0000 |000f: invoke-static {v0}, LTestLinkerMethodMinimalArguments;.assertTrue:(Z)V // method@0075 003468: 6703 0f00 |0012: sput v3, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f 00346c: 9000 0405 |0014: add-int v0, v4, v5 003470: fc20 1b00 5400 |0016: invoke-custom {v4, v5}, call_site@001b 003476: 0a01 |0019: move-result v1 003478: 7120 7300 1000 |001a: invoke-static {v0, v1}, LTestLinkerMethodMinimalArguments;.assertEquals:(II)V // method@0073 00347e: 6200 1300 |001d: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003482: 2201 2d00 |001f: new-instance v1, Ljava/lang/StringBuilder; // type@002d 003486: 7010 c100 0100 |0021: invoke-direct {v1}, Ljava/lang/StringBuilder;.:()V // method@00c1 00348c: 1a02 2a00 |0024: const-string v2, "Failure Type + " // string@002a 003490: 6e20 c800 2100 |0026: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 003496: 6e20 c500 3100 |0029: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 00349c: 1a02 0100 |002c: const-string v2, " (" // string@0001 0034a0: 6e20 c800 2100 |002e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0034a6: 6e20 c500 4100 |0031: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 0034ac: 6e20 c500 5100 |0034: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 0034b2: 1a02 0700 |0037: const-string v2, ")" // string@0007 0034b6: 6e20 c800 2100 |0039: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 0034bc: 6e10 ca00 0100 |003c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 0034c2: 0c01 |003f: move-result-object v1 0034c4: 6e20 b300 1000 |0040: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 0034ca: 0e00 |0043: return-void catches : (none) positions : 0x0000 line=78 0x000a line=79 0x0012 line=80 0x0014 line=81 0x001d line=82 0x0043 line=83 locals : 0x0000 - 0x0044 reg=3 failureType I 0x0000 - 0x0044 reg=4 x I 0x0000 - 0x0044 reg=5 y I Virtual methods - source_file_idx : 151 (TestLinkerMethodMinimalArguments.java) Class #11 header: class_idx : 16 access_flags : 1 (0x0001) superclass_idx : 9 interfaces_off : 0 (0x000000) source_file_idx : 153 annotations_off : 31220 (0x0079f4) class_data_off : 29445 (0x007305) static_fields_size : 1 instance_fields_size: 0 direct_methods_size : 6 virtual_methods_size: 1 Class #11 annotations: Annotations on method #124 'add' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestLinkerMethodMultipleArgumentTypes; name="linkerMethod" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I I I I I F D Ljava/lang/String; Ljava/lang/Class; J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ -1 } Lannotations/Constant; intValue={ 1 } Lannotations/Constant; intValue={ 97 } Lannotations/Constant; intValue={ 1024 } Lannotations/Constant; intValue={ 1 } Lannotations/Constant; floatValue={ 11.1 } Lannotations/Constant; doubleValue={ 2.2 } Lannotations/Constant; stringValue={ "Hello" } Lannotations/Constant; classValue={ LTestLinkerMethodMultipleArgumentTypes; } Lannotations/Constant; longValue={ 123456789 } } fieldOrMethodName="_add" parameterTypes={ I I } returnType=I Annotations on method #131 'linkerMethod' VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/invoke/MethodHandles$Lookup;" "Ljava/lang/String;" "Ljava/lang/invoke/MethodType;" "IIIIIFD" "Ljava/lang/String;" "Ljava/lang/Class<" "*>;J)" "Ljava/lang/invoke/CallSite;" } VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #132 'test' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Class #11 - Class descriptor : 'LTestLinkerMethodMultipleArgumentTypes;' Access flags : 0x0001 (PUBLIC) Superclass : 'LTestBase;' Interfaces - Static fields - #0 : (in LTestLinkerMethodMultipleArgumentTypes;) name : 'bootstrapRunCount' type : 'I' access : 0x000a (PRIVATE STATIC) Instance fields - Direct methods - #0 : (in LTestLinkerMethodMultipleArgumentTypes;) name : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) method_idx : 120 code - registers : 1 ins : 0 outs : 0 insns size : 4 16-bit code units 003618: |[003618] TestLinkerMethodMultipleArgumentTypes.:()V 003628: 1200 |0000: const/4 v0, #int 0 // #0 00362a: 6700 1000 |0001: sput v0, LTestLinkerMethodMultipleArgumentTypes;.bootstrapRunCount:I // field@0010 00362e: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=28 locals : #1 : (in LTestLinkerMethodMultipleArgumentTypes;) name : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 121 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 003630: |[003630] TestLinkerMethodMultipleArgumentTypes.:()V 003640: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.:()V // method@0032 003646: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=26 locals : 0x0000 - 0x0004 reg=0 this LTestLinkerMethodMultipleArgumentTypes; #2 : (in LTestLinkerMethodMultipleArgumentTypes;) name : '_add' type : '(II)I' access : 0x000a (PRIVATE STATIC) method_idx : 123 code - registers : 3 ins : 2 outs : 0 insns size : 3 16-bit code units 0034e4: |[0034e4] TestLinkerMethodMultipleArgumentTypes._add:(II)I 0034f4: 9000 0102 |0000: add-int v0, v1, v2 0034f8: 0f00 |0002: return v0 catches : (none) positions : 0x0000 line=74 locals : 0x0000 - 0x0003 reg=1 a I 0x0000 - 0x0003 reg=2 b I #3 : (in LTestLinkerMethodMultipleArgumentTypes;) name : 'add' type : '(II)I' access : 0x000a (PRIVATE STATIC) method_idx : 124 code - registers : 3 ins : 2 outs : 0 insns size : 5 16-bit code units 0034fc: |[0034fc] TestLinkerMethodMultipleArgumentTypes.add:(II)I 00350c: 7100 8200 0000 |0000: invoke-static {}, LTestLinkerMethodMultipleArgumentTypes;.assertNotReached:()V // method@0082 003512: 12f0 |0003: const/4 v0, #int -1 // #ff 003514: 0f00 |0004: return v0 catches : (none) positions : 0x0000 line=68 0x0003 line=69 locals : 0x0000 - 0x0005 reg=1 a I 0x0000 - 0x0005 reg=2 b I #4 : (in LTestLinkerMethodMultipleArgumentTypes;) name : 'linkerMethod' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IIIIIFDLjava/lang/String;Ljava/lang/Class;J)Ljava/lang/invoke/CallSite;' access : 0x000a (PRIVATE STATIC) method_idx : 131 code - registers : 31 ins : 15 outs : 4 insns size : 119 16-bit code units 003518: |[003518] TestLinkerMethodMultipleArgumentTypes.linkerMethod:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IIIIIFDLjava/lang/String;Ljava/lang/Class;J)Ljava/lang/invoke/CallSite; 003528: 0800 1100 |0000: move-object/from16 v0, v17 00352c: 0801 1200 |0002: move-object/from16 v1, v18 003530: 6202 1300 |0004: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003534: 2203 2d00 |0006: new-instance v3, Ljava/lang/StringBuilder; // type@002d 003538: 7010 c100 0300 |0008: invoke-direct {v3}, Ljava/lang/StringBuilder;.:()V // method@00c1 00353e: 1a04 6100 |000b: const-string v4, "Linking " // string@0061 003542: 6e20 c800 4300 |000d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 003548: 6e20 c800 0300 |0010: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 00354e: 1a04 0000 |0013: const-string v4, " " // string@0000 003552: 6e20 c800 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 003558: 6e20 c700 1300 |0018: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7 00355e: 6e10 ca00 0300 |001b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 003564: 0c03 |001e: move-result-object v3 003566: 6e20 b300 3200 |001f: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 00356c: 12f2 |0022: const/4 v2, #int -1 // #ff 00356e: 0203 1300 |0023: move/from16 v3, v19 003572: 7120 7f00 3200 |0025: invoke-static {v2, v3}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f 003578: 1212 |0028: const/4 v2, #int 1 // #1 00357a: 0204 1400 |0029: move/from16 v4, v20 00357e: 7120 7f00 4200 |002b: invoke-static {v2, v4}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f 003584: 1305 6100 |002e: const/16 v5, #int 97 // #61 003588: 0206 1500 |0030: move/from16 v6, v21 00358c: 7120 7f00 6500 |0032: invoke-static {v5, v6}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f 003592: 1305 0004 |0035: const/16 v5, #int 1024 // #400 003596: 0207 1600 |0037: move/from16 v7, v22 00359a: 7120 7f00 7500 |0039: invoke-static {v5, v7}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f 0035a0: 0205 1700 |003c: move/from16 v5, v23 0035a4: 7120 7f00 5200 |003e: invoke-static {v2, v5}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f 0035aa: 1402 9a99 3141 |0041: const v2, #float 11.1 // #4131999a 0035b0: 0208 1800 |0044: move/from16 v8, v24 0035b4: 7120 7e00 8200 |0046: invoke-static {v2, v8}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(FF)V // method@007e 0035ba: 1809 9a99 9999 9999 0140 |0049: const-wide v9, #double 2.2 // #400199999999999a 0035c4: 050b 1900 |004e: move-wide/from16 v11, v25 0035c8: 7140 7d00 a9cb |0050: invoke-static {v9, v10, v11, v12}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(DD)V // method@007d 0035ce: 1a02 2c00 |0053: const-string v2, "Hello" // string@002c 0035d2: 0809 1b00 |0055: move-object/from16 v9, v27 0035d6: 7120 8100 9200 |0057: invoke-static {v2, v9}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0081 0035dc: 1c02 1000 |005a: const-class v2, LTestLinkerMethodMultipleArgumentTypes; // type@0010 0035e0: 080a 1c00 |005c: move-object/from16 v10, v28 0035e4: 7120 8100 a200 |005e: invoke-static {v2, v10}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0081 0035ea: 170d 15cd 5b07 |0061: const-wide/32 v13, #float 1.6536e-34 // #075bcd15 0035f0: 0502 1d00 |0064: move-wide/from16 v2, v29 0035f4: 7140 8000 ed32 |0066: invoke-static {v13, v14, v2, v3}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(JJ)V // method@0080 0035fa: 1c0d 1000 |0069: const-class v13, LTestLinkerMethodMultipleArgumentTypes; // type@0010 0035fe: 080e 1000 |006b: move-object/from16 v14, v16 003602: 6e40 d800 de10 |006d: invoke-virtual {v14, v13, v0, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 003608: 0c0d |0070: move-result-object v13 00360a: 220f 3400 |0071: new-instance v15, Ljava/lang/invoke/ConstantCallSite; // type@0034 00360e: 7020 d200 df00 |0073: invoke-direct {v15, v13}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 003614: 110f |0076: return-object v15 catches : (none) positions : 0x0000 line=93 0x0022 line=94 0x0028 line=95 0x002e line=96 0x0035 line=97 0x003c line=98 0x0041 line=99 0x0049 line=100 0x0053 line=101 0x005a line=102 0x0061 line=103 0x0069 line=104 0x006b line=105 0x0071 line=106 locals : 0x0000 - 0x0000 reg=28 (null) Ljava/lang/Class; 0x0071 - 0x0077 reg=13 mh_add Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0077 reg=16 caller Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0077 reg=17 name Ljava/lang/String; 0x0000 - 0x0077 reg=18 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x0077 reg=19 v1 I 0x0000 - 0x0077 reg=20 v2 I 0x0000 - 0x0077 reg=21 v3 I 0x0000 - 0x0077 reg=22 v4 I 0x0000 - 0x0077 reg=23 v5 I 0x0000 - 0x0077 reg=24 v6 F 0x0000 - 0x0077 reg=25 v7 D 0x0000 - 0x0077 reg=27 v8 Ljava/lang/String; 0x0000 - 0x0077 reg=28 v9 Ljava/lang/Class; Ljava/lang/Class<*>; 0x0000 - 0x0077 reg=29 v10 J #5 : (in LTestLinkerMethodMultipleArgumentTypes;) name : 'test' type : '(II)V' access : 0x0009 (PUBLIC STATIC) method_idx : 132 code - registers : 4 ins : 2 outs : 2 insns size : 17 16-bit code units 003648: |[003648] TestLinkerMethodMultipleArgumentTypes.test:(II)V 003658: 9000 0203 |0000: add-int v0, v2, v3 00365c: fc20 1c00 3200 |0002: invoke-custom {v2, v3}, call_site@001c 003662: 0a01 |0005: move-result v1 003664: 7120 7f00 1000 |0006: invoke-static {v0, v1}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f 00366a: 6200 1300 |0009: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 00366e: 9001 0203 |000b: add-int v1, v2, v3 003672: 6e20 b100 1000 |000d: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(I)V // method@00b1 003678: 0e00 |0010: return-void catches : (none) positions : 0x0000 line=114 0x0009 line=115 0x0010 line=116 locals : 0x0000 - 0x0011 reg=2 x I 0x0000 - 0x0011 reg=3 y I Virtual methods - #0 : (in LTestLinkerMethodMultipleArgumentTypes;) name : 'GetBootstrapRunCount' type : '()I' access : 0x0001 (PUBLIC) method_idx : 122 code - registers : 2 ins : 1 outs : 0 insns size : 3 16-bit code units 0034cc: |[0034cc] TestLinkerMethodMultipleArgumentTypes.GetBootstrapRunCount:()I 0034dc: 6000 1000 |0000: sget v0, LTestLinkerMethodMultipleArgumentTypes;.bootstrapRunCount:I // field@0010 0034e0: 0f00 |0002: return v0 catches : (none) positions : 0x0000 line=110 locals : 0x0000 - 0x0003 reg=1 this LTestLinkerMethodMultipleArgumentTypes; source_file_idx : 153 (TestLinkerMethodMultipleArgumentTypes.java) Class #12 header: class_idx : 17 access_flags : 0 (0x0000) superclass_idx : 9 interfaces_off : 0 (0x000000) source_file_idx : 154 annotations_off : 31260 (0x007a1c) class_data_off : 29483 (0x00732b) static_fields_size : 0 instance_fields_size: 0 direct_methods_size : 6 virtual_methods_size: 0 Class #12 annotations: Annotations on method #136 'addf' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LUnrelatedBSM; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Class; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; classValue={ LTestLinkerUnrelatedBSM; } } fieldOrMethodName="_addf" parameterTypes={ F F } returnType=F Annotations on method #139 'subf' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LUnrelatedBSM; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Class; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; classValue={ LTestLinkerUnrelatedBSM; } } fieldOrMethodName="_subf" parameterTypes={ F F } returnType=F Class #12 - Class descriptor : 'LTestLinkerUnrelatedBSM;' Access flags : 0x0000 () Superclass : 'LTestBase;' Interfaces - Static fields - Instance fields - Direct methods - #0 : (in LTestLinkerUnrelatedBSM;) name : '' type : '()V' access : 0x10000 (CONSTRUCTOR) method_idx : 133 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 0036e4: |[0036e4] TestLinkerUnrelatedBSM.:()V 0036f4: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.:()V // method@0032 0036fa: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=23 locals : 0x0000 - 0x0004 reg=0 this LTestLinkerUnrelatedBSM; #1 : (in LTestLinkerUnrelatedBSM;) name : '_addf' type : '(FF)F' access : 0x0009 (PUBLIC STATIC) method_idx : 134 code - registers : 3 ins : 2 outs : 0 insns size : 3 16-bit code units 00367c: |[00367c] TestLinkerUnrelatedBSM._addf:(FF)F 00368c: a600 0102 |0000: add-float v0, v1, v2 003690: 0f00 |0002: return v0 catches : (none) positions : 0x0000 line=47 locals : 0x0000 - 0x0003 reg=1 a F 0x0000 - 0x0003 reg=2 b F #2 : (in LTestLinkerUnrelatedBSM;) name : '_subf' type : '(FF)F' access : 0x000a (PRIVATE STATIC) method_idx : 135 code - registers : 3 ins : 2 outs : 0 insns size : 3 16-bit code units 003694: |[003694] TestLinkerUnrelatedBSM._subf:(FF)F 0036a4: a700 0102 |0000: sub-float v0, v1, v2 0036a8: 0f00 |0002: return v0 catches : (none) positions : 0x0000 line=73 locals : 0x0000 - 0x0003 reg=1 a F 0x0000 - 0x0003 reg=2 b F #3 : (in LTestLinkerUnrelatedBSM;) name : 'addf' type : '(FF)F' access : 0x000a (PRIVATE STATIC) method_idx : 136 code - registers : 3 ins : 2 outs : 0 insns size : 5 16-bit code units 0036ac: |[0036ac] TestLinkerUnrelatedBSM.addf:(FF)F 0036bc: 7100 8a00 0000 |0000: invoke-static {}, LTestLinkerUnrelatedBSM;.assertNotReached:()V // method@008a 0036c2: 1210 |0003: const/4 v0, #int 1 // #1 0036c4: 0f00 |0004: return v0 catches : (none) positions : 0x0000 line=42 0x0003 line=43 locals : 0x0000 - 0x0005 reg=1 a F 0x0000 - 0x0005 reg=2 b F #4 : (in LTestLinkerUnrelatedBSM;) name : 'subf' type : '(FF)F' access : 0x000a (PRIVATE STATIC) method_idx : 139 code - registers : 3 ins : 2 outs : 0 insns size : 5 16-bit code units 0036c8: |[0036c8] TestLinkerUnrelatedBSM.subf:(FF)F 0036d8: 7100 8a00 0000 |0000: invoke-static {}, LTestLinkerUnrelatedBSM;.assertNotReached:()V // method@008a 0036de: 1210 |0003: const/4 v0, #int 1 // #1 0036e0: 0f00 |0004: return v0 catches : (none) positions : 0x0000 line=68 0x0003 line=69 locals : 0x0000 - 0x0005 reg=1 a F 0x0000 - 0x0005 reg=2 b F #5 : (in LTestLinkerUnrelatedBSM;) name : 'test' type : '()V' access : 0x0009 (PUBLIC STATIC) method_idx : 140 code - registers : 4 ins : 0 outs : 2 insns size : 34 16-bit code units 0036fc: |[0036fc] TestLinkerUnrelatedBSM.test:()V 00370c: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003710: 1c01 1100 |0002: const-class v1, LTestLinkerUnrelatedBSM; // type@0011 003714: 6e10 b700 0100 |0004: invoke-virtual {v1}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@00b7 00371a: 0c01 |0007: move-result-object v1 00371c: 6e20 b300 1000 |0008: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003722: 1500 003f |000b: const/high16 v0, #int 1056964608 // #3f00 003726: 1501 0040 |000d: const/high16 v1, #int 1073741824 // #4000 00372a: fc20 1d00 0100 |000f: invoke-custom {v1, v0}, call_site@001d 003730: 0a02 |0012: move-result v2 003732: 1503 2040 |0013: const/high16 v3, #int 1075838976 // #4020 003736: 7120 8900 2300 |0015: invoke-static {v3, v2}, LTestLinkerUnrelatedBSM;.assertEquals:(FF)V // method@0089 00373c: fc20 1e00 0100 |0018: invoke-custom {v1, v0}, call_site@001e 003742: 0a00 |001b: move-result v0 003744: 1501 c03f |001c: const/high16 v1, #int 1069547520 // #3fc0 003748: 7120 8900 0100 |001e: invoke-static {v1, v0}, LTestLinkerUnrelatedBSM;.assertEquals:(FF)V // method@0089 00374e: 0e00 |0021: return-void catches : (none) positions : 0x0000 line=77 0x000b line=78 0x0018 line=79 0x0021 line=80 locals : Virtual methods - source_file_idx : 154 (TestLinkerUnrelatedBSM.java) Class #13 header: class_idx : 18 access_flags : 1 (0x0001) superclass_idx : 9 interfaces_off : 0 (0x000000) source_file_idx : 156 annotations_off : 31292 (0x007a3c) class_data_off : 29514 (0x00734a) static_fields_size : 0 instance_fields_size: 0 direct_methods_size : 27 virtual_methods_size: 0 Class #13 annotations: Annotations on method #143 'bsmWithBoxedArray' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #144 'bsmWithClassAndFloatArray' VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/invoke/MethodHandles$Lookup;" "Ljava/lang/String;" "Ljava/lang/invoke/MethodType;" "Ljava/lang/Class<" "*>;[F)" "Ljava/lang/invoke/CallSite;" } VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #145 'bsmWithClassArray' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #146 'bsmWithDoubleArray' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #147 'bsmWithFloatAndLongArray' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #148 'bsmWithIntAndStringArray' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #149 'bsmWithLongAndIntArray' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #150 'bsmWithStringArray' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #151 'bsmWithWiderArray' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Annotations on method #152 'methodA' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; stringValue={ "Aachen" } Lannotations/Constant; stringValue={ "Aalborg" } Lannotations/Constant; stringValue={ "Aalto" } } fieldOrMethodName="methodA" Annotations on method #153 'methodB' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; stringValue={ "barium" } } fieldOrMethodName="methodB" Annotations on method #154 'methodC' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/String; } } fieldOrMethodName="methodC" Annotations on method #155 'methodD' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 101 } Lannotations/Constant; stringValue={ "zoo" } Lannotations/Constant; stringValue={ "zoogene" } Lannotations/Constant; stringValue={ "zoogenic" } } fieldOrMethodName="methodD" Annotations on method #156 'methodE' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 102 } Lannotations/Constant; stringValue={ "zonic" } } fieldOrMethodName="methodE" Annotations on method #157 'methodF' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 103 } } fieldOrMethodName="methodF" Annotations on method #158 'methodG' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithLongAndIntArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; J [I } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; longValue={ 81985529216486895 } Lannotations/Constant; intValue={ 1 } Lannotations/Constant; intValue={ -1 } Lannotations/Constant; intValue={ 2 } Lannotations/Constant; intValue={ -2 } } fieldOrMethodName="methodG" Annotations on method #159 'methodH' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithFloatAndLongArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; F [J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; floatValue={ -2.71828 } Lannotations/Constant; longValue={ 999999999999 } Lannotations/Constant; longValue={ -8888888888888 } } fieldOrMethodName="methodH" Annotations on method #160 'methodI' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithClassAndFloatArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Class; [F } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; classValue={ Ljava/lang/Throwable; } Lannotations/Constant; floatValue={ 3.40282e+38 } Lannotations/Constant; floatValue={ 1.4013e-45 } Lannotations/Constant; floatValue={ 3.14159 } Lannotations/Constant; floatValue={ -3.14159 } } fieldOrMethodName="methodI" Annotations on method #161 'methodJ' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithDoubleArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [D } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; doubleValue={ 1.79769e+308 } Lannotations/Constant; doubleValue={ 4.94066e-324 } Lannotations/Constant; doubleValue={ 2.71828 } Lannotations/Constant; doubleValue={ -3.14159 } } fieldOrMethodName="methodJ" Annotations on method #162 'methodK' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithClassArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/Class; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; classValue={ Ljava/lang/Integer; } Lannotations/Constant; classValue={ Ljava/lang/invoke/MethodHandles; } Lannotations/Constant; classValue={ Ljava/util/Arrays; } } fieldOrMethodName="methodK" Annotations on method #163 'methodO' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 103 } Lannotations/Constant; intValue={ 104 } } fieldOrMethodName="methodO" Annotations on method #164 'methodP' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 103 } Lannotations/Constant; stringValue={ "A" } Lannotations/Constant; stringValue={ "B" } Lannotations/Constant; intValue={ 42 } } fieldOrMethodName="methodP" Annotations on method #165 'methodQ' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithWiderArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 103 } Lannotations/Constant; intValue={ 42 } } fieldOrMethodName="methodQ" Annotations on method #166 'methodR' VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithBoxedArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/Integer; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 1030 } Lannotations/Constant; intValue={ 420 } } fieldOrMethodName="methodR" Class #13 - Class descriptor : 'LTestVariableArityLinkerMethod;' Access flags : 0x0001 (PUBLIC) Superclass : 'LTestBase;' Interfaces - Static fields - Instance fields - Direct methods - #0 : (in LTestVariableArityLinkerMethod;) name : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 141 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 003a7c: |[003a7c] TestVariableArityLinkerMethod.:()V 003a8c: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.:()V // method@0032 003a92: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=27 locals : 0x0000 - 0x0004 reg=0 this LTestVariableArityLinkerMethod; #1 : (in LTestVariableArityLinkerMethod;) name : 'bsmWithBoxedArray' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Integer;)Ljava/lang/invoke/CallSite;' access : 0x000a (PRIVATE STATIC) method_idx : 143 code - registers : 7 ins : 4 outs : 4 insns size : 34 16-bit code units 003750: |[003750] TestVariableArityLinkerMethod.bsmWithBoxedArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Integer;)Ljava/lang/invoke/CallSite; 003760: 1a00 f800 |0000: const-string v0, "bsmWithBoxedArray" // string@00f8 003764: 1241 |0002: const/4 v1, #int 4 // #4 003766: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 00376a: 1202 |0005: const/4 v2, #int 0 // #0 00376c: 4d03 0102 |0006: aput-object v3, v1, v2 003770: 1212 |0008: const/4 v2, #int 1 // #1 003772: 4d04 0102 |0009: aput-object v4, v1, v2 003776: 1222 |000b: const/4 v2, #int 2 // #2 003778: 4d05 0102 |000c: aput-object v5, v1, v2 00377c: 1232 |000e: const/4 v2, #int 3 // #3 00377e: 4d06 0102 |000f: aput-object v6, v1, v2 003782: 7120 a700 1000 |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 003788: 6e10 dc00 0300 |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 00378e: 0c00 |0017: move-result-object v0 003790: 6e40 d800 0354 |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 003796: 0c00 |001b: move-result-object v0 003798: 2201 3400 |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 00379c: 7020 d200 0100 |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 0037a2: 1101 |0021: return-object v1 catches : (none) positions : 0x0000 line=477 0x0014 line=478 0x001c line=479 locals : 0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x0022 reg=6 extraArgs [Ljava/lang/Integer; #2 : (in LTestVariableArityLinkerMethod;) name : 'bsmWithClassAndFloatArray' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;[F)Ljava/lang/invoke/CallSite;' access : 0x008a (PRIVATE STATIC VARARGS) method_idx : 144 code - registers : 8 ins : 5 outs : 4 insns size : 37 16-bit code units 0037a4: |[0037a4] TestVariableArityLinkerMethod.bsmWithClassAndFloatArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;[F)Ljava/lang/invoke/CallSite; 0037b4: 1a00 f900 |0000: const-string v0, "bsmWithClassAndFloatArray" // string@00f9 0037b8: 1251 |0002: const/4 v1, #int 5 // #5 0037ba: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 0037be: 1202 |0005: const/4 v2, #int 0 // #0 0037c0: 4d03 0102 |0006: aput-object v3, v1, v2 0037c4: 1212 |0008: const/4 v2, #int 1 // #1 0037c6: 4d04 0102 |0009: aput-object v4, v1, v2 0037ca: 1222 |000b: const/4 v2, #int 2 // #2 0037cc: 4d05 0102 |000c: aput-object v5, v1, v2 0037d0: 1232 |000e: const/4 v2, #int 3 // #3 0037d2: 4d06 0102 |000f: aput-object v6, v1, v2 0037d6: 1242 |0011: const/4 v2, #int 4 // #4 0037d8: 4d07 0102 |0012: aput-object v7, v1, v2 0037dc: 7120 a700 1000 |0014: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 0037e2: 6e10 dc00 0300 |0017: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 0037e8: 0c00 |001a: move-result-object v0 0037ea: 6e40 d800 0354 |001b: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 0037f0: 0c00 |001e: move-result-object v0 0037f2: 2201 3400 |001f: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 0037f6: 7020 d200 0100 |0021: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 0037fc: 1101 |0024: return-object v1 catches : (none) positions : 0x0000 line=294 0x0017 line=296 0x001f line=297 locals : 0x0000 - 0x0000 reg=6 (null) Ljava/lang/Class; 0x001f - 0x0025 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0025 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0025 reg=4 methodName Ljava/lang/String; 0x0000 - 0x0025 reg=5 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x0025 reg=6 extraArg Ljava/lang/Class; Ljava/lang/Class<*>; 0x0000 - 0x0025 reg=7 arityArgs [F #3 : (in LTestVariableArityLinkerMethod;) name : 'bsmWithClassArray' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Class;)Ljava/lang/invoke/CallSite;' access : 0x008a (PRIVATE STATIC VARARGS) method_idx : 145 code - registers : 7 ins : 4 outs : 4 insns size : 34 16-bit code units 003800: |[003800] TestVariableArityLinkerMethod.bsmWithClassArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Class;)Ljava/lang/invoke/CallSite; 003810: 1a00 fa00 |0000: const-string v0, "bsmWithClassArray" // string@00fa 003814: 1241 |0002: const/4 v1, #int 4 // #4 003816: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 00381a: 1202 |0005: const/4 v2, #int 0 // #0 00381c: 4d03 0102 |0006: aput-object v3, v1, v2 003820: 1212 |0008: const/4 v2, #int 1 // #1 003822: 4d04 0102 |0009: aput-object v4, v1, v2 003826: 1222 |000b: const/4 v2, #int 2 // #2 003828: 4d05 0102 |000c: aput-object v5, v1, v2 00382c: 1232 |000e: const/4 v2, #int 3 // #3 00382e: 4d06 0102 |000f: aput-object v6, v1, v2 003832: 7120 a700 1000 |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 003838: 6e10 dc00 0300 |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 00383e: 0c00 |0017: move-result-object v0 003840: 6e40 d800 0354 |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 003846: 0c00 |001b: move-result-object v0 003848: 2201 3400 |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 00384c: 7020 d200 0100 |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 003852: 1101 |0021: return-object v1 catches : (none) positions : 0x0000 line=367 0x0014 line=368 0x001c line=369 locals : 0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x0022 reg=6 arityArgs [Ljava/lang/Class; #4 : (in LTestVariableArityLinkerMethod;) name : 'bsmWithDoubleArray' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[D)Ljava/lang/invoke/CallSite;' access : 0x008a (PRIVATE STATIC VARARGS) method_idx : 146 code - registers : 7 ins : 4 outs : 4 insns size : 34 16-bit code units 003854: |[003854] TestVariableArityLinkerMethod.bsmWithDoubleArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[D)Ljava/lang/invoke/CallSite; 003864: 1a00 fb00 |0000: const-string v0, "bsmWithDoubleArray" // string@00fb 003868: 1241 |0002: const/4 v1, #int 4 // #4 00386a: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 00386e: 1202 |0005: const/4 v2, #int 0 // #0 003870: 4d03 0102 |0006: aput-object v3, v1, v2 003874: 1212 |0008: const/4 v2, #int 1 // #1 003876: 4d04 0102 |0009: aput-object v4, v1, v2 00387a: 1222 |000b: const/4 v2, #int 2 // #2 00387c: 4d05 0102 |000c: aput-object v5, v1, v2 003880: 1232 |000e: const/4 v2, #int 3 // #3 003882: 4d06 0102 |000f: aput-object v6, v1, v2 003886: 7120 a700 1000 |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 00388c: 6e10 dc00 0300 |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 003892: 0c00 |0017: move-result-object v0 003894: 6e40 d800 0354 |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 00389a: 0c00 |001b: move-result-object v0 00389c: 2201 3400 |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 0038a0: 7020 d200 0100 |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 0038a6: 1101 |0021: return-object v1 catches : (none) positions : 0x0000 line=332 0x0014 line=333 0x001c line=334 locals : 0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x0022 reg=6 arityArgs [D #5 : (in LTestVariableArityLinkerMethod;) name : 'bsmWithFloatAndLongArray' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;F[J)Ljava/lang/invoke/CallSite;' access : 0x008a (PRIVATE STATIC VARARGS) method_idx : 147 code - registers : 9 ins : 5 outs : 4 insns size : 41 16-bit code units 0038a8: |[0038a8] TestVariableArityLinkerMethod.bsmWithFloatAndLongArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;F[J)Ljava/lang/invoke/CallSite; 0038b8: 1a00 fc00 |0000: const-string v0, "bsmWithFloatAndLongArray" // string@00fc 0038bc: 1251 |0002: const/4 v1, #int 5 // #5 0038be: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 0038c2: 1202 |0005: const/4 v2, #int 0 // #0 0038c4: 4d04 0102 |0006: aput-object v4, v1, v2 0038c8: 1212 |0008: const/4 v2, #int 1 // #1 0038ca: 4d05 0102 |0009: aput-object v5, v1, v2 0038ce: 1222 |000b: const/4 v2, #int 2 // #2 0038d0: 4d06 0102 |000c: aput-object v6, v1, v2 0038d4: 7110 ba00 0700 |000e: invoke-static {v7}, Ljava/lang/Float;.valueOf:(F)Ljava/lang/Float; // method@00ba 0038da: 0c02 |0011: move-result-object v2 0038dc: 1233 |0012: const/4 v3, #int 3 // #3 0038de: 4d02 0103 |0013: aput-object v2, v1, v3 0038e2: 1242 |0015: const/4 v2, #int 4 // #4 0038e4: 4d08 0102 |0016: aput-object v8, v1, v2 0038e8: 7120 a700 1000 |0018: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 0038ee: 6e10 dc00 0400 |001b: invoke-virtual {v4}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 0038f4: 0c00 |001e: move-result-object v0 0038f6: 6e40 d800 0465 |001f: invoke-virtual {v4, v0, v5, v6}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 0038fc: 0c00 |0022: move-result-object v0 0038fe: 2201 3400 |0023: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 003902: 7020 d200 0100 |0025: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 003908: 1101 |0028: return-object v1 catches : (none) positions : 0x0000 line=257 0x000e line=258 0x0018 line=257 0x001b line=259 0x0023 line=260 locals : 0x0023 - 0x0029 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0029 reg=4 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0029 reg=5 methodName Ljava/lang/String; 0x0000 - 0x0029 reg=6 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x0029 reg=7 extraArg F 0x0000 - 0x0029 reg=8 arityArgs [J #6 : (in LTestVariableArityLinkerMethod;) name : 'bsmWithIntAndStringArray' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I[Ljava/lang/String;)Ljava/lang/invoke/CallSite;' access : 0x008a (PRIVATE STATIC VARARGS) method_idx : 148 code - registers : 9 ins : 5 outs : 4 insns size : 41 16-bit code units 00390c: |[00390c] TestVariableArityLinkerMethod.bsmWithIntAndStringArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I[Ljava/lang/String;)Ljava/lang/invoke/CallSite; 00391c: 1a00 fd00 |0000: const-string v0, "bsmWithIntAndStringArray" // string@00fd 003920: 1251 |0002: const/4 v1, #int 5 // #5 003922: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 003926: 1202 |0005: const/4 v2, #int 0 // #0 003928: 4d04 0102 |0006: aput-object v4, v1, v2 00392c: 1212 |0008: const/4 v2, #int 1 // #1 00392e: 4d05 0102 |0009: aput-object v5, v1, v2 003932: 1222 |000b: const/4 v2, #int 2 // #2 003934: 4d06 0102 |000c: aput-object v6, v1, v2 003938: 7110 bd00 0700 |000e: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 00393e: 0c02 |0011: move-result-object v2 003940: 1233 |0012: const/4 v3, #int 3 // #3 003942: 4d02 0103 |0013: aput-object v2, v1, v3 003946: 1242 |0015: const/4 v2, #int 4 // #4 003948: 4d08 0102 |0016: aput-object v8, v1, v2 00394c: 7120 a700 1000 |0018: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 003952: 6e10 dc00 0400 |001b: invoke-virtual {v4}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 003958: 0c00 |001e: move-result-object v0 00395a: 6e40 d800 0465 |001f: invoke-virtual {v4, v0, v5, v6}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 003960: 0c00 |0022: move-result-object v0 003962: 2201 3400 |0023: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 003966: 7020 d200 0100 |0025: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 00396c: 1101 |0028: return-object v1 catches : (none) positions : 0x0000 line=133 0x000e line=138 0x0018 line=133 0x001b line=140 0x0023 line=141 locals : 0x0023 - 0x0029 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0029 reg=4 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0029 reg=5 methodName Ljava/lang/String; 0x0000 - 0x0029 reg=6 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x0029 reg=7 extraInt I 0x0000 - 0x0029 reg=8 extraArityArgs [Ljava/lang/String; #7 : (in LTestVariableArityLinkerMethod;) name : 'bsmWithLongAndIntArray' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;J[I)Ljava/lang/invoke/CallSite;' access : 0x008a (PRIVATE STATIC VARARGS) method_idx : 149 code - registers : 10 ins : 6 outs : 4 insns size : 41 16-bit code units 003970: |[003970] TestVariableArityLinkerMethod.bsmWithLongAndIntArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;J[I)Ljava/lang/invoke/CallSite; 003980: 1a00 fe00 |0000: const-string v0, "bsmWithLongAndIntArray" // string@00fe 003984: 1251 |0002: const/4 v1, #int 5 // #5 003986: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 00398a: 1202 |0005: const/4 v2, #int 0 // #0 00398c: 4d04 0102 |0006: aput-object v4, v1, v2 003990: 1212 |0008: const/4 v2, #int 1 // #1 003992: 4d05 0102 |0009: aput-object v5, v1, v2 003996: 1222 |000b: const/4 v2, #int 2 // #2 003998: 4d06 0102 |000c: aput-object v6, v1, v2 00399c: 7120 be00 8700 |000e: invoke-static {v7, v8}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@00be 0039a2: 0c02 |0011: move-result-object v2 0039a4: 1233 |0012: const/4 v3, #int 3 // #3 0039a6: 4d02 0103 |0013: aput-object v2, v1, v3 0039aa: 1242 |0015: const/4 v2, #int 4 // #4 0039ac: 4d09 0102 |0016: aput-object v9, v1, v2 0039b0: 7120 a700 1000 |0018: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 0039b6: 6e10 dc00 0400 |001b: invoke-virtual {v4}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 0039bc: 0c00 |001e: move-result-object v0 0039be: 6e40 d800 0465 |001f: invoke-virtual {v4, v0, v5, v6}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 0039c4: 0c00 |0022: move-result-object v0 0039c6: 2201 3400 |0023: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 0039ca: 7020 d200 0100 |0025: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 0039d0: 1101 |0028: return-object v1 catches : (none) positions : 0x0000 line=219 0x001b line=220 0x0023 line=221 locals : 0x0023 - 0x0029 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0029 reg=4 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0029 reg=5 methodName Ljava/lang/String; 0x0000 - 0x0029 reg=6 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x0029 reg=7 extraArg J 0x0000 - 0x0029 reg=9 arityArgs [I #8 : (in LTestVariableArityLinkerMethod;) name : 'bsmWithStringArray' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/String;)Ljava/lang/invoke/CallSite;' access : 0x008a (PRIVATE STATIC VARARGS) method_idx : 150 code - registers : 7 ins : 4 outs : 4 insns size : 34 16-bit code units 0039d4: |[0039d4] TestVariableArityLinkerMethod.bsmWithStringArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/String;)Ljava/lang/invoke/CallSite; 0039e4: 1a00 ff00 |0000: const-string v0, "bsmWithStringArray" // string@00ff 0039e8: 1241 |0002: const/4 v1, #int 4 // #4 0039ea: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 0039ee: 1202 |0005: const/4 v2, #int 0 // #0 0039f0: 4d03 0102 |0006: aput-object v3, v1, v2 0039f4: 1212 |0008: const/4 v2, #int 1 // #1 0039f6: 4d04 0102 |0009: aput-object v4, v1, v2 0039fa: 1222 |000b: const/4 v2, #int 2 // #2 0039fc: 4d05 0102 |000c: aput-object v5, v1, v2 003a00: 1232 |000e: const/4 v2, #int 3 // #3 003a02: 4d06 0102 |000f: aput-object v6, v1, v2 003a06: 7120 a700 1000 |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 003a0c: 6e10 dc00 0300 |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 003a12: 0c00 |0017: move-result-object v0 003a14: 6e40 d800 0354 |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 003a1a: 0c00 |001b: move-result-object v0 003a1c: 2201 3400 |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 003a20: 7020 d200 0100 |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 003a26: 1101 |0021: return-object v1 catches : (none) positions : 0x0000 line=61 0x0014 line=62 0x001c line=63 locals : 0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x0022 reg=6 arityArgs [Ljava/lang/String; #9 : (in LTestVariableArityLinkerMethod;) name : 'bsmWithWiderArray' type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[J)Ljava/lang/invoke/CallSite;' access : 0x000a (PRIVATE STATIC) method_idx : 151 code - registers : 7 ins : 4 outs : 4 insns size : 34 16-bit code units 003a28: |[003a28] TestVariableArityLinkerMethod.bsmWithWiderArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[J)Ljava/lang/invoke/CallSite; 003a38: 1a00 0001 |0000: const-string v0, "bsmWithWiderArray" // string@0100 003a3c: 1241 |0002: const/4 v1, #int 4 // #4 003a3e: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 003a42: 1202 |0005: const/4 v2, #int 0 // #0 003a44: 4d03 0102 |0006: aput-object v3, v1, v2 003a48: 1212 |0008: const/4 v2, #int 1 // #1 003a4a: 4d04 0102 |0009: aput-object v4, v1, v2 003a4e: 1222 |000b: const/4 v2, #int 2 // #2 003a50: 4d05 0102 |000c: aput-object v5, v1, v2 003a54: 1232 |000e: const/4 v2, #int 3 // #3 003a56: 4d06 0102 |000f: aput-object v6, v1, v2 003a5a: 7120 a700 1000 |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 003a60: 6e10 dc00 0300 |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 003a66: 0c00 |0017: move-result-object v0 003a68: 6e40 d800 0354 |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 003a6e: 0c00 |001b: move-result-object v0 003a70: 2201 3400 |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 003a74: 7020 d200 0100 |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 003a7a: 1101 |0021: return-object v1 catches : (none) positions : 0x0000 line=447 0x0014 line=448 0x001c line=449 locals : 0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 0x0000 - 0x0022 reg=6 extraArgs [J #10 : (in LTestVariableArityLinkerMethod;) name : 'methodA' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 152 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 003a94: |[003a94] TestVariableArityLinkerMethod.methodA:()V 003aa4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003aa8: 1a01 7501 |0002: const-string v1, "methodA" // string@0175 003aac: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003ab2: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=86 0x0007 line=87 locals : #11 : (in LTestVariableArityLinkerMethod;) name : 'methodB' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 153 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 003ab4: |[003ab4] TestVariableArityLinkerMethod.methodB:()V 003ac4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003ac8: 1a01 7601 |0002: const-string v1, "methodB" // string@0176 003acc: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003ad2: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=105 0x0007 line=106 locals : #12 : (in LTestVariableArityLinkerMethod;) name : 'methodC' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 154 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 003ad4: |[003ad4] TestVariableArityLinkerMethod.methodC:()V 003ae4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003ae8: 1a01 7701 |0002: const-string v1, "methodC" // string@0177 003aec: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003af2: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=123 0x0007 line=124 locals : #13 : (in LTestVariableArityLinkerMethod;) name : 'methodD' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 155 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 003af4: |[003af4] TestVariableArityLinkerMethod.methodD:()V 003b04: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003b08: 1a01 7801 |0002: const-string v1, "methodD" // string@0178 003b0c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003b12: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=166 0x0007 line=167 locals : #14 : (in LTestVariableArityLinkerMethod;) name : 'methodE' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 156 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 003b14: |[003b14] TestVariableArityLinkerMethod.methodE:()V 003b24: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003b28: 1a01 7901 |0002: const-string v1, "methodE" // string@0179 003b2c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003b32: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=189 0x0007 line=190 locals : #15 : (in LTestVariableArityLinkerMethod;) name : 'methodF' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 157 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 003b34: |[003b34] TestVariableArityLinkerMethod.methodF:()V 003b44: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003b48: 1a01 7a01 |0002: const-string v1, "methodF" // string@017a 003b4c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003b52: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=209 0x0007 line=210 locals : #16 : (in LTestVariableArityLinkerMethod;) name : 'methodG' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 158 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 003b54: |[003b54] TestVariableArityLinkerMethod.methodG:()V 003b64: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003b68: 1a01 7b01 |0002: const-string v1, "methodG" // string@017b 003b6c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003b72: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=247 0x0007 line=248 locals : #17 : (in LTestVariableArityLinkerMethod;) name : 'methodH' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 159 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 003b74: |[003b74] TestVariableArityLinkerMethod.methodH:()V 003b84: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003b88: 1a01 7c01 |0002: const-string v1, "methodH" // string@017c 003b8c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003b92: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=284 0x0007 line=285 locals : #18 : (in LTestVariableArityLinkerMethod;) name : 'methodI' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 160 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 003b94: |[003b94] TestVariableArityLinkerMethod.methodI:()V 003ba4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003ba8: 1a01 7d01 |0002: const-string v1, "methodI" // string@017d 003bac: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003bb2: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=323 0x0007 line=324 locals : #19 : (in LTestVariableArityLinkerMethod;) name : 'methodJ' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 161 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 003bb4: |[003bb4] TestVariableArityLinkerMethod.methodJ:()V 003bc4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003bc8: 1a01 7e01 |0002: const-string v1, "methodJ" // string@017e 003bcc: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003bd2: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=358 0x0007 line=359 locals : #20 : (in LTestVariableArityLinkerMethod;) name : 'methodK' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 162 code - registers : 2 ins : 0 outs : 2 insns size : 8 16-bit code units 003bd4: |[003bd4] TestVariableArityLinkerMethod.methodK:()V 003be4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003be8: 1a01 7f01 |0002: const-string v1, "methodK" // string@017f 003bec: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003bf2: 0e00 |0007: return-void catches : (none) positions : 0x0000 line=392 0x0007 line=393 locals : #21 : (in LTestVariableArityLinkerMethod;) name : 'methodO' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 163 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 003bf4: |[003bf4] TestVariableArityLinkerMethod.methodO:()V 003c04: 7100 8e00 0000 |0000: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 003c0a: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=413 0x0003 line=414 locals : #22 : (in LTestVariableArityLinkerMethod;) name : 'methodP' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 164 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 003c0c: |[003c0c] TestVariableArityLinkerMethod.methodP:()V 003c1c: 7100 8e00 0000 |0000: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 003c22: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=441 0x0003 line=442 locals : #23 : (in LTestVariableArityLinkerMethod;) name : 'methodQ' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 165 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 003c24: |[003c24] TestVariableArityLinkerMethod.methodQ:()V 003c34: 7100 8e00 0000 |0000: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 003c3a: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=468 0x0003 line=469 locals : #24 : (in LTestVariableArityLinkerMethod;) name : 'methodR' type : '()V' access : 0x000a (PRIVATE STATIC) method_idx : 166 code - registers : 0 ins : 0 outs : 0 insns size : 4 16-bit code units 003c3c: |[003c3c] TestVariableArityLinkerMethod.methodR:()V 003c4c: 7100 8e00 0000 |0000: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 003c52: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=501 0x0003 line=502 locals : #25 : (in LTestVariableArityLinkerMethod;) name : 'printBsmArgs' type : '(Ljava/lang/String;[Ljava/lang/Object;)V' access : 0x008a (PRIVATE STATIC VARARGS) method_idx : 167 code - registers : 6 ins : 2 outs : 2 insns size : 159 16-bit code units 003c54: |[003c54] TestVariableArityLinkerMethod.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V 003c64: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003c68: 6e20 b000 4000 |0002: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003c6e: 6200 1300 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003c72: 1a01 0600 |0007: const-string v1, "(" // string@0006 003c76: 6e20 b000 1000 |0009: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003c7c: 1200 |000c: const/4 v0, #int 0 // #0 003c7e: 2151 |000d: array-length v1, v5 003c80: 3510 8900 |000e: if-ge v0, v1, 0097 // +0089 003c84: 3800 0900 |0010: if-eqz v0, 0019 // +0009 003c88: 6201 1300 |0012: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003c8c: 1a02 0c00 |0014: const-string v2, ", " // string@000c 003c90: 6e20 b000 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003c96: 4601 0500 |0019: aget-object v1, v5, v0 003c9a: 3801 7100 |001b: if-eqz v1, 008c // +0071 003c9e: 4601 0500 |001d: aget-object v1, v5, v0 003ca2: 6e10 c000 0100 |001f: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 003ca8: 0c01 |0022: move-result-object v1 003caa: 6e10 b800 0100 |0023: invoke-virtual {v1}, Ljava/lang/Class;.isArray:()Z // method@00b8 003cb0: 0a01 |0026: move-result v1 003cb2: 3801 6500 |0027: if-eqz v1, 008c // +0065 003cb6: 4601 0500 |0029: aget-object v1, v5, v0 003cba: 6e10 c000 0100 |002b: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 003cc0: 0c02 |002e: move-result-object v2 003cc2: 1c03 4400 |002f: const-class v3, [I // type@0044 003cc6: 3332 0f00 |0031: if-ne v2, v3, 0040 // +000f 003cca: 6202 1300 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003cce: 0713 |0035: move-object v3, v1 003cd0: 1f03 4400 |0036: check-cast v3, [I // type@0044 003cd4: 7110 e900 0300 |0038: invoke-static {v3}, Ljava/util/Arrays;.toString:([I)Ljava/lang/String; // method@00e9 003cda: 0c03 |003b: move-result-object v3 003cdc: 6e20 b000 3200 |003c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003ce2: 284c |003f: goto 008b // +004c 003ce4: 6e10 c000 0100 |0040: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 003cea: 0c02 |0043: move-result-object v2 003cec: 1c03 4500 |0044: const-class v3, [J // type@0045 003cf0: 3332 0f00 |0046: if-ne v2, v3, 0055 // +000f 003cf4: 6202 1300 |0048: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003cf8: 0713 |004a: move-object v3, v1 003cfa: 1f03 4500 |004b: check-cast v3, [J // type@0045 003cfe: 7110 ea00 0300 |004d: invoke-static {v3}, Ljava/util/Arrays;.toString:([J)Ljava/lang/String; // method@00ea 003d04: 0c03 |0050: move-result-object v3 003d06: 6e20 b000 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003d0c: 2837 |0054: goto 008b // +0037 003d0e: 6e10 c000 0100 |0055: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 003d14: 0c02 |0058: move-result-object v2 003d16: 1c03 4300 |0059: const-class v3, [F // type@0043 003d1a: 3332 0f00 |005b: if-ne v2, v3, 006a // +000f 003d1e: 6202 1300 |005d: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003d22: 0713 |005f: move-object v3, v1 003d24: 1f03 4300 |0060: check-cast v3, [F // type@0043 003d28: 7110 e800 0300 |0062: invoke-static {v3}, Ljava/util/Arrays;.toString:([F)Ljava/lang/String; // method@00e8 003d2e: 0c03 |0065: move-result-object v3 003d30: 6e20 b000 3200 |0066: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003d36: 2822 |0069: goto 008b // +0022 003d38: 6e10 c000 0100 |006a: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 003d3e: 0c02 |006d: move-result-object v2 003d40: 1c03 4200 |006e: const-class v3, [D // type@0042 003d44: 3332 0f00 |0070: if-ne v2, v3, 007f // +000f 003d48: 6202 1300 |0072: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003d4c: 0713 |0074: move-object v3, v1 003d4e: 1f03 4200 |0075: check-cast v3, [D // type@0042 003d52: 7110 e700 0300 |0077: invoke-static {v3}, Ljava/util/Arrays;.toString:([D)Ljava/lang/String; // method@00e7 003d58: 0c03 |007a: move-result-object v3 003d5a: 6e20 b000 3200 |007b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003d60: 280d |007e: goto 008b // +000d 003d62: 6202 1300 |007f: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003d66: 0713 |0081: move-object v3, v1 003d68: 1f03 4800 |0082: check-cast v3, [Ljava/lang/Object; // type@0048 003d6c: 7110 eb00 0300 |0084: invoke-static {v3}, Ljava/util/Arrays;.toString:([Ljava/lang/Object;)Ljava/lang/String; // method@00eb 003d72: 0c03 |0087: move-result-object v3 003d74: 6e20 b000 3200 |0088: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003d7a: 2808 |008b: goto 0093 // +0008 003d7c: 6201 1300 |008c: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003d80: 4602 0500 |008e: aget-object v2, v5, v0 003d84: 6e20 af00 2100 |0090: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 003d8a: d800 0001 |0093: add-int/lit8 v0, v0, #int 1 // #01 003d8e: 2900 78ff |0095: goto/16 000d // -0088 003d92: 6200 1300 |0097: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003d96: 1a01 0800 |0099: const-string v1, ");" // string@0008 003d9a: 6e20 b300 1000 |009b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 003da0: 0e00 |009e: return-void catches : (none) positions : 0x0000 line=29 0x0005 line=30 0x000c line=31 0x0010 line=32 0x0012 line=33 0x0019 line=35 0x0029 line=36 0x002b line=37 0x0033 line=38 0x0040 line=39 0x0048 line=40 0x0055 line=41 0x005d line=42 0x006a line=43 0x0072 line=44 0x007f line=46 0x008b line=48 0x008c line=49 0x0093 line=31 0x0097 line=52 0x009e line=53 locals : 0x002b - 0x008b reg=1 array Ljava/lang/Object; 0x000d - 0x0097 reg=0 i I 0x0000 - 0x009f reg=4 method Ljava/lang/String; 0x0000 - 0x009f reg=5 args [Ljava/lang/Object; #26 : (in LTestVariableArityLinkerMethod;) name : 'test' type : '()V' access : 0x0008 (STATIC) method_idx : 168 code - registers : 3 ins : 0 outs : 2 insns size : 224 16-bit code units 003da4: |[003da4] TestVariableArityLinkerMethod.test:()V 003db4: 1200 |0000: const/4 v0, #int 0 // #0 003db6: 0101 |0001: move v1, v0 003db8: 1222 |0002: const/4 v2, #int 2 // #2 003dba: 3521 0e00 |0003: if-ge v1, v2, 0011 // +000e 003dbe: fc00 1f00 0000 |0005: invoke-custom {}, call_site@001f 003dc4: fc00 2000 0000 |0008: invoke-custom {}, call_site@0020 003dca: fc00 2100 0000 |000b: invoke-custom {}, call_site@0021 003dd0: d801 0101 |000e: add-int/lit8 v1, v1, #int 1 // #01 003dd4: 28f2 |0010: goto 0002 // -000e 003dd6: 0000 |0011: nop // spacer 003dd8: 3520 0e00 |0012: if-ge v0, v2, 0020 // +000e 003ddc: fc00 2200 0000 |0014: invoke-custom {}, call_site@0022 003de2: fc00 2300 0000 |0017: invoke-custom {}, call_site@0023 003de8: fc00 2400 0000 |001a: invoke-custom {}, call_site@0024 003dee: d800 0001 |001d: add-int/lit8 v0, v0, #int 1 // #01 003df2: 28f3 |001f: goto 0012 // -000d 003df4: fc00 2500 0000 |0020: invoke-custom {}, call_site@0025 003dfa: fc00 2600 0000 |0023: invoke-custom {}, call_site@0026 003e00: fc00 2700 0000 |0026: invoke-custom {}, call_site@0027 003e06: fc00 2800 0000 |0029: invoke-custom {}, call_site@0028 003e0c: fc00 2900 0000 |002c: invoke-custom {}, call_site@0029 003e12: fc00 2a00 0000 |002f: invoke-custom {}, call_site@002a 003e18: 7100 8e00 0000 |0032: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 003e1e: 2826 |0035: goto 005b // +0026 003e20: 0d00 |0036: move-exception v0 003e22: 6201 1300 |0037: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003e26: 1a02 8201 |0039: const-string v2, "methodO => " // string@0182 003e2a: 6e20 b000 2100 |003b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003e30: 6201 1300 |003e: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003e34: 6e10 c000 0000 |0040: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 003e3a: 0c02 |0043: move-result-object v2 003e3c: 6e20 af00 2100 |0044: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 003e42: 6201 1300 |0047: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003e46: 1a02 0200 |0049: const-string v2, " => " // string@0002 003e4a: 6e20 b000 2100 |004b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003e50: 6201 1300 |004e: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003e54: 6e10 b600 0000 |0050: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 003e5a: 0c02 |0053: move-result-object v2 003e5c: 6e10 c000 0200 |0054: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 003e62: 0c02 |0057: move-result-object v2 003e64: 6e20 b200 2100 |0058: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 003e6a: fc00 2b00 0000 |005b: invoke-custom {}, call_site@002b 003e70: 7100 8e00 0000 |005e: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 003e76: 2826 |0061: goto 0087 // +0026 003e78: 0d00 |0062: move-exception v0 003e7a: 6201 1300 |0063: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003e7e: 1a02 8401 |0065: const-string v2, "methodP => " // string@0184 003e82: 6e20 b000 2100 |0067: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003e88: 6201 1300 |006a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003e8c: 6e10 c000 0000 |006c: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 003e92: 0c02 |006f: move-result-object v2 003e94: 6e20 af00 2100 |0070: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 003e9a: 6201 1300 |0073: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003e9e: 1a02 0200 |0075: const-string v2, " => " // string@0002 003ea2: 6e20 b000 2100 |0077: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003ea8: 6201 1300 |007a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003eac: 6e10 b600 0000 |007c: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 003eb2: 0c02 |007f: move-result-object v2 003eb4: 6e10 c000 0200 |0080: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 003eba: 0c02 |0083: move-result-object v2 003ebc: 6e20 b200 2100 |0084: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 003ec2: fc00 2c00 0000 |0087: invoke-custom {}, call_site@002c 003ec8: 7100 8e00 0000 |008a: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 003ece: 2826 |008d: goto 00b3 // +0026 003ed0: 0d00 |008e: move-exception v0 003ed2: 6201 1300 |008f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003ed6: 1a02 8601 |0091: const-string v2, "methodQ => " // string@0186 003eda: 6e20 b000 2100 |0093: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003ee0: 6201 1300 |0096: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003ee4: 6e10 c000 0000 |0098: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 003eea: 0c02 |009b: move-result-object v2 003eec: 6e20 af00 2100 |009c: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 003ef2: 6201 1300 |009f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003ef6: 1a02 0200 |00a1: const-string v2, " => " // string@0002 003efa: 6e20 b000 2100 |00a3: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003f00: 6201 1300 |00a6: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003f04: 6e10 b600 0000 |00a8: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 003f0a: 0c02 |00ab: move-result-object v2 003f0c: 6e10 c000 0200 |00ac: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 003f12: 0c02 |00af: move-result-object v2 003f14: 6e20 b200 2100 |00b0: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 003f1a: fc00 2d00 0000 |00b3: invoke-custom {}, call_site@002d 003f20: 7100 8e00 0000 |00b6: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 003f26: 2826 |00b9: goto 00df // +0026 003f28: 0d00 |00ba: move-exception v0 003f2a: 6201 1300 |00bb: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003f2e: 1a02 8801 |00bd: const-string v2, "methodR => " // string@0188 003f32: 6e20 b000 2100 |00bf: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003f38: 6201 1300 |00c2: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003f3c: 6e10 c000 0000 |00c4: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 003f42: 0c02 |00c7: move-result-object v2 003f44: 6e20 af00 2100 |00c8: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 003f4a: 6201 1300 |00cb: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003f4e: 1a02 0200 |00cd: const-string v2, " => " // string@0002 003f52: 6e20 b000 2100 |00cf: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 003f58: 6201 1300 |00d2: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 003f5c: 6e10 b600 0000 |00d4: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 003f62: 0c02 |00d7: move-result-object v2 003f64: 6e10 c000 0200 |00d8: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 003f6a: 0c02 |00db: move-result-object v2 003f6c: 6e20 b200 2100 |00dc: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 003f72: 0e00 |00df: return-void catches : 4 0x002f - 0x0035 Ljava/lang/BootstrapMethodError; -> 0x0036 0x005b - 0x0061 Ljava/lang/BootstrapMethodError; -> 0x0062 0x0087 - 0x008d Ljava/lang/BootstrapMethodError; -> 0x008e 0x00b3 - 0x00b9 Ljava/lang/BootstrapMethodError; -> 0x00ba positions : 0x0000 line=506 0x0005 line=507 0x0008 line=508 0x000b line=509 0x000e line=506 0x0011 line=511 0x0014 line=512 0x0017 line=513 0x001a line=514 0x001d line=511 0x0020 line=516 0x0023 line=517 0x0026 line=518 0x0029 line=519 0x002c line=520 0x002f line=527 0x0032 line=528 0x0035 line=534 0x0036 line=529 0x0037 line=530 0x003e line=531 0x0047 line=532 0x004e line=533 0x005b line=538 0x005e line=539 0x0061 line=545 0x0062 line=540 0x0063 line=541 0x006a line=542 0x0073 line=543 0x007a line=544 0x0087 line=549 0x008a line=550 0x008d line=556 0x008e line=551 0x008f line=552 0x0096 line=553 0x009f line=554 0x00a6 line=555 0x00b3 line=560 0x00b6 line=561 0x00b9 line=567 0x00ba line=562 0x00bb line=563 0x00c2 line=564 0x00cb line=565 0x00d2 line=566 0x00df line=568 locals : 0x0002 - 0x0011 reg=1 i I 0x0012 - 0x0020 reg=0 i I 0x0037 - 0x005b reg=0 expected Ljava/lang/BootstrapMethodError; 0x0063 - 0x0087 reg=0 expected Ljava/lang/BootstrapMethodError; 0x008f - 0x00b3 reg=0 expected Ljava/lang/BootstrapMethodError; 0x00bb - 0x00df reg=0 expected Ljava/lang/BootstrapMethodError; Virtual methods - source_file_idx : 156 (TestVariableArityLinkerMethod.java) Method handle #0: type : invoke-static target : LTestBadBootstrapArguments; bsm target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ID)Ljava/lang/invoke/CallSite; Method handle #1: type : invoke-static target : LTestBadBootstrapArguments; bsm target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ILjava/lang/String;)Ljava/lang/invoke/CallSite; Method handle #2: type : invoke-static target : LTestBadBootstrapArguments; bsmDJ target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;DJ)Ljava/lang/invoke/CallSite; Method handle #3: type : invoke-static target : LTestBadBootstrapArguments; bsmDoubleLong target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Double;Ljava/lang/Long;)Ljava/lang/invoke/CallSite; Method handle #4: type : invoke-static target : LTestBadBootstrapArguments; bsmReturningInteger target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Integer; Method handle #5: type : invoke-static target : LTestBadBootstrapArguments; bsmReturningObject target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Object; Method handle #6: type : invoke-static target : LTestBadBootstrapArguments; bsmReturningTestersConstantCallsite target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)LTestBadBootstrapArguments$TestersConstantCallSite; Method handle #7: type : invoke-static target : LTestBadBootstrapArguments; bsmReturningVoid target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V Method handle #8: type : invoke-static target : LTestBadBootstrapArguments; bsmZBCS target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ZBCS)Ljava/lang/invoke/CallSite; Method handle #9: type : invoke-static target : LTestDynamicBootstrapArguments; bsm target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;J)Ljava/lang/invoke/CallSite; Method handle #10: type : invoke-static target : LTestInvocationKinds; lookupConstructor target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method handle #11: type : invoke-static target : LTestInvocationKinds; lookupInstanceFieldGetter target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method handle #12: type : invoke-static target : LTestInvocationKinds; lookupInstanceFieldSetter target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method handle #13: type : invoke-static target : LTestInvocationKinds; lookupStaticFieldGetter target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method handle #14: type : invoke-static target : LTestInvocationKinds; lookupStaticFieldSetter target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method handle #15: type : invoke-static target : LTestInvocationKinds; lookupVirtual target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method handle #16: type : invoke-static target : LTestInvokeCustomWithConcurrentThreads; linkerMethod target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method handle #17: type : invoke-static target : LTestLinkerMethodMinimalArguments; linkerMethod target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method handle #18: type : invoke-static target : LTestLinkerMethodMultipleArgumentTypes; linkerMethod target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IIIIIFDLjava/lang/String;Ljava/lang/Class;J)Ljava/lang/invoke/CallSite; Method handle #19: type : invoke-static target : LTestVariableArityLinkerMethod; bsmWithBoxedArray target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Integer;)Ljava/lang/invoke/CallSite; Method handle #20: type : invoke-static target : LTestVariableArityLinkerMethod; bsmWithClassAndFloatArray target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;[F)Ljava/lang/invoke/CallSite; Method handle #21: type : invoke-static target : LTestVariableArityLinkerMethod; bsmWithClassArray target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Class;)Ljava/lang/invoke/CallSite; Method handle #22: type : invoke-static target : LTestVariableArityLinkerMethod; bsmWithDoubleArray target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[D)Ljava/lang/invoke/CallSite; Method handle #23: type : invoke-static target : LTestVariableArityLinkerMethod; bsmWithFloatAndLongArray target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;F[J)Ljava/lang/invoke/CallSite; Method handle #24: type : invoke-static target : LTestVariableArityLinkerMethod; bsmWithIntAndStringArray target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I[Ljava/lang/String;)Ljava/lang/invoke/CallSite; Method handle #25: type : invoke-static target : LTestVariableArityLinkerMethod; bsmWithLongAndIntArray target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;J[I)Ljava/lang/invoke/CallSite; Method handle #26: type : invoke-static target : LTestVariableArityLinkerMethod; bsmWithStringArray target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/String;)Ljava/lang/invoke/CallSite; Method handle #27: type : invoke-static target : LTestVariableArityLinkerMethod; bsmWithWiderArray target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[J)Ljava/lang/invoke/CallSite; Method handle #28: type : invoke-static target : LUnrelatedBSM; bsm target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/CallSite; Call site #0: // offset 29649 link_argument[0] : 1 (MethodHandle) link_argument[1] : happy (String) link_argument[2] : ()V (MethodType) link_argument[3] : -1 (int) link_argument[4] : very (String) Call site #1: // offset 29662 link_argument[0] : 0 (MethodHandle) link_argument[1] : wrongParameterTypes (String) link_argument[2] : ()V (MethodType) link_argument[3] : -1 (int) link_argument[4] : very (String) Call site #2: // offset 29675 link_argument[0] : 0 (MethodHandle) link_argument[1] : missingParameterTypes (String) link_argument[2] : ()V (MethodType) Call site #3: // offset 29683 link_argument[0] : 1 (MethodHandle) link_argument[1] : extraArguments (String) link_argument[2] : ()V (MethodType) link_argument[3] : 1 (int) link_argument[4] : 2 (String) link_argument[5] : 3 (int) Call site #4: // offset 29697 link_argument[0] : 1 (MethodHandle) link_argument[1] : wrongArguments (String) link_argument[2] : ()V (MethodType) link_argument[3] : 1 (String) link_argument[4] : 3.14159 (double) Call site #5: // offset 29697 link_argument[0] : 1 (MethodHandle) link_argument[1] : wrongArguments (String) link_argument[2] : ()V (MethodType) link_argument[3] : 1 (String) link_argument[4] : 3.14159 (double) Call site #6: // offset 29716 link_argument[0] : 1 (MethodHandle) link_argument[1] : wrongArgumentsAgain (String) link_argument[2] : ()V (MethodType) link_argument[3] : 3.14159 (double) link_argument[4] : pie (String) Call site #7: // offset 29736 link_argument[0] : 8 (MethodHandle) link_argument[1] : narrowArguments (String) link_argument[2] : ()V (MethodType) link_argument[3] : 1 (int) link_argument[4] : 127 (int) link_argument[5] : 65 (int) link_argument[6] : -32768 (int) Call site #8: // offset 29753 link_argument[0] : 2 (MethodHandle) link_argument[1] : wideningArguments (String) link_argument[2] : ()V (MethodType) link_argument[3] : 1.79769e+308 (double) link_argument[4] : 2147483647 (int) Call site #9: // offset 29775 link_argument[0] : 3 (MethodHandle) link_argument[1] : boxingArguments (String) link_argument[2] : ()V (MethodType) link_argument[3] : 1.79769e+308 (double) link_argument[4] : 9223372036854775807 (long) Call site #10: // offset 29800 link_argument[0] : 3 (MethodHandle) link_argument[1] : wideningBoxingArguments (String) link_argument[2] : ()V (MethodType) link_argument[3] : 3.40282e+38 (float) link_argument[4] : 2147483647 (long) Call site #11: // offset 29818 link_argument[0] : 7 (MethodHandle) link_argument[1] : voidReturnType (String) link_argument[2] : ()V (MethodType) Call site #12: // offset 29826 link_argument[0] : 5 (MethodHandle) link_argument[1] : ObjectReturnType (String) link_argument[2] : ()V (MethodType) Call site #13: // offset 29833 link_argument[0] : 4 (MethodHandle) link_argument[1] : integerReturnType (String) link_argument[2] : ()V (MethodType) Call site #14: // offset 29841 link_argument[0] : 6 (MethodHandle) link_argument[1] : sayHello (String) link_argument[2] : ()V (MethodType) Call site #15: // offset 29849 link_argument[0] : 9 (MethodHandle) link_argument[1] : target (String) link_argument[2] : (ILjava/lang/String;Ljava/lang/Double;)I (MethodType) link_argument[3] : A (String) link_argument[4] : 100000000 (long) Call site #16: // offset 29849 link_argument[0] : 9 (MethodHandle) link_argument[1] : target (String) link_argument[2] : (ILjava/lang/String;Ljava/lang/Double;)I (MethodType) link_argument[3] : A (String) link_argument[4] : 100000000 (long) Call site #17: // offset 29849 link_argument[0] : 9 (MethodHandle) link_argument[1] : target (String) link_argument[2] : (ILjava/lang/String;Ljava/lang/Double;)I (MethodType) link_argument[3] : A (String) link_argument[4] : 100000000 (long) Call site #18: // offset 29864 link_argument[0] : 10 (MethodHandle) link_argument[1] : unused (String) link_argument[2] : (I)LTestInvocationKinds$Widget; (MethodType) Call site #19: // offset 29872 link_argument[0] : 12 (MethodHandle) link_argument[1] : instance_field (String) link_argument[2] : (LTestInvocationKinds;D)V (MethodType) Call site #20: // offset 29880 link_argument[0] : 11 (MethodHandle) link_argument[1] : instance_field (String) link_argument[2] : (LTestInvocationKinds;)D (MethodType) Call site #21: // offset 29888 link_argument[0] : 15 (MethodHandle) link_argument[1] : getMaxIntegerValue (String) link_argument[2] : (LTestInvocationKinds;II)I (MethodType) Call site #22: // offset 29896 link_argument[0] : 14 (MethodHandle) link_argument[1] : static_field (String) link_argument[2] : (I)V (MethodType) Call site #23: // offset 29896 link_argument[0] : 14 (MethodHandle) link_argument[1] : static_field (String) link_argument[2] : (I)V (MethodType) Call site #24: // offset 29904 link_argument[0] : 13 (MethodHandle) link_argument[1] : static_field (String) link_argument[2] : ()I (MethodType) Call site #25: // offset 29904 link_argument[0] : 13 (MethodHandle) link_argument[1] : static_field (String) link_argument[2] : ()I (MethodType) Call site #26: // offset 29912 link_argument[0] : 16 (MethodHandle) link_argument[1] : setCalled (String) link_argument[2] : (I)I (MethodType) Call site #27: // offset 29920 link_argument[0] : 17 (MethodHandle) link_argument[1] : _add (String) link_argument[2] : (II)I (MethodType) Call site #28: // offset 29927 link_argument[0] : 18 (MethodHandle) link_argument[1] : _add (String) link_argument[2] : (II)I (MethodType) link_argument[3] : -1 (int) link_argument[4] : 1 (int) link_argument[5] : 97 (int) link_argument[6] : 1024 (int) link_argument[7] : 1 (int) link_argument[8] : 11.1 (float) link_argument[9] : 2.2 (double) link_argument[10] : Hello (String) link_argument[11] : LTestLinkerMethodMultipleArgumentTypes; (Class) link_argument[12] : 123456789 (long) Call site #29: // offset 29968 link_argument[0] : 28 (MethodHandle) link_argument[1] : _addf (String) link_argument[2] : (FF)F (MethodType) link_argument[3] : LTestLinkerUnrelatedBSM; (Class) Call site #30: // offset 29977 link_argument[0] : 28 (MethodHandle) link_argument[1] : _subf (String) link_argument[2] : (FF)F (MethodType) link_argument[3] : LTestLinkerUnrelatedBSM; (Class) Call site #31: // offset 29986 link_argument[0] : 26 (MethodHandle) link_argument[1] : methodA (String) link_argument[2] : ()V (MethodType) link_argument[3] : Aachen (String) link_argument[4] : Aalborg (String) link_argument[5] : Aalto (String) Call site #32: // offset 30000 link_argument[0] : 26 (MethodHandle) link_argument[1] : methodB (String) link_argument[2] : ()V (MethodType) link_argument[3] : barium (String) Call site #33: // offset 30010 link_argument[0] : 26 (MethodHandle) link_argument[1] : methodC (String) link_argument[2] : ()V (MethodType) Call site #34: // offset 30018 link_argument[0] : 24 (MethodHandle) link_argument[1] : methodD (String) link_argument[2] : ()V (MethodType) link_argument[3] : 101 (int) link_argument[4] : zoo (String) link_argument[5] : zoogene (String) link_argument[6] : zoogenic (String) Call site #35: // offset 30037 link_argument[0] : 24 (MethodHandle) link_argument[1] : methodE (String) link_argument[2] : ()V (MethodType) link_argument[3] : 102 (int) link_argument[4] : zonic (String) Call site #36: // offset 30050 link_argument[0] : 24 (MethodHandle) link_argument[1] : methodF (String) link_argument[2] : ()V (MethodType) link_argument[3] : 103 (int) Call site #37: // offset 30060 link_argument[0] : 25 (MethodHandle) link_argument[1] : methodG (String) link_argument[2] : ()V (MethodType) link_argument[3] : 81985529216486895 (long) link_argument[4] : 1 (int) link_argument[5] : -1 (int) link_argument[6] : 2 (int) link_argument[7] : -2 (int) Call site #38: // offset 30085 link_argument[0] : 23 (MethodHandle) link_argument[1] : methodH (String) link_argument[2] : ()V (MethodType) link_argument[3] : -2.71828 (float) link_argument[4] : 999999999999 (long) link_argument[5] : -8888888888888 (long) Call site #39: // offset 30112 link_argument[0] : 20 (MethodHandle) link_argument[1] : methodI (String) link_argument[2] : ()V (MethodType) link_argument[3] : Ljava/lang/Throwable; (Class) link_argument[4] : 3.40282e+38 (float) link_argument[5] : 1.4013e-45 (float) link_argument[6] : 3.14159 (float) link_argument[7] : -3.14159 (float) Call site #40: // offset 30142 link_argument[0] : 22 (MethodHandle) link_argument[1] : methodJ (String) link_argument[2] : ()V (MethodType) link_argument[3] : 1.79769e+308 (double) link_argument[4] : 4.94066e-324 (double) link_argument[5] : 2.71828 (double) link_argument[6] : -3.14159 (double) Call site #41: // offset 30186 link_argument[0] : 21 (MethodHandle) link_argument[1] : methodK (String) link_argument[2] : ()V (MethodType) link_argument[3] : Ljava/lang/Integer; (Class) link_argument[4] : Ljava/lang/invoke/MethodHandles; (Class) link_argument[5] : Ljava/util/Arrays; (Class) Call site #42: // offset 30200 link_argument[0] : 24 (MethodHandle) link_argument[1] : methodO (String) link_argument[2] : ()V (MethodType) link_argument[3] : 103 (int) link_argument[4] : 104 (int) Call site #43: // offset 30212 link_argument[0] : 24 (MethodHandle) link_argument[1] : methodP (String) link_argument[2] : ()V (MethodType) link_argument[3] : 103 (int) link_argument[4] : A (String) link_argument[5] : B (String) link_argument[6] : 42 (int) Call site #44: // offset 30228 link_argument[0] : 27 (MethodHandle) link_argument[1] : methodQ (String) link_argument[2] : ()V (MethodType) link_argument[3] : 103 (int) link_argument[4] : 42 (int) Call site #45: // offset 30240 link_argument[0] : 19 (MethodHandle) link_argument[1] : methodR (String) link_argument[2] : ()V (MethodType) link_argument[3] : 1030 (int) link_argument[4] : 420 (int) Opened 'all-dex-files.jar:classes5.dex', DEX version '037' DEX file header: magic : 'dex\n037\0' checksum : 0b5f9fd7 signature : fcf4...f0e5 file_size : 1160 header_size : 112 link_size : 0 link_off : 0 (0x000000) string_ids_size : 30 string_ids_off : 112 (0x000070) type_ids_size : 11 type_ids_off : 232 (0x0000e8) proto_ids_size : 6 proto_ids_off : 276 (0x000114) field_ids_size : 0 field_ids_off : 0 (0x000000) method_ids_size : 5 method_ids_off : 348 (0x00015c) class_defs_size : 1 class_defs_off : 388 (0x000184) data_size : 740 data_off : 420 (0x0001a4) Class #0 header: class_idx : 2 access_flags : 1 (0x0001) superclass_idx : 4 interfaces_off : 0 (0x000000) source_file_idx : 12 annotations_off : 528 (0x000210) class_data_off : 959 (0x0003bf) static_fields_size : 0 instance_fields_size: 0 direct_methods_size : 2 virtual_methods_size: 0 Class #0 annotations: Annotations on method #1 'main' VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } Class #0 - Class descriptor : 'LMain;' Access flags : 0x0001 (PUBLIC) Superclass : 'Ljava/lang/Object;' Interfaces - Static fields - Instance fields - Direct methods - #0 : (in LMain;) name : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 0 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 0001ac: |[0001ac] Main.:()V 0001bc: 7010 0200 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0002 0001c2: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=9 locals : 0x0000 - 0x0004 reg=0 this LMain; #1 : (in LMain;) name : 'main' type : '([Ljava/lang/String;)V' access : 0x0009 (PUBLIC STATIC) method_idx : 1 code - registers : 10 ins : 1 outs : 0 insns size : 30 16-bit code units 0001c4: |[0001c4] Main.main:([Ljava/lang/String;)V 0001d4: 1802 9a99 9999 9999 0140 |0000: const-wide v2, #double 2.2 // #400199999999999a 0001de: 1214 |0005: const/4 v4, #int 1 // #1 0001e0: 1200 |0006: const/4 v0, #int 0 // #0 0001e2: 1205 |0007: const/4 v5, #int 0 // #0 0001e4: 1b01 1200 0000 |0008: const-string/jumbo v1, "a" // string@00000012 0001ea: 0146 |000b: move v6, v4 0001ec: fb07 0300 0000 0200 |000c: invoke-polymorphic/range {v0, v1, v2, v3, v4, v5, v6}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Ljava/lang/String;DILjava/lang/Object;I)Ljava/lang/String; // method@0003, proto@0002 0001f4: 0c07 |0010: move-result-object v7 0001f6: fa40 0400 2043 0000 |0011: invoke-polymorphic {v0, v2, v3, v4}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (DI)I // method@0004, proto@0000 0001fe: 0a08 |0015: move-result v8 000200: 1b01 1200 0000 |0016: const-string/jumbo v1, "a" // string@00000012 000206: fa54 0300 1032 0400 |0019: invoke-polymorphic {v0, v1, v2, v3, v4}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Ljava/lang/String;DI)V // method@0003, proto@0004 00020e: 0e00 |001d: return-void catches : (none) positions : 0x0006 line=31 0x0007 line=32 0x0008 line=33 0x0011 line=34 0x0016 line=35 0x001d line=56 locals : 0x0007 - 0x001e reg=0 handle Ljava/lang/invoke/MethodHandle; 0x0008 - 0x001e reg=5 o Ljava/lang/Object; 0x0011 - 0x001e reg=7 s Ljava/lang/String; 0x0016 - 0x001e reg=8 x I 0x0000 - 0x001e reg=9 args [Ljava/lang/String; Virtual methods - source_file_idx : 12 (Main.java) Opened 'all-dex-files.jar:classes6.dex', DEX version '035' DEX file header: magic : 'dex\n035\0' checksum : 52d4fc6d signature : 6e82...2f27 file_size : 1264 header_size : 112 link_size : 0 link_off : 0 (0x000000) string_ids_size : 28 string_ids_off : 112 (0x000070) type_ids_size : 12 type_ids_off : 224 (0x0000e0) proto_ids_size : 1 proto_ids_off : 272 (0x000110) field_ids_size : 12 field_ids_off : 284 (0x00011c) method_ids_size : 2 method_ids_off : 380 (0x00017c) class_defs_size : 1 class_defs_off : 396 (0x00018c) data_size : 836 data_off : 428 (0x0001ac) Class #0 header: class_idx : 6 access_flags : 1 (0x0001) superclass_idx : 7 interfaces_off : 0 (0x000000) source_file_idx : 11 annotations_off : 0 (0x000000) class_data_off : 1067 (0x00042b) static_fields_size : 12 instance_fields_size: 0 direct_methods_size : 1 virtual_methods_size: 0 Class #0 - Class descriptor : 'LStaticFields;' Access flags : 0x0001 (PUBLIC) Superclass : 'Ljava/lang/Object;' Interfaces - Static fields - #0 : (in LStaticFields;) name : 'test00_public_static_final_byte_42' type : 'B' access : 0x0019 (PUBLIC STATIC FINAL) value : 42 #1 : (in LStaticFields;) name : 'test01_public_static_final_short_43' type : 'S' access : 0x0019 (PUBLIC STATIC FINAL) value : 43 #2 : (in LStaticFields;) name : 'test02_public_static_final_char_X' type : 'C' access : 0x0019 (PUBLIC STATIC FINAL) value : 88 #3 : (in LStaticFields;) name : 'test03_public_static_final_int_44' type : 'I' access : 0x0019 (PUBLIC STATIC FINAL) value : 44 #4 : (in LStaticFields;) name : 'test04_public_static_final_long_45' type : 'J' access : 0x0019 (PUBLIC STATIC FINAL) value : 45 #5 : (in LStaticFields;) name : 'test05_public_static_final_float_46_47' type : 'F' access : 0x0019 (PUBLIC STATIC FINAL) value : 46.47 #6 : (in LStaticFields;) name : 'test06_public_static_final_double_48_49' type : 'D' access : 0x0019 (PUBLIC STATIC FINAL) value : 48.49 #7 : (in LStaticFields;) name : 'test07_public_static_final_string' type : 'Ljava/lang/String;' access : 0x0019 (PUBLIC STATIC FINAL) value : "abc \\><\"'&\t\r\n" #8 : (in LStaticFields;) name : 'test08_public_static_final_object_null' type : 'Ljava/lang/Object;' access : 0x0019 (PUBLIC STATIC FINAL) value : null #9 : (in LStaticFields;) name : 'test09_public_static_final_boolean_true' type : 'Z' access : 0x0019 (PUBLIC STATIC FINAL) value : true #10 : (in LStaticFields;) name : 'test10_private_static_final_int_50' type : 'I' access : 0x001a (PRIVATE STATIC FINAL) value : 50 #11 : (in LStaticFields;) name : 'test99_empty_value' type : 'I' access : 0x0019 (PUBLIC STATIC FINAL) Instance fields - Direct methods - #0 : (in LStaticFields;) name : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 0 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 0001ac: |[0001ac] StaticFields.:()V 0001bc: 7010 0100 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0001 0001c2: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=24 locals : 0x0000 - 0x0004 reg=0 this LStaticFields; Virtual methods - source_file_idx : 11 (StaticFields.java) Opened 'all-dex-files.jar:classes7.dex', DEX version '035' DEX file header: magic : 'dex\n035\0' checksum : 7605eec0 signature : c197...a065 file_size : 1864 header_size : 112 link_size : 0 link_off : 0 (0x000000) string_ids_size : 70 string_ids_off : 112 (0x000070) type_ids_size : 12 type_ids_off : 392 (0x000188) proto_ids_size : 1 proto_ids_off : 440 (0x0001b8) field_ids_size : 54 field_ids_off : 452 (0x0001c4) method_ids_size : 3 method_ids_off : 884 (0x000374) class_defs_size : 1 class_defs_off : 908 (0x00038c) data_size : 924 data_off : 940 (0x0003ac) Class #0 header: class_idx : 6 access_flags : 1 (0x0001) superclass_idx : 7 interfaces_off : 0 (0x000000) source_file_idx : 13 annotations_off : 0 (0x000000) class_data_off : 1578 (0x00062a) static_fields_size : 54 instance_fields_size: 0 direct_methods_size : 2 virtual_methods_size: 0 Class #0 - Class descriptor : 'LTest;' Access flags : 0x0001 (PUBLIC) Superclass : 'Ljava/lang/Object;' Interfaces - Static fields - #0 : (in LTest;) name : 'mB0' type : 'B' access : 0x0019 (PUBLIC STATIC FINAL) value : 0 #1 : (in LTest;) name : 'mB1' type : 'B' access : 0x0019 (PUBLIC STATIC FINAL) value : 127 #2 : (in LTest;) name : 'mB2' type : 'B' access : 0x0019 (PUBLIC STATIC FINAL) value : -128 #3 : (in LTest;) name : 'mB3' type : 'B' access : 0x0019 (PUBLIC STATIC FINAL) value : -1 #4 : (in LTest;) name : 'mC0' type : 'C' access : 0x0019 (PUBLIC STATIC FINAL) value : 0 #5 : (in LTest;) name : 'mC1' type : 'C' access : 0x0019 (PUBLIC STATIC FINAL) value : 32767 #6 : (in LTest;) name : 'mC2' type : 'C' access : 0x0019 (PUBLIC STATIC FINAL) value : 32768 #7 : (in LTest;) name : 'mC3' type : 'C' access : 0x0019 (PUBLIC STATIC FINAL) value : 255 #8 : (in LTest;) name : 'mC4' type : 'C' access : 0x0019 (PUBLIC STATIC FINAL) value : 65520 #9 : (in LTest;) name : 'mC5' type : 'C' access : 0x0019 (PUBLIC STATIC FINAL) value : 65535 #10 : (in LTest;) name : 'mD0' type : 'D' access : 0x0019 (PUBLIC STATIC FINAL) value : -inf #11 : (in LTest;) name : 'mD1' type : 'D' access : 0x0019 (PUBLIC STATIC FINAL) value : 4.94066e-324 #12 : (in LTest;) name : 'mD2' type : 'D' access : 0x0019 (PUBLIC STATIC FINAL) value : -0 #13 : (in LTest;) name : 'mD3' type : 'D' access : 0x0019 (PUBLIC STATIC FINAL) value : 0 #14 : (in LTest;) name : 'mD4' type : 'D' access : 0x0019 (PUBLIC STATIC FINAL) value : 1.79769e+308 #15 : (in LTest;) name : 'mD5' type : 'D' access : 0x0019 (PUBLIC STATIC FINAL) value : inf #16 : (in LTest;) name : 'mD6' type : 'D' access : 0x0019 (PUBLIC STATIC FINAL) value : nan #17 : (in LTest;) name : 'mF0' type : 'F' access : 0x0019 (PUBLIC STATIC FINAL) value : -inf #18 : (in LTest;) name : 'mF1' type : 'F' access : 0x0019 (PUBLIC STATIC FINAL) value : 1.4013e-45 #19 : (in LTest;) name : 'mF2' type : 'F' access : 0x0019 (PUBLIC STATIC FINAL) value : -0 #20 : (in LTest;) name : 'mF3' type : 'F' access : 0x0019 (PUBLIC STATIC FINAL) value : 0 #21 : (in LTest;) name : 'mF4' type : 'F' access : 0x0019 (PUBLIC STATIC FINAL) value : 3.40282e+38 #22 : (in LTest;) name : 'mF5' type : 'F' access : 0x0019 (PUBLIC STATIC FINAL) value : inf #23 : (in LTest;) name : 'mF6' type : 'F' access : 0x0019 (PUBLIC STATIC FINAL) value : nan #24 : (in LTest;) name : 'mI0' type : 'I' access : 0x0019 (PUBLIC STATIC FINAL) value : 0 #25 : (in LTest;) name : 'mI1' type : 'I' access : 0x0019 (PUBLIC STATIC FINAL) value : 2147483647 #26 : (in LTest;) name : 'mI2' type : 'I' access : 0x0019 (PUBLIC STATIC FINAL) value : -2147483648 #27 : (in LTest;) name : 'mI3' type : 'I' access : 0x0019 (PUBLIC STATIC FINAL) value : 255 #28 : (in LTest;) name : 'mI4' type : 'I' access : 0x0019 (PUBLIC STATIC FINAL) value : -16 #29 : (in LTest;) name : 'mI5' type : 'I' access : 0x0019 (PUBLIC STATIC FINAL) value : -4096 #30 : (in LTest;) name : 'mI6' type : 'I' access : 0x0019 (PUBLIC STATIC FINAL) value : -1048576 #31 : (in LTest;) name : 'mI7' type : 'I' access : 0x0019 (PUBLIC STATIC FINAL) value : -1 #32 : (in LTest;) name : 'mJ0' type : 'J' access : 0x0019 (PUBLIC STATIC FINAL) value : 0 #33 : (in LTest;) name : 'mJ1' type : 'J' access : 0x0019 (PUBLIC STATIC FINAL) value : 9223372036854775807 #34 : (in LTest;) name : 'mJ2' type : 'J' access : 0x0019 (PUBLIC STATIC FINAL) value : -9223372036854775808 #35 : (in LTest;) name : 'mJ3' type : 'J' access : 0x0019 (PUBLIC STATIC FINAL) value : 255 #36 : (in LTest;) name : 'mJ4' type : 'J' access : 0x0019 (PUBLIC STATIC FINAL) value : -16 #37 : (in LTest;) name : 'mJ5' type : 'J' access : 0x0019 (PUBLIC STATIC FINAL) value : -4096 #38 : (in LTest;) name : 'mJ6' type : 'J' access : 0x0019 (PUBLIC STATIC FINAL) value : -1048576 #39 : (in LTest;) name : 'mJ7' type : 'J' access : 0x0019 (PUBLIC STATIC FINAL) value : -268435456 #40 : (in LTest;) name : 'mJ8' type : 'J' access : 0x0019 (PUBLIC STATIC FINAL) value : -68719476736 #41 : (in LTest;) name : 'mJ9' type : 'J' access : 0x0019 (PUBLIC STATIC FINAL) value : -17592186044416 #42 : (in LTest;) name : 'mJa' type : 'J' access : 0x0019 (PUBLIC STATIC FINAL) value : -4503599627370496 #43 : (in LTest;) name : 'mJb' type : 'J' access : 0x0019 (PUBLIC STATIC FINAL) value : -1 #44 : (in LTest;) name : 'mObject' type : 'Ljava/lang/Object;' access : 0x0019 (PUBLIC STATIC FINAL) value : null #45 : (in LTest;) name : 'mS0' type : 'S' access : 0x0019 (PUBLIC STATIC FINAL) value : 0 #46 : (in LTest;) name : 'mS1' type : 'S' access : 0x0019 (PUBLIC STATIC FINAL) value : 32767 #47 : (in LTest;) name : 'mS2' type : 'S' access : 0x0019 (PUBLIC STATIC FINAL) value : -32768 #48 : (in LTest;) name : 'mS3' type : 'S' access : 0x0019 (PUBLIC STATIC FINAL) value : 255 #49 : (in LTest;) name : 'mS4' type : 'S' access : 0x0019 (PUBLIC STATIC FINAL) value : -16 #50 : (in LTest;) name : 'mS5' type : 'S' access : 0x0019 (PUBLIC STATIC FINAL) value : -1 #51 : (in LTest;) name : 'mString' type : 'Ljava/lang/String;' access : 0x0019 (PUBLIC STATIC FINAL) value : "<&\"JOHO\"&>\n" #52 : (in LTest;) name : 'mZ0' type : 'Z' access : 0x0019 (PUBLIC STATIC FINAL) value : false #53 : (in LTest;) name : 'mZ1' type : 'Z' access : 0x0019 (PUBLIC STATIC FINAL) value : true Instance fields - Direct methods - #0 : (in LTest;) name : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) method_idx : 0 code - registers : 1 ins : 0 outs : 0 insns size : 4 16-bit code units 0003ac: |[0003ac] Test.:()V 0003bc: 1200 |0000: const/4 v0, #int 0 // #0 0003be: 6900 2c00 |0001: sput-object v0, LTest;.mObject:Ljava/lang/Object; // field@002c 0003c2: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=66 locals : #1 : (in LTest;) name : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) method_idx : 1 code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 0003c4: |[0003c4] Test.:()V 0003d4: 7010 0200 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()V // method@0002 0003da: 0e00 |0003: return-void catches : (none) positions : 0x0000 line=1 locals : 0x0000 - 0x0004 reg=0 this LTest; Virtual methods - source_file_idx : 13 (Test.java)