1 Processing 'invoke-custom.dex'... 2 Opened 'invoke-custom.dex', DEX version '038' 3 DEX file header: 4 magic : 'dex\n038\0' 5 checksum : d11a9e29 6 signature : 5b54...15c3 7 file_size : 8984 8 header_size : 112 9 link_size : 0 10 link_off : 0 (0x000000) 11 string_ids_size : 165 12 string_ids_off : 112 (0x000070) 13 type_ids_size : 38 14 type_ids_off : 772 (0x000304) 15 proto_ids_size : 51 16 proto_ids_off : 924 (0x00039c) 17 field_ids_size : 3 18 field_ids_off : 1536 (0x000600) 19 method_ids_size : 78 20 method_ids_off : 1560 (0x000618) 21 class_defs_size : 2 22 class_defs_off : 2184 (0x000888) 23 data_size : 6552 24 data_off : 2432 (0x000980) 25 26 Class #0 header: 27 class_idx : 8 28 access_flags : 1024 (0x0400) 29 superclass_idx : 13 30 interfaces_off : 0 (0x000000) 31 source_file_idx : 27 32 annotations_off : 0 (0x000000) 33 class_data_off : 8589 (0x00218d) 34 static_fields_size : 0 35 instance_fields_size: 0 36 direct_methods_size : 1 37 virtual_methods_size: 2 38 39 Class #0 - 40 Class descriptor : 'Linvokecustom/Super;' 41 Access flags : 0x0400 (ABSTRACT) 42 Superclass : 'Ljava/lang/Object;' 43 Interfaces - 44 Static fields - 45 Instance fields - 46 Direct methods - 47 #0 : (in Linvokecustom/Super;) 48 name : '<init>' 49 type : '()V' 50 access : 0x10000 (CONSTRUCTOR) 51 code - 52 registers : 1 53 ins : 1 54 outs : 1 55 insns size : 4 16-bit code units 56 000990: |[000990] invokecustom.Super.<init>:()V 57 0009a0: 7010 2b00 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@002b 58 0009a6: 0e00 |0003: return-void 59 catches : (none) 60 positions : 61 0x0000 line=29 62 locals : 63 0x0000 - 0x0004 reg=0 this Linvokecustom/Super; 64 65 Virtual methods - 66 #0 : (in Linvokecustom/Super;) 67 name : 'helperMethodTest9' 68 type : '()V' 69 access : 0x0401 (PUBLIC ABSTRACT) 70 code : (none) 71 72 #1 : (in Linvokecustom/Super;) 73 name : 'targetMethodTest4' 74 type : '()V' 75 access : 0x0001 (PUBLIC) 76 code - 77 registers : 3 78 ins : 1 79 outs : 2 80 insns size : 8 16-bit code units 81 0009a8: |[0009a8] invokecustom.Super.targetMethodTest4:()V 82 0009b8: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 83 0009bc: 1a01 8b00 |0002: const-string v1, "targetMethodTest4 from Super" // string@008b 84 0009c0: 6e20 2900 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 85 0009c6: 0e00 |0007: return-void 86 catches : (none) 87 positions : 88 0x0000 line=31 89 0x0007 line=32 90 locals : 91 0x0000 - 0x0008 reg=2 this Linvokecustom/Super; 92 93 source_file_idx : 27 (InvokeCustom.java) 94 95 Class #1 header: 96 class_idx : 7 97 access_flags : 1 (0x0001) 98 superclass_idx : 8 99 interfaces_off : 5460 (0x001554) 100 source_file_idx : 27 101 annotations_off : 5396 (0x001514) 102 class_data_off : 8607 (0x00219f) 103 static_fields_size : 1 104 instance_fields_size: 1 105 direct_methods_size : 29 106 virtual_methods_size: 3 107 108 Class #1 annotations: 109 Annotations on method #3 'bsmCreateCallSite' 110 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 111 Annotations on method #4 'bsmLookupStatic' 112 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/NoSuchMethodException; Ljava/lang/IllegalAccessException; } 113 Annotations on method #5 'bsmLookupStaticWithExtraArgs' 114 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/NoSuchMethodException; Ljava/lang/IllegalAccessException; } 115 Annotations on method #6 'bsmLookupTest9' 116 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 117 Annotations on method #7 'checkFieldTest9' 118 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 119 Annotations on method #8 'checkStaticFieldTest9' 120 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 121 122 Class #1 - 123 Class descriptor : 'Linvokecustom/InvokeCustom;' 124 Access flags : 0x0001 (PUBLIC) 125 Superclass : 'Linvokecustom/Super;' 126 Interfaces - 127 #0 : 'Ljava/lang/Runnable;' 128 Static fields - 129 #0 : (in Linvokecustom/InvokeCustom;) 130 name : 'staticFieldTest9' 131 type : 'I' 132 access : 0x000a (PRIVATE STATIC) 133 Instance fields - 134 #0 : (in Linvokecustom/InvokeCustom;) 135 name : 'fieldTest9' 136 type : 'F' 137 access : 0x0002 (PRIVATE) 138 Direct methods - 139 #0 : (in Linvokecustom/InvokeCustom;) 140 name : '<clinit>' 141 type : '()V' 142 access : 0x10008 (STATIC CONSTRUCTOR) 143 code - 144 registers : 1 145 ins : 0 146 outs : 0 147 insns size : 4 16-bit code units 148 0009c8: |[0009c8] invokecustom.InvokeCustom.<clinit>:()V 149 0009d8: 1200 |0000: const/4 v0, #int 0 // #0 150 0009da: 6700 0100 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@0001 151 0009de: 0e00 |0003: return-void 152 catches : (none) 153 positions : 154 0x0000 line=102 155 locals : 156 157 #1 : (in Linvokecustom/InvokeCustom;) 158 name : '<init>' 159 type : '()V' 160 access : 0x10001 (PUBLIC CONSTRUCTOR) 161 code - 162 registers : 2 163 ins : 1 164 outs : 1 165 insns size : 7 16-bit code units 166 0009e0: |[0009e0] invokecustom.InvokeCustom.<init>:()V 167 0009f0: 7010 2000 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@0020 168 0009f6: 1200 |0003: const/4 v0, #int 0 // #0 169 0009f8: 5910 0000 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@0000 170 0009fc: 0e00 |0006: return-void 171 catches : (none) 172 positions : 173 0x0000 line=39 174 0x0003 line=115 175 0x0006 line=39 176 locals : 177 0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom; 178 179 #2 : (in Linvokecustom/InvokeCustom;) 180 name : '<init>' 181 type : '(I)V' 182 access : 0x10001 (PUBLIC CONSTRUCTOR) 183 code - 184 registers : 5 185 ins : 2 186 outs : 2 187 insns size : 37 16-bit code units 188 000a00: |[000a00] invokecustom.InvokeCustom.<init>:(I)V 189 000a10: 7010 2000 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@0020 190 000a16: 1200 |0003: const/4 v0, #int 0 // #0 191 000a18: 5930 0000 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@0000 192 000a1c: 6200 0200 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 193 000a20: 2201 1000 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0010 194 000a24: 7010 3000 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 195 000a2a: 1a02 1a00 |000d: const-string v2, "InvokeCustom.<init>(" // string@001a 196 000a2e: 6e20 3600 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 197 000a34: 0c01 |0012: move-result-object v1 198 000a36: 6e20 3300 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033 199 000a3c: 0c01 |0016: move-result-object v1 200 000a3e: 1a02 0800 |0017: const-string v2, ")" // string@0008 201 000a42: 6e20 3600 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 202 000a48: 0c01 |001c: move-result-object v1 203 000a4a: 6e10 3700 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 204 000a50: 0c01 |0020: move-result-object v1 205 000a52: 6e20 2900 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 206 000a58: 0e00 |0024: return-void 207 catches : (none) 208 positions : 209 0x0000 line=40 210 0x0003 line=115 211 0x0006 line=41 212 0x0024 line=42 213 locals : 214 0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom; 215 0x0000 - 0x0025 reg=4 (null) I 216 217 #3 : (in Linvokecustom/InvokeCustom;) 218 name : 'bsmCreateCallSite' 219 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 220 access : 0x0009 (PUBLIC STATIC) 221 code - 222 registers : 7 223 ins : 4 224 outs : 2 225 insns size : 36 16-bit code units 226 000a5c: |[000a5c] invokecustom.InvokeCustom.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 227 000a6c: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 228 000a70: 2201 1000 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0010 229 000a74: 7010 3000 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 230 000a7a: 1a02 6000 |0007: const-string v2, "bsmCreateCallSite [" // string@0060 231 000a7e: 6e20 3600 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 232 000a84: 0c01 |000c: move-result-object v1 233 000a86: 6e20 3500 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035 234 000a8c: 0c01 |0010: move-result-object v1 235 000a8e: 1a02 5900 |0011: const-string v2, "]" // string@0059 236 000a92: 6e20 3600 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 237 000a98: 0c01 |0016: move-result-object v1 238 000a9a: 6e10 3700 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 239 000aa0: 0c01 |001a: move-result-object v1 240 000aa2: 6e20 2900 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 241 000aa8: 2200 1400 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@0014 242 000aac: 7020 3800 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@0038 243 000ab2: 1100 |0023: return-object v0 244 catches : (none) 245 positions : 246 0x0000 line=160 247 0x001e line=161 248 locals : 249 0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 250 0x0000 - 0x0024 reg=4 (null) Ljava/lang/String; 251 0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType; 252 0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle; 253 254 #4 : (in Linvokecustom/InvokeCustom;) 255 name : 'bsmLookupStatic' 256 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 257 access : 0x0009 (PUBLIC STATIC) 258 code - 259 registers : 5 260 ins : 3 261 outs : 4 262 insns size : 29 16-bit code units 263 000ab4: |[000ab4] invokecustom.InvokeCustom.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 264 000ac4: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 265 000ac8: 1a01 6200 |0002: const-string v1, "bsmLookupStatic []" // string@0062 266 000acc: 6e20 2900 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 267 000ad2: 7100 4600 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@0046 268 000ad8: 0c00 |000a: move-result-object v0 269 000ada: 6e10 4500 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@0045 270 000ae0: 0c01 |000e: move-result-object v1 271 000ae2: 6e40 4400 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@0044 272 000ae8: 0c00 |0012: move-result-object v0 273 000aea: 2201 1400 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0014 274 000aee: 6e20 3a00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@003a 275 000af4: 0c00 |0018: move-result-object v0 276 000af6: 7020 3800 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@0038 277 000afc: 1101 |001c: return-object v1 278 catches : (none) 279 positions : 280 0x0000 line=142 281 0x0007 line=143 282 0x000b line=144 283 0x0013 line=145 284 locals : 285 0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup; 286 0x0000 - 0x001d reg=3 (null) Ljava/lang/String; 287 0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType; 288 289 #5 : (in Linvokecustom/InvokeCustom;) 290 name : 'bsmLookupStaticWithExtraArgs' 291 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;' 292 access : 0x0009 (PUBLIC STATIC) 293 code - 294 registers : 12 295 ins : 9 296 outs : 4 297 insns size : 82 16-bit code units 298 000b00: |[000b00] invokecustom.InvokeCustom.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite; 299 000b10: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 300 000b14: 2201 1000 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0010 301 000b18: 7010 3000 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 302 000b1e: 1a02 6400 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@0064 303 000b22: 6e20 3600 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 304 000b28: 0c01 |000c: move-result-object v1 305 000b2a: 6e20 3300 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033 306 000b30: 0c01 |0010: move-result-object v1 307 000b32: 1a02 0900 |0011: const-string v2, ", " // string@0009 308 000b36: 6e20 3600 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 309 000b3c: 0c01 |0016: move-result-object v1 310 000b3e: 6e30 3400 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034 311 000b44: 0c01 |001a: move-result-object v1 312 000b46: 1a02 0900 |001b: const-string v2, ", " // string@0009 313 000b4a: 6e20 3600 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 314 000b50: 0c01 |0020: move-result-object v1 315 000b52: 6e20 3200 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@0032 316 000b58: 0c01 |0024: move-result-object v1 317 000b5a: 1a02 0900 |0025: const-string v2, ", " // string@0009 318 000b5e: 6e20 3600 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 319 000b64: 0c01 |002a: move-result-object v1 320 000b66: 6e30 3100 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@0031 321 000b6c: 0c01 |002e: move-result-object v1 322 000b6e: 1a02 5900 |002f: const-string v2, "]" // string@0059 323 000b72: 6e20 3600 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 324 000b78: 0c01 |0034: move-result-object v1 325 000b7a: 6e10 3700 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 326 000b80: 0c01 |0038: move-result-object v1 327 000b82: 6e20 2900 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 328 000b88: 7100 4600 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@0046 329 000b8e: 0c00 |003f: move-result-object v0 330 000b90: 6e10 4500 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@0045 331 000b96: 0c01 |0043: move-result-object v1 332 000b98: 6e40 4400 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@0044 333 000b9e: 0c00 |0047: move-result-object v0 334 000ba0: 2201 1400 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0014 335 000ba4: 6e20 3a00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@003a 336 000baa: 0c00 |004d: move-result-object v0 337 000bac: 7020 3800 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@0038 338 000bb2: 1101 |0051: return-object v1 339 catches : (none) 340 positions : 341 0x0000 line=151 342 0x003c line=152 343 0x0040 line=153 344 0x0048 line=154 345 locals : 346 0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 347 0x0000 - 0x0052 reg=4 (null) Ljava/lang/String; 348 0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType; 349 0x0000 - 0x0052 reg=6 (null) I 350 0x0000 - 0x0052 reg=7 (null) J 351 0x0000 - 0x0052 reg=9 (null) F 352 0x0000 - 0x0052 reg=10 (null) D 353 354 #6 : (in Linvokecustom/InvokeCustom;) 355 name : 'bsmLookupTest9' 356 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 357 access : 0x0009 (PUBLIC STATIC) 358 code - 359 registers : 13 360 ins : 10 361 outs : 4 362 insns size : 135 16-bit code units 363 000bb4: |[000bb4] invokecustom.InvokeCustom.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 364 000bc4: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 365 000bc8: 2201 1000 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0010 366 000bcc: 7010 3000 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 367 000bd2: 1a02 6600 |0007: const-string v2, "bsmLookupTest9 [" // string@0066 368 000bd6: 6e20 3600 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 369 000bdc: 0c01 |000c: move-result-object v1 370 000bde: 6e20 3500 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035 371 000be4: 0c01 |0010: move-result-object v1 372 000be6: 1a02 0900 |0011: const-string v2, ", " // string@0009 373 000bea: 6e20 3600 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 374 000bf0: 0c01 |0016: move-result-object v1 375 000bf2: 6e20 3500 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035 376 000bf8: 0c01 |001a: move-result-object v1 377 000bfa: 1a02 0900 |001b: const-string v2, ", " // string@0009 378 000bfe: 6e20 3600 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 379 000c04: 0c01 |0020: move-result-object v1 380 000c06: 6e20 3500 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035 381 000c0c: 0c01 |0024: move-result-object v1 382 000c0e: 1a02 0900 |0025: const-string v2, ", " // string@0009 383 000c12: 6e20 3600 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 384 000c18: 0c01 |002a: move-result-object v1 385 000c1a: 6e20 3500 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035 386 000c20: 0c01 |002e: move-result-object v1 387 000c22: 1a02 5900 |002f: const-string v2, "]" // string@0059 388 000c26: 6e20 3600 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 389 000c2c: 0c01 |0034: move-result-object v1 390 000c2e: 6e10 3700 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 391 000c34: 0c01 |0038: move-result-object v1 392 000c36: 6e20 2900 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 393 000c3c: 6200 0200 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 394 000c40: 2201 1000 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0010 395 000c44: 7010 3000 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 396 000c4a: 6e20 3600 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 397 000c50: 0c01 |0046: move-result-object v1 398 000c52: 1a02 0100 |0047: const-string v2, " " // string@0001 399 000c56: 6e20 3600 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 400 000c5c: 0c01 |004c: move-result-object v1 401 000c5e: 6e20 3500 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035 402 000c64: 0c01 |0050: move-result-object v1 403 000c66: 6e10 3700 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 404 000c6c: 0c01 |0054: move-result-object v1 405 000c6e: 6e20 2900 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 406 000c74: 7120 0800 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@0008 407 000c7a: 2200 0700 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@0007 408 000c7e: 7010 0100 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0001 409 000c84: 7030 0700 8009 |0060: invoke-direct {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@0007 410 000c8a: fa20 4000 0a00 2700 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@0040, proto@0027 411 000c92: 1230 |0067: const/4 v0, #int 3 // #3 412 000c94: fa20 4000 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@0040, proto@0005 413 000c9c: 0c00 |006c: move-result-object v0 414 000c9e: fa20 3b00 0c00 2700 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@003b, proto@0027 415 000ca6: 7100 4600 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@0046 416 000cac: 0c00 |0074: move-result-object v0 417 000cae: 6e10 4500 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@0045 418 000cb4: 0c01 |0078: move-result-object v1 419 000cb6: 6e40 4400 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@0044 420 000cbc: 0c00 |007c: move-result-object v0 421 000cbe: 2201 1400 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0014 422 000cc2: 6e20 3a00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@003a 423 000cc8: 0c00 |0082: move-result-object v0 424 000cca: 7020 3800 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@0038 425 000cd0: 1101 |0086: return-object v1 426 catches : (none) 427 positions : 428 0x0000 line=170 429 0x003c line=172 430 0x0058 line=175 431 0x005b line=176 432 0x0060 line=177 433 0x0063 line=180 434 0x0067 line=182 435 0x006d line=183 436 0x0071 line=185 437 0x0075 line=186 438 0x007d line=187 439 locals : 440 0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 441 0x0000 - 0x0087 reg=4 (null) Ljava/lang/String; 442 0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType; 443 0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle; 444 0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle; 445 0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle; 446 0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle; 447 0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle; 448 0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle; 449 0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle; 450 451 #7 : (in Linvokecustom/InvokeCustom;) 452 name : 'checkFieldTest9' 453 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 454 access : 0x0002 (PRIVATE) 455 code - 456 registers : 9 457 ins : 3 458 outs : 3 459 insns size : 82 16-bit code units 460 000cd4: |[000cd4] invokecustom.InvokeCustom.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 461 000ce4: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f 462 000cea: fa20 4000 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@0040, proto@0001 463 000cf2: 0a00 |0007: move-result v0 464 000cf4: fa30 4000 6805 2800 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@0040, proto@0028 465 000cfc: fa20 4000 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@0040, proto@0001 466 000d04: 0a01 |0010: move-result v1 467 000d06: 6202 0200 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 468 000d0a: 2203 1000 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0010 469 000d0e: 7010 3000 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 470 000d14: 1a04 6800 |0018: const-string v4, "checkFieldTest9: old " // string@0068 471 000d18: 6e20 3600 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 472 000d1e: 0c03 |001d: move-result-object v3 473 000d20: 6e20 3200 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@0032 474 000d26: 0c00 |0021: move-result-object v0 475 000d28: 1a03 0700 |0022: const-string v3, " new " // string@0007 476 000d2c: 6e20 3600 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 477 000d32: 0c00 |0027: move-result-object v0 478 000d34: 6e20 3200 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@0032 479 000d3a: 0c00 |002b: move-result-object v0 480 000d3c: 1a03 0600 |002c: const-string v3, " expected " // string@0006 481 000d40: 6e20 3600 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 482 000d46: 0c00 |0031: move-result-object v0 483 000d48: 6e20 3200 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@0032 484 000d4e: 0c00 |0035: move-result-object v0 485 000d50: 1a03 0100 |0036: const-string v3, " " // string@0001 486 000d54: 6e20 3600 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 487 000d5a: 0c00 |003b: move-result-object v0 488 000d5c: 6e10 3700 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 489 000d62: 0c00 |003f: move-result-object v0 490 000d64: 6e20 2300 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0023 491 000d6a: 6202 0200 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 492 000d6e: 2d00 0105 |0045: cmpl-float v0, v1, v5 493 000d72: 3900 0800 |0047: if-nez v0, 004f // +0008 494 000d76: 1a00 4400 |0049: const-string v0, "OK" // string@0044 495 000d7a: 6e20 2900 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 496 000d80: 0e00 |004e: return-void 497 000d82: 1a00 1100 |004f: const-string v0, "ERROR" // string@0011 498 000d86: 28fa |0051: goto 004b // -0006 499 catches : (none) 500 positions : 501 0x0003 line=120 502 0x0008 line=121 503 0x000c line=122 504 0x0011 line=123 505 0x0043 line=125 506 0x004e line=126 507 0x004f line=125 508 locals : 509 0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom; 510 0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle; 511 0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle; 512 513 #8 : (in Linvokecustom/InvokeCustom;) 514 name : 'checkStaticFieldTest9' 515 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 516 access : 0x000a (PRIVATE STATIC) 517 code - 518 registers : 8 519 ins : 2 520 outs : 2 521 insns size : 80 16-bit code units 522 000d88: |[000d88] invokecustom.InvokeCustom.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 523 000d98: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210 524 000d9e: fa10 4000 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@0040, proto@0002 525 000da6: 0a00 |0007: move-result v0 526 000da8: fa20 4000 5700 2500 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@0040, proto@0025 527 000db0: fa10 4000 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@0040, proto@0002 528 000db8: 0a01 |0010: move-result v1 529 000dba: 6202 0200 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 530 000dbe: 2203 1000 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0010 531 000dc2: 7010 3000 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 532 000dc8: 1a04 6a00 |0018: const-string v4, "checkStaticFieldTest9: old " // string@006a 533 000dcc: 6e20 3600 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 534 000dd2: 0c03 |001d: move-result-object v3 535 000dd4: 6e20 3300 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033 536 000dda: 0c00 |0021: move-result-object v0 537 000ddc: 1a03 0700 |0022: const-string v3, " new " // string@0007 538 000de0: 6e20 3600 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 539 000de6: 0c00 |0027: move-result-object v0 540 000de8: 6e20 3300 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033 541 000dee: 0c00 |002b: move-result-object v0 542 000df0: 1a03 0600 |002c: const-string v3, " expected " // string@0006 543 000df4: 6e20 3600 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 544 000dfa: 0c00 |0031: move-result-object v0 545 000dfc: 6e20 3300 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033 546 000e02: 0c00 |0035: move-result-object v0 547 000e04: 1a03 0100 |0036: const-string v3, " " // string@0001 548 000e08: 6e20 3600 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 549 000e0e: 0c00 |003b: move-result-object v0 550 000e10: 6e10 3700 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 551 000e16: 0c00 |003f: move-result-object v0 552 000e18: 6e20 2300 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0023 553 000e1e: 6202 0200 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 554 000e22: 3351 0800 |0045: if-ne v1, v5, 004d // +0008 555 000e26: 1a00 4400 |0047: const-string v0, "OK" // string@0044 556 000e2a: 6e20 2900 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 557 000e30: 0e00 |004c: return-void 558 000e32: 1a00 1100 |004d: const-string v0, "ERROR" // string@0011 559 000e36: 28fa |004f: goto 0049 // -0006 560 catches : (none) 561 positions : 562 0x0003 line=107 563 0x0008 line=108 564 0x000c line=109 565 0x0011 line=110 566 0x0043 line=112 567 0x004c line=113 568 0x004d line=112 569 locals : 570 0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle; 571 0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle; 572 573 #9 : (in Linvokecustom/InvokeCustom;) 574 name : 'lambda$lambdaTest$0' 575 type : '(Ljava/lang/String;)Z' 576 access : 0x100a (PRIVATE STATIC SYNTHETIC) 577 code - 578 registers : 3 579 ins : 1 580 outs : 2 581 insns size : 11 16-bit code units 582 000e38: |[000e38] invokecustom.InvokeCustom.lambda$lambdaTest$0:(Ljava/lang/String;)Z 583 000e48: 1a00 4500 |0000: const-string v0, "One" // string@0045 584 000e4c: 6e10 2f00 0200 |0002: invoke-virtual {v2}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@002f 585 000e52: 0c01 |0005: move-result-object v1 586 000e54: 6e20 2e00 1000 |0006: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@002e 587 000e5a: 0a00 |0009: move-result v0 588 000e5c: 0f00 |000a: return v0 589 catches : (none) 590 positions : 591 0x0000 line=192 592 locals : 593 0x0000 - 0x000b reg=2 (null) Ljava/lang/String; 594 595 #10 : (in Linvokecustom/InvokeCustom;) 596 name : 'lambdaTest' 597 type : '()V' 598 access : 0x0009 (PUBLIC STATIC) 599 code - 600 registers : 3 601 ins : 0 602 outs : 2 603 insns size : 71 16-bit code units 604 000e60: |[000e60] invokecustom.InvokeCustom.lambdaTest:()V 605 000e70: 1230 |0000: const/4 v0, #int 3 // #3 606 000e72: 2300 2500 |0001: new-array v0, v0, [Ljava/lang/String; // type@0025 607 000e76: 1201 |0003: const/4 v1, #int 0 // #0 608 000e78: 1a02 4900 |0004: const-string v2, "Three" // string@0049 609 000e7c: 4d02 0001 |0006: aput-object v2, v0, v1 610 000e80: 1211 |0008: const/4 v1, #int 1 // #1 611 000e82: 1a02 4500 |0009: const-string v2, "One" // string@0045 612 000e86: 4d02 0001 |000b: aput-object v2, v0, v1 613 000e8a: 1221 |000d: const/4 v1, #int 2 // #2 614 000e8c: 1a02 1600 |000e: const-string v2, "FortyTwo" // string@0016 615 000e90: 4d02 0001 |0010: aput-object v2, v0, v1 616 000e94: 7110 4700 0000 |0012: invoke-static {v0}, Ljava/util/Arrays;.asList:([Ljava/lang/Object;)Ljava/util/List; // method@0047 617 000e9a: 0c01 |0015: move-result-object v1 618 000e9c: 7210 4800 0100 |0016: invoke-interface {v1}, Ljava/util/List;.stream:()Ljava/util/stream/Stream; // method@0048 619 000ea2: 0c00 |0019: move-result-object v0 620 000ea4: fc00 0000 0000 |001a: invoke-custom {}, call_site@0000 621 000eaa: 0c02 |001d: move-result-object v2 622 000eac: 7220 4a00 2000 |001e: invoke-interface {v0, v2}, Ljava/util/stream/Stream;.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; // method@004a 623 000eb2: 0c00 |0021: move-result-object v0 624 000eb4: fc00 0100 0000 |0022: invoke-custom {}, call_site@0001 625 000eba: 0c02 |0025: move-result-object v2 626 000ebc: 7220 4d00 2000 |0026: invoke-interface {v0, v2}, Ljava/util/stream/Stream;.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream; // method@004d 627 000ec2: 0c00 |0029: move-result-object v0 628 000ec4: 7210 4b00 0000 |002a: invoke-interface {v0}, Ljava/util/stream/Stream;.findAny:()Ljava/util/Optional; // method@004b 629 000eca: 0c00 |002d: move-result-object v0 630 000ecc: 1a02 0000 |002e: const-string v2, "" // string@0000 631 000ed0: 6e20 4900 2000 |0030: invoke-virtual {v0, v2}, Ljava/util/Optional;.orElse:(Ljava/lang/Object;)Ljava/lang/Object; // method@0049 632 000ed6: 0c00 |0033: move-result-object v0 633 000ed8: 1f00 0f00 |0034: check-cast v0, Ljava/lang/String; // type@000f 634 000edc: 7210 4800 0100 |0036: invoke-interface {v1}, Ljava/util/List;.stream:()Ljava/util/stream/Stream; // method@0048 635 000ee2: 0c00 |0039: move-result-object v0 636 000ee4: 6201 0200 |003a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 637 000ee8: 6e10 2c00 0100 |003c: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@002c 638 000eee: fc10 0200 0100 |003f: invoke-custom {v1}, call_site@0002 639 000ef4: 0c01 |0042: move-result-object v1 640 000ef6: 7220 4c00 1000 |0043: invoke-interface {v0, v1}, Ljava/util/stream/Stream;.forEach:(Ljava/util/function/Consumer;)V // method@004c 641 000efc: 0e00 |0046: return-void 642 catches : (none) 643 positions : 644 0x0000 line=191 645 0x0016 line=192 646 0x0026 line=193 647 0x0036 line=194 648 0x0046 line=195 649 locals : 650 651 #11 : (in Linvokecustom/InvokeCustom;) 652 name : 'main' 653 type : '([Ljava/lang/String;)V' 654 access : 0x0009 (PUBLIC STATIC) 655 code - 656 registers : 1 657 ins : 1 658 outs : 0 659 insns size : 28 16-bit code units 660 000f00: |[000f00] invokecustom.InvokeCustom.main:([Ljava/lang/String;)V 661 000f10: 7100 1700 0000 |0000: invoke-static {}, Linvokecustom/InvokeCustom;.test1:()V // method@0017 662 000f16: 7100 1800 0000 |0003: invoke-static {}, Linvokecustom/InvokeCustom;.test2:()V // method@0018 663 000f1c: 7100 1900 0000 |0006: invoke-static {}, Linvokecustom/InvokeCustom;.test3:()V // method@0019 664 000f22: 7100 1a00 0000 |0009: invoke-static {}, Linvokecustom/InvokeCustom;.test4:()V // method@001a 665 000f28: 7100 1b00 0000 |000c: invoke-static {}, Linvokecustom/InvokeCustom;.test5:()V // method@001b 666 000f2e: 7100 1c00 0000 |000f: invoke-static {}, Linvokecustom/InvokeCustom;.test6:()V // method@001c 667 000f34: 7100 1d00 0000 |0012: invoke-static {}, Linvokecustom/InvokeCustom;.test7:()V // method@001d 668 000f3a: 7100 1e00 0000 |0015: invoke-static {}, Linvokecustom/InvokeCustom;.test8:()V // method@001e 669 000f40: 7100 1f00 0000 |0018: invoke-static {}, Linvokecustom/InvokeCustom;.test9:()V // method@001f 670 000f46: 0e00 |001b: return-void 671 catches : (none) 672 positions : 673 locals : 674 675 #12 : (in Linvokecustom/InvokeCustom;) 676 name : 'targetMethodTest1' 677 type : '()V' 678 access : 0x000a (PRIVATE STATIC) 679 code - 680 registers : 2 681 ins : 0 682 outs : 2 683 insns size : 8 16-bit code units 684 000f48: |[000f48] invokecustom.InvokeCustom.targetMethodTest1:()V 685 000f58: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 686 000f5c: 1a01 1700 |0002: const-string v1, "Hello World!" // string@0017 687 000f60: 6e20 2900 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 688 000f66: 0e00 |0007: return-void 689 catches : (none) 690 positions : 691 0x0000 line=45 692 0x0007 line=46 693 locals : 694 695 #13 : (in Linvokecustom/InvokeCustom;) 696 name : 'targetMethodTest2' 697 type : '(ZBCSIFJDLjava/lang/String;)V' 698 access : 0x000a (PRIVATE STATIC) 699 code - 700 registers : 13 701 ins : 11 702 outs : 3 703 insns size : 46 16-bit code units 704 000f68: |[000f68] invokecustom.InvokeCustom.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V 705 000f78: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 706 000f7c: 6e20 2a00 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@002a 707 000f82: 6200 0200 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 708 000f86: 6e20 2700 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@0027 709 000f8c: 6200 0200 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 710 000f90: 6e20 2400 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@0024 711 000f96: 6200 0200 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 712 000f9a: 6e20 2700 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@0027 713 000fa0: 6200 0200 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 714 000fa4: 6e20 2700 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@0027 715 000faa: 6200 0200 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 716 000fae: 6e20 2600 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@0026 717 000fb4: 6200 0200 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 718 000fb8: 6e30 2800 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@0028 719 000fbe: 6200 0200 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 720 000fc2: 6e30 2500 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@0025 721 000fc8: 6200 0200 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 722 000fcc: 6e20 2900 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 723 000fd2: 0e00 |002d: return-void 724 catches : (none) 725 positions : 726 0x0000 line=50 727 0x0005 line=51 728 0x000a line=52 729 0x000f line=53 730 0x0014 line=54 731 0x0019 line=55 732 0x001e line=56 733 0x0023 line=57 734 0x0028 line=58 735 0x002d line=59 736 locals : 737 0x0000 - 0x002e reg=2 (null) Z 738 0x0000 - 0x002e reg=3 (null) B 739 0x0000 - 0x002e reg=4 (null) C 740 0x0000 - 0x002e reg=5 (null) S 741 0x0000 - 0x002e reg=6 (null) I 742 0x0000 - 0x002e reg=7 (null) F 743 0x0000 - 0x002e reg=8 (null) J 744 0x0000 - 0x002e reg=10 (null) D 745 0x0000 - 0x002e reg=12 (null) Ljava/lang/String; 746 747 #14 : (in Linvokecustom/InvokeCustom;) 748 name : 'targetMethodTest3' 749 type : '()V' 750 access : 0x000a (PRIVATE STATIC) 751 code - 752 registers : 2 753 ins : 0 754 outs : 2 755 insns size : 8 16-bit code units 756 000fd4: |[000fd4] invokecustom.InvokeCustom.targetMethodTest3:()V 757 000fe4: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 758 000fe8: 1a01 8800 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0088 759 000fec: 6e20 2900 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 760 000ff2: 0e00 |0007: return-void 761 catches : (none) 762 positions : 763 0x0000 line=62 764 0x0007 line=63 765 locals : 766 767 #15 : (in Linvokecustom/InvokeCustom;) 768 name : 'targetMethodTest5' 769 type : '(III)I' 770 access : 0x0009 (PUBLIC STATIC) 771 code - 772 registers : 7 773 ins : 3 774 outs : 2 775 insns size : 83 16-bit code units 776 000ff4: |[000ff4] invokecustom.InvokeCustom.targetMethodTest5:(III)I 777 001004: 9000 0405 |0000: add-int v0, v4, v5 778 001008: 6201 0200 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 779 00100c: 2202 1000 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0010 780 001010: 7010 3000 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 781 001016: 1a03 8d00 |0009: const-string v3, "targetMethodTest5 " // string@008d 782 00101a: 6e20 3600 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 783 001020: 0c02 |000e: move-result-object v2 784 001022: 6e20 3300 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033 785 001028: 0c02 |0012: move-result-object v2 786 00102a: 1a03 0400 |0013: const-string v3, " + " // string@0004 787 00102e: 6e20 3600 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 788 001034: 0c02 |0018: move-result-object v2 789 001036: 6e20 3300 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033 790 00103c: 0c02 |001c: move-result-object v2 791 00103e: 1a03 0500 |001d: const-string v3, " = " // string@0005 792 001042: 6e20 3600 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 793 001048: 0c02 |0022: move-result-object v2 794 00104a: 6e20 3300 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033 795 001050: 0c02 |0026: move-result-object v2 796 001052: 6e10 3700 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 797 001058: 0c02 |002a: move-result-object v2 798 00105a: 6e20 2900 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 799 001060: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024 800 001064: 6201 0200 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 801 001068: 2202 1000 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0010 802 00106c: 7010 3000 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 803 001072: 1a03 1400 |0037: const-string v3, "Failed " // string@0014 804 001076: 6e20 3600 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 805 00107c: 0c02 |003c: move-result-object v2 806 00107e: 6e20 3300 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033 807 001084: 0c02 |0040: move-result-object v2 808 001086: 1a03 0200 |0041: const-string v3, " != " // string@0002 809 00108a: 6e20 3600 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 810 001090: 0c02 |0046: move-result-object v2 811 001092: 6e20 3300 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033 812 001098: 0c02 |004a: move-result-object v2 813 00109a: 6e10 3700 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 814 0010a0: 0c02 |004e: move-result-object v2 815 0010a2: 6e20 2900 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 816 0010a8: 0f00 |0052: return v0 817 catches : (none) 818 positions : 819 0x0000 line=72 820 0x0002 line=73 821 0x002e line=74 822 0x0030 line=75 823 0x0052 line=77 824 locals : 825 0x0000 - 0x0053 reg=4 (null) I 826 0x0000 - 0x0053 reg=5 (null) I 827 0x0000 - 0x0053 reg=6 (null) I 828 829 #16 : (in Linvokecustom/InvokeCustom;) 830 name : 'targetMethodTest6' 831 type : '(JJJ)J' 832 access : 0x0009 (PUBLIC STATIC) 833 code - 834 registers : 12 835 ins : 6 836 outs : 3 837 insns size : 85 16-bit code units 838 0010ac: |[0010ac] invokecustom.InvokeCustom.targetMethodTest6:(JJJ)J 839 0010bc: 9b00 0608 |0000: add-long v0, v6, v8 840 0010c0: 6202 0200 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 841 0010c4: 2203 1000 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0010 842 0010c8: 7010 3000 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 843 0010ce: 1a04 9000 |0009: const-string v4, "targetMethodTest6 " // string@0090 844 0010d2: 6e20 3600 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 845 0010d8: 0c03 |000e: move-result-object v3 846 0010da: 6e30 3400 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034 847 0010e0: 0c03 |0012: move-result-object v3 848 0010e2: 1a04 0400 |0013: const-string v4, " + " // string@0004 849 0010e6: 6e20 3600 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 850 0010ec: 0c03 |0018: move-result-object v3 851 0010ee: 6e30 3400 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034 852 0010f4: 0c03 |001c: move-result-object v3 853 0010f6: 1a04 0500 |001d: const-string v4, " = " // string@0005 854 0010fa: 6e20 3600 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 855 001100: 0c03 |0022: move-result-object v3 856 001102: 6e30 3400 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034 857 001108: 0c03 |0026: move-result-object v3 858 00110a: 6e10 3700 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 859 001110: 0c03 |002a: move-result-object v3 860 001112: 6e20 2900 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 861 001118: 3102 000a |002e: cmp-long v2, v0, v10 862 00111c: 3802 2400 |0030: if-eqz v2, 0054 // +0024 863 001120: 6202 0200 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 864 001124: 2203 1000 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0010 865 001128: 7010 3000 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 866 00112e: 1a04 1400 |0039: const-string v4, "Failed " // string@0014 867 001132: 6e20 3600 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 868 001138: 0c03 |003e: move-result-object v3 869 00113a: 6e30 3400 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034 870 001140: 0c03 |0042: move-result-object v3 871 001142: 1a04 0200 |0043: const-string v4, " != " // string@0002 872 001146: 6e20 3600 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 873 00114c: 0c03 |0048: move-result-object v3 874 00114e: 6e30 3400 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034 875 001154: 0c03 |004c: move-result-object v3 876 001156: 6e10 3700 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 877 00115c: 0c03 |0050: move-result-object v3 878 00115e: 6e20 2900 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 879 001164: 1000 |0054: return-wide v0 880 catches : (none) 881 positions : 882 0x0000 line=81 883 0x0002 line=82 884 0x002e line=83 885 0x0032 line=84 886 0x0054 line=86 887 locals : 888 0x0000 - 0x0055 reg=6 (null) J 889 0x0000 - 0x0055 reg=8 (null) J 890 0x0000 - 0x0055 reg=10 (null) J 891 892 #17 : (in Linvokecustom/InvokeCustom;) 893 name : 'targetMethodTest7' 894 type : '(FFD)D' 895 access : 0x0009 (PUBLIC STATIC) 896 code - 897 registers : 10 898 ins : 4 899 outs : 3 900 insns size : 86 16-bit code units 901 001168: |[001168] invokecustom.InvokeCustom.targetMethodTest7:(FFD)D 902 001178: a800 0607 |0000: mul-float v0, v6, v7 903 00117c: 8900 |0002: float-to-double v0, v0 904 00117e: 6202 0200 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 905 001182: 2203 1000 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0010 906 001186: 7010 3000 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 907 00118c: 1a04 9300 |000a: const-string v4, "targetMethodTest7 " // string@0093 908 001190: 6e20 3600 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 909 001196: 0c03 |000f: move-result-object v3 910 001198: 6e20 3200 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@0032 911 00119e: 0c03 |0013: move-result-object v3 912 0011a0: 1a04 0300 |0014: const-string v4, " * " // string@0003 913 0011a4: 6e20 3600 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 914 0011aa: 0c03 |0019: move-result-object v3 915 0011ac: 6e20 3200 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@0032 916 0011b2: 0c03 |001d: move-result-object v3 917 0011b4: 1a04 0500 |001e: const-string v4, " = " // string@0005 918 0011b8: 6e20 3600 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 919 0011be: 0c03 |0023: move-result-object v3 920 0011c0: 6e30 3100 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@0031 921 0011c6: 0c03 |0027: move-result-object v3 922 0011c8: 6e10 3700 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 923 0011ce: 0c03 |002b: move-result-object v3 924 0011d0: 6e20 2900 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 925 0011d6: 2f02 0008 |002f: cmpl-double v2, v0, v8 926 0011da: 3802 2400 |0031: if-eqz v2, 0055 // +0024 927 0011de: 6202 0200 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 928 0011e2: 2203 1000 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0010 929 0011e6: 7010 3000 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 930 0011ec: 1a04 1400 |003a: const-string v4, "Failed " // string@0014 931 0011f0: 6e20 3600 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 932 0011f6: 0c03 |003f: move-result-object v3 933 0011f8: 6e30 3100 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@0031 934 0011fe: 0c03 |0043: move-result-object v3 935 001200: 1a04 0200 |0044: const-string v4, " != " // string@0002 936 001204: 6e20 3600 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 937 00120a: 0c03 |0049: move-result-object v3 938 00120c: 6e30 3100 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@0031 939 001212: 0c03 |004d: move-result-object v3 940 001214: 6e10 3700 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 941 00121a: 0c03 |0051: move-result-object v3 942 00121c: 6e20 2900 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 943 001222: 1000 |0055: return-wide v0 944 catches : (none) 945 positions : 946 0x0000 line=90 947 0x0003 line=91 948 0x002f line=92 949 0x0033 line=93 950 0x0055 line=95 951 locals : 952 0x0000 - 0x0056 reg=6 (null) F 953 0x0000 - 0x0056 reg=7 (null) F 954 0x0000 - 0x0056 reg=8 (null) D 955 956 #18 : (in Linvokecustom/InvokeCustom;) 957 name : 'targetMethodTest8' 958 type : '(Ljava/lang/String;)V' 959 access : 0x0009 (PUBLIC STATIC) 960 code - 961 registers : 4 962 ins : 1 963 outs : 2 964 insns size : 25 16-bit code units 965 001224: |[001224] invokecustom.InvokeCustom.targetMethodTest8:(Ljava/lang/String;)V 966 001234: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 967 001238: 2201 1000 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0010 968 00123c: 7010 3000 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 969 001242: 1a02 9500 |0007: const-string v2, "targetMethodTest8 " // string@0095 970 001246: 6e20 3600 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 971 00124c: 0c01 |000c: move-result-object v1 972 00124e: 6e20 3600 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 973 001254: 0c01 |0010: move-result-object v1 974 001256: 6e10 3700 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 975 00125c: 0c01 |0014: move-result-object v1 976 00125e: 6e20 2900 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 977 001264: 0e00 |0018: return-void 978 catches : (none) 979 positions : 980 0x0000 line=99 981 0x0018 line=100 982 locals : 983 0x0000 - 0x0019 reg=3 (null) Ljava/lang/String; 984 985 #19 : (in Linvokecustom/InvokeCustom;) 986 name : 'targetMethodTest9' 987 type : '()V' 988 access : 0x000a (PRIVATE STATIC) 989 code - 990 registers : 2 991 ins : 0 992 outs : 2 993 insns size : 8 16-bit code units 994 001268: |[001268] invokecustom.InvokeCustom.targetMethodTest9:()V 995 001278: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 996 00127c: 1a01 9700 |0002: const-string v1, "targetMethodTest9()" // string@0097 997 001280: 6e20 2900 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 998 001286: 0e00 |0007: return-void 999 catches : (none) 1000 positions : 1001 0x0000 line=133 1002 0x0007 line=134 1003 locals : 1004 1005 #20 : (in Linvokecustom/InvokeCustom;) 1006 name : 'test1' 1007 type : '()V' 1008 access : 0x0009 (PUBLIC STATIC) 1009 code - 1010 registers : 0 1011 ins : 0 1012 outs : 0 1013 insns size : 4 16-bit code units 1014 001288: |[001288] invokecustom.InvokeCustom.test1:()V 1015 001298: fc00 0300 0000 |0000: invoke-custom {}, call_site@0003 1016 00129e: 0e00 |0003: return-void 1017 catches : (none) 1018 positions : 1019 locals : 1020 1021 #21 : (in Linvokecustom/InvokeCustom;) 1022 name : 'test2' 1023 type : '()V' 1024 access : 0x0009 (PUBLIC STATIC) 1025 code - 1026 registers : 11 1027 ins : 0 1028 outs : 11 1029 insns size : 27 16-bit code units 1030 0012a0: |[0012a0] invokecustom.InvokeCustom.test2:()V 1031 0012b0: 1210 |0000: const/4 v0, #int 1 // #1 1032 0012b2: 1301 7f00 |0001: const/16 v1, #int 127 // #7f 1033 0012b6: 1302 6300 |0003: const/16 v2, #int 99 // #63 1034 0012ba: 1303 0004 |0005: const/16 v3, #int 1024 // #400 1035 0012be: 1404 40e2 0100 |0007: const v4, #float 1.72999e-40 // #0001e240 1036 0012c4: 1405 9a99 993f |000a: const v5, #float 1.2 // #3f99999a 1037 0012ca: 1706 15cd 5b07 |000d: const-wide/32 v6, #float 1.6536e-34 // #075bcd15 1038 0012d0: 1808 b6fa f8b0 4819 0c40 |0010: const-wide v8, #double 3.51235 // #400c1948b0f8fab6 1039 0012da: 1a0a 4800 |0015: const-string v10, "String" // string@0048 1040 0012de: fd0b 0400 0000 |0017: invoke-custom/range {v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10}, call_site@0004 1041 0012e4: 0e00 |001a: return-void 1042 catches : (none) 1043 positions : 1044 locals : 1045 1046 #22 : (in Linvokecustom/InvokeCustom;) 1047 name : 'test3' 1048 type : '()V' 1049 access : 0x0009 (PUBLIC STATIC) 1050 code - 1051 registers : 0 1052 ins : 0 1053 outs : 0 1054 insns size : 4 16-bit code units 1055 0012e8: |[0012e8] invokecustom.InvokeCustom.test3:()V 1056 0012f8: fc00 0b00 0000 |0000: invoke-custom {}, call_site@000b 1057 0012fe: 0e00 |0003: return-void 1058 catches : (none) 1059 positions : 1060 locals : 1061 1062 #23 : (in Linvokecustom/InvokeCustom;) 1063 name : 'test4' 1064 type : '()V' 1065 access : 0x0009 (PUBLIC STATIC) 1066 code - 1067 registers : 1 1068 ins : 0 1069 outs : 1 1070 insns size : 9 16-bit code units 1071 001300: |[001300] invokecustom.InvokeCustom.test4:()V 1072 001310: 2200 0700 |0000: new-instance v0, Linvokecustom/InvokeCustom; // type@0007 1073 001314: 7010 0100 0000 |0002: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0001 1074 00131a: fc10 0c00 0000 |0005: invoke-custom {v0}, call_site@000c 1075 001320: 0e00 |0008: return-void 1076 catches : (none) 1077 positions : 1078 locals : 1079 1080 #24 : (in Linvokecustom/InvokeCustom;) 1081 name : 'test5' 1082 type : '()V' 1083 access : 0x0009 (PUBLIC STATIC) 1084 code - 1085 registers : 4 1086 ins : 0 1087 outs : 3 1088 insns size : 35 16-bit code units 1089 001324: |[001324] invokecustom.InvokeCustom.test5:()V 1090 001334: 1300 e803 |0000: const/16 v0, #int 1000 // #3e8 1091 001338: 1301 65fc |0002: const/16 v1, #int -923 // #fc65 1092 00133c: 1302 4d00 |0004: const/16 v2, #int 77 // #4d 1093 001340: fc30 0500 1002 |0006: invoke-custom {v0, v1, v2}, call_site@0005 1094 001346: 0a00 |0009: move-result v0 1095 001348: 6201 0200 |000a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 1096 00134c: 2202 1000 |000c: new-instance v2, Ljava/lang/StringBuilder; // type@0010 1097 001350: 7010 3000 0200 |000e: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 1098 001356: 1a03 8e00 |0011: const-string v3, "targetMethodTest5 returned: " // string@008e 1099 00135a: 6e20 3600 3200 |0013: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 1100 001360: 0c02 |0016: move-result-object v2 1101 001362: 6e20 3300 0200 |0017: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033 1102 001368: 0c00 |001a: move-result-object v0 1103 00136a: 6e10 3700 0000 |001b: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 1104 001370: 0c00 |001e: move-result-object v0 1105 001372: 6e20 2900 0100 |001f: invoke-virtual {v1, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 1106 001378: 0e00 |0022: return-void 1107 catches : (none) 1108 positions : 1109 locals : 1110 1111 #25 : (in Linvokecustom/InvokeCustom;) 1112 name : 'test6' 1113 type : '()V' 1114 access : 0x0009 (PUBLIC STATIC) 1115 code - 1116 registers : 6 1117 ins : 0 1118 outs : 6 1119 insns size : 44 16-bit code units 1120 00137c: |[00137c] invokecustom.InvokeCustom.test6:()V 1121 00138c: 1800 7777 7777 7707 0000 |0000: const-wide v0, #double 4.05612e-311 // #0000077777777777 1122 001396: 1802 efee eeee eefe ffff |0005: const-wide v2, #double -nan // #fffffeeeeeeeeeef 1123 0013a0: 1804 6666 6666 6606 0000 |000a: const-wide v4, #double 3.47668e-311 // #0000066666666666 1124 0013aa: fd06 0600 0000 |000f: invoke-custom/range {v0, v1, v2, v3, v4, v5}, call_site@0006 1125 0013b0: 0b00 |0012: move-result-wide v0 1126 0013b2: 6202 0200 |0013: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 1127 0013b6: 2203 1000 |0015: new-instance v3, Ljava/lang/StringBuilder; // type@0010 1128 0013ba: 7010 3000 0300 |0017: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 1129 0013c0: 1a04 9100 |001a: const-string v4, "targetMethodTest6 returned: " // string@0091 1130 0013c4: 6e20 3600 4300 |001c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 1131 0013ca: 0c03 |001f: move-result-object v3 1132 0013cc: 6e30 3400 0301 |0020: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034 1133 0013d2: 0c00 |0023: move-result-object v0 1134 0013d4: 6e10 3700 0000 |0024: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 1135 0013da: 0c00 |0027: move-result-object v0 1136 0013dc: 6e20 2900 0200 |0028: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 1137 0013e2: 0e00 |002b: return-void 1138 catches : (none) 1139 positions : 1140 locals : 1141 1142 #26 : (in Linvokecustom/InvokeCustom;) 1143 name : 'test7' 1144 type : '()V' 1145 access : 0x0009 (PUBLIC STATIC) 1146 code - 1147 registers : 5 1148 ins : 0 1149 outs : 4 1150 insns size : 40 16-bit code units 1151 0013e4: |[0013e4] invokecustom.InvokeCustom.test7:()V 1152 0013f4: 1400 0040 003f |0000: const v0, #float 0.500977 // #3f004000 1153 0013fa: 1401 0040 00bf |0003: const v1, #float -0.500977 // #bf004000 1154 001400: 1802 0000 0000 0410 d0bf |0006: const-wide v2, #double -0.250978 // #bfd0100400000000 1155 00140a: fc40 0700 1032 |000b: invoke-custom {v0, v1, v2, v3}, call_site@0007 1156 001410: 0b00 |000e: move-result-wide v0 1157 001412: 6202 0200 |000f: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 1158 001416: 2203 1000 |0011: new-instance v3, Ljava/lang/StringBuilder; // type@0010 1159 00141a: 7010 3000 0300 |0013: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 1160 001420: 1a04 9100 |0016: const-string v4, "targetMethodTest6 returned: " // string@0091 1161 001424: 6e20 3600 4300 |0018: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 1162 00142a: 0c03 |001b: move-result-object v3 1163 00142c: 6e30 3100 0301 |001c: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@0031 1164 001432: 0c00 |001f: move-result-object v0 1165 001434: 6e10 3700 0000 |0020: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 1166 00143a: 0c00 |0023: move-result-object v0 1167 00143c: 6e20 2900 0200 |0024: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 1168 001442: 0e00 |0027: return-void 1169 catches : (none) 1170 positions : 1171 locals : 1172 1173 #27 : (in Linvokecustom/InvokeCustom;) 1174 name : 'test8' 1175 type : '()V' 1176 access : 0x0009 (PUBLIC STATIC) 1177 code - 1178 registers : 1 1179 ins : 0 1180 outs : 1 1181 insns size : 16 16-bit code units 1182 001444: |[001444] invokecustom.InvokeCustom.test8:()V 1183 001454: 1a00 1500 |0000: const-string v0, "First invokedynamic invocation" // string@0015 1184 001458: fc10 0800 0000 |0002: invoke-custom {v0}, call_site@0008 1185 00145e: 1a00 4700 |0005: const-string v0, "Second invokedynamic invocation" // string@0047 1186 001462: fc10 0900 0000 |0007: invoke-custom {v0}, call_site@0009 1187 001468: 1a00 1000 |000a: const-string v0, "Dupe first invokedynamic invocation" // string@0010 1188 00146c: fc10 0a00 0000 |000c: invoke-custom {v0}, call_site@000a 1189 001472: 0e00 |000f: return-void 1190 catches : (none) 1191 positions : 1192 locals : 1193 1194 #28 : (in Linvokecustom/InvokeCustom;) 1195 name : 'test9' 1196 type : '()V' 1197 access : 0x0009 (PUBLIC STATIC) 1198 code - 1199 registers : 0 1200 ins : 0 1201 outs : 0 1202 insns size : 4 16-bit code units 1203 001474: |[001474] invokecustom.InvokeCustom.test9:()V 1204 001484: fc00 0d00 0000 |0000: invoke-custom {}, call_site@000d 1205 00148a: 0e00 |0003: return-void 1206 catches : (none) 1207 positions : 1208 locals : 1209 1210 Virtual methods - 1211 #0 : (in Linvokecustom/InvokeCustom;) 1212 name : 'helperMethodTest9' 1213 type : '()V' 1214 access : 0x0001 (PUBLIC) 1215 code - 1216 registers : 4 1217 ins : 1 1218 outs : 2 1219 insns size : 27 16-bit code units 1220 00148c: |[00148c] invokecustom.InvokeCustom.helperMethodTest9:()V 1221 00149c: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 1222 0014a0: 2201 1000 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0010 1223 0014a4: 7010 3000 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030 1224 0014aa: 1a02 7300 |0007: const-string v2, "helperMethodTest9 in " // string@0073 1225 0014ae: 6e20 3600 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036 1226 0014b4: 0c01 |000c: move-result-object v1 1227 0014b6: 1c02 0700 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@0007 1228 0014ba: 6e20 3500 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035 1229 0014c0: 0c01 |0012: move-result-object v1 1230 0014c2: 6e10 3700 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037 1231 0014c8: 0c01 |0016: move-result-object v1 1232 0014ca: 6e20 2900 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 1233 0014d0: 0e00 |001a: return-void 1234 catches : (none) 1235 positions : 1236 0x0000 line=129 1237 0x001a line=130 1238 locals : 1239 0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom; 1240 1241 #1 : (in Linvokecustom/InvokeCustom;) 1242 name : 'run' 1243 type : '()V' 1244 access : 0x0001 (PUBLIC) 1245 code - 1246 registers : 3 1247 ins : 1 1248 outs : 2 1249 insns size : 8 16-bit code units 1250 0014d4: |[0014d4] invokecustom.InvokeCustom.run:()V 1251 0014e4: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 1252 0014e8: 1a01 8200 |0002: const-string v1, "run() for Test9" // string@0082 1253 0014ec: 6e20 2900 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 1254 0014f2: 0e00 |0007: return-void 1255 catches : (none) 1256 positions : 1257 0x0000 line=137 1258 0x0007 line=138 1259 locals : 1260 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom; 1261 1262 #2 : (in Linvokecustom/InvokeCustom;) 1263 name : 'targetMethodTest4' 1264 type : '()V' 1265 access : 0x0001 (PUBLIC) 1266 code - 1267 registers : 3 1268 ins : 1 1269 outs : 2 1270 insns size : 8 16-bit code units 1271 0014f4: |[0014f4] invokecustom.InvokeCustom.targetMethodTest4:()V 1272 001504: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002 1273 001508: 1a01 8a00 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@008a 1274 00150c: 6e20 2900 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029 1275 001512: 0e00 |0007: return-void 1276 catches : (none) 1277 positions : 1278 0x0000 line=68 1279 0x0007 line=69 1280 locals : 1281 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom; 1282 1283 source_file_idx : 27 (InvokeCustom.java) 1284 1285 Method handle #0: 1286 type : put-static 1287 target : Linvokecustom/InvokeCustom; staticFieldTest9 1288 target_type : I 1289 Method handle #1: 1290 type : get-static 1291 target : Linvokecustom/InvokeCustom; staticFieldTest9 1292 target_type : I 1293 Method handle #2: 1294 type : put-instance 1295 target : Linvokecustom/InvokeCustom; fieldTest9 1296 target_type : (Linvokecustom/InvokeCustom; 1297 Method handle #3: 1298 type : get-instance 1299 target : Linvokecustom/InvokeCustom; fieldTest9 1300 target_type : (Linvokecustom/InvokeCustom; 1301 Method handle #4: 1302 type : invoke-static 1303 target : Linvokecustom/InvokeCustom; bsmCreateCallSite 1304 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 1305 Method handle #5: 1306 type : invoke-static 1307 target : Linvokecustom/InvokeCustom; bsmLookupStatic 1308 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 1309 Method handle #6: 1310 type : invoke-static 1311 target : Linvokecustom/InvokeCustom; bsmLookupStaticWithExtraArgs 1312 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite; 1313 Method handle #7: 1314 type : invoke-static 1315 target : Linvokecustom/InvokeCustom; bsmLookupTest9 1316 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 1317 Method handle #8: 1318 type : invoke-static 1319 target : Linvokecustom/InvokeCustom; lambda$lambdaTest$0 1320 target_type : (Ljava/lang/String;)Z 1321 Method handle #9: 1322 type : invoke-static 1323 target : Ljava/lang/invoke/LambdaMetafactory; metafactory 1324 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 1325 Method handle #10: 1326 type : invoke-instance 1327 target : Linvokecustom/InvokeCustom; helperMethodTest9 1328 target_type : (Linvokecustom/InvokeCustom;)V 1329 Method handle #11: 1330 type : invoke-instance 1331 target : Ljava/io/PrintStream; println 1332 target_type : (Ljava/io/PrintStream;Ljava/lang/String;)V 1333 Method handle #12: 1334 type : invoke-instance 1335 target : Ljava/lang/String; trim 1336 target_type : (Ljava/lang/String;)Ljava/lang/String; 1337 Method handle #13: 1338 type : invoke-constructor 1339 target : Linvokecustom/InvokeCustom; <init> 1340 target_type : (Linvokecustom/InvokeCustom;I)V 1341 Method handle #14: 1342 type : invoke-direct 1343 target : Linvokecustom/Super; targetMethodTest4 1344 target_type : (Linvokecustom/Super;)V 1345 Method handle #15: 1346 type : invoke-interface 1347 target : Ljava/lang/Runnable; run 1348 target_type : (Ljava/lang/Runnable;)V 1349 Call site #0: // offset 8450 1350 link_argument[0] : 9 (MethodHandle) 1351 link_argument[1] : test (String) 1352 link_argument[2] : ()Ljava/util/function/Predicate; (MethodType) 1353 link_argument[3] : (Ljava/lang/Object;)Z (MethodType) 1354 link_argument[4] : 8 (MethodHandle) 1355 link_argument[5] : (Ljava/lang/String;)Z (MethodType) 1356 Call site #1: // offset 8463 1357 link_argument[0] : 9 (MethodHandle) 1358 link_argument[1] : apply (String) 1359 link_argument[2] : ()Ljava/util/function/Function; (MethodType) 1360 link_argument[3] : (Ljava/lang/Object;)Ljava/lang/Object; (MethodType) 1361 link_argument[4] : 12 (MethodHandle) 1362 link_argument[5] : (Ljava/lang/String;)Ljava/lang/String; (MethodType) 1363 Call site #2: // offset 8476 1364 link_argument[0] : 9 (MethodHandle) 1365 link_argument[1] : accept (String) 1366 link_argument[2] : (Ljava/io/PrintStream;)Ljava/util/function/Consumer; (MethodType) 1367 link_argument[3] : (Ljava/lang/Object;)V (MethodType) 1368 link_argument[4] : 11 (MethodHandle) 1369 link_argument[5] : (Ljava/lang/String;)V (MethodType) 1370 Call site #3: // offset 8489 1371 link_argument[0] : 5 (MethodHandle) 1372 link_argument[1] : targetMethodTest1 (String) 1373 link_argument[2] : ()V (MethodType) 1374 Call site #4: // offset 8496 1375 link_argument[0] : 5 (MethodHandle) 1376 link_argument[1] : targetMethodTest2 (String) 1377 link_argument[2] : (ZBCSIFJDLjava/lang/String;)V (MethodType) 1378 Call site #5: // offset 8503 1379 link_argument[0] : 5 (MethodHandle) 1380 link_argument[1] : targetMethodTest5 (String) 1381 link_argument[2] : (III)I (MethodType) 1382 Call site #6: // offset 8510 1383 link_argument[0] : 5 (MethodHandle) 1384 link_argument[1] : targetMethodTest6 (String) 1385 link_argument[2] : (JJJ)J (MethodType) 1386 Call site #7: // offset 8517 1387 link_argument[0] : 5 (MethodHandle) 1388 link_argument[1] : targetMethodTest7 (String) 1389 link_argument[2] : (FFD)D (MethodType) 1390 Call site #8: // offset 8524 1391 link_argument[0] : 5 (MethodHandle) 1392 link_argument[1] : targetMethodTest8 (String) 1393 link_argument[2] : (Ljava/lang/String;)V (MethodType) 1394 Call site #9: // offset 8524 1395 link_argument[0] : 5 (MethodHandle) 1396 link_argument[1] : targetMethodTest8 (String) 1397 link_argument[2] : (Ljava/lang/String;)V (MethodType) 1398 Call site #10: // offset 8524 1399 link_argument[0] : 5 (MethodHandle) 1400 link_argument[1] : targetMethodTest8 (String) 1401 link_argument[2] : (Ljava/lang/String;)V (MethodType) 1402 Call site #11: // offset 8531 1403 link_argument[0] : 6 (MethodHandle) 1404 link_argument[1] : targetMethodTest3 (String) 1405 link_argument[2] : ()V (MethodType) 1406 link_argument[3] : 1 (int) 1407 link_argument[4] : 123456789 (long) 1408 link_argument[5] : 123.456 (float) 1409 link_argument[6] : 123457 (double) 1410 Call site #12: // offset 8559 1411 link_argument[0] : 4 (MethodHandle) 1412 link_argument[1] : targetMethodTest4 (String) 1413 link_argument[2] : (Linvokecustom/InvokeCustom;)V (MethodType) 1414 link_argument[3] : 14 (MethodHandle) 1415 Call site #13: // offset 8568 1416 link_argument[0] : 7 (MethodHandle) 1417 link_argument[1] : targetMethodTest9 (String) 1418 link_argument[2] : ()V (MethodType) 1419 link_argument[3] : 1 (MethodHandle) 1420 link_argument[4] : 0 (MethodHandle) 1421 link_argument[5] : 3 (MethodHandle) 1422 link_argument[6] : 2 (MethodHandle) 1423 link_argument[7] : 10 (MethodHandle) 1424 link_argument[8] : 13 (MethodHandle) 1425 link_argument[9] : 15 (MethodHandle) 1426