private static void testTypedVarargsArray(java.lang.Class) throws java.lang.Throwable; descriptor: (Ljava/lang/Class;)V flags: ACC_PRIVATE, ACC_STATIC Code: stack=5, locals=17, args_size=1 0: aload_0 1: invokevirtual #34 // Method java/lang/Class.getComponentType:()Ljava/lang/Class; 4: astore_1 5: getstatic #5 // Field START_ARITY:I 8: istore_2 9: getstatic #6 // Field MAX_ARITY:I 12: iconst_2 13: isub 14: istore_3 15: iconst_3 16: istore 4 18: aload_1 19: getstatic #35 // Field java/lang/Integer.TYPE:Ljava/lang/Class; 22: if_acmpeq 32 25: aload_1 26: getstatic #36 // Field java/lang/Long.TYPE:Ljava/lang/Class; 29: if_acmpne 36 32: bipush 7 34: istore 4 36: aload_1 37: getstatic #36 // Field java/lang/Long.TYPE:Ljava/lang/Class; 40: if_acmpeq 50 43: aload_1 44: getstatic #37 // Field java/lang/Double.TYPE:Ljava/lang/Class; 47: if_acmpne 58 50: iload_3 51: iconst_2 52: idiv 53: istore_3 54: iload_2 55: iconst_2 56: idiv 57: istore_2 58: iload_2 59: istore 5 61: iload 5 63: iload_3 64: if_icmpgt 374 67: aload_1 68: iload 5 70: invokestatic #38 // Method makeTestArray:(Ljava/lang/Class;I)[Ljava/lang/Object; 73: astore 6 75: aload_0 76: iload 5 78: invokestatic #39 // Method java/lang/invoke/MethodHandleImpl.varargsArray:(Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle; 81: astore 7 83: aload 7 85: invokevirtual #40 // Method java/lang/invoke/MethodHandle.type:()Ljava/lang/invoke/MethodType; 88: astore 8 90: aload_0 91: aload 8 93: invokevirtual #41 // Method java/lang/invoke/MethodType.returnType:()Ljava/lang/Class; 96: invokestatic #42 // Method assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V 99: iload 5 101: ifeq 130 104: aload_1 105: aload 8 107: iconst_0 108: invokevirtual #43 // Method java/lang/invoke/MethodType.parameterType:(I)Ljava/lang/Class; 111: invokestatic #42 // Method assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V 114: aload_1 115: aload 8 117: aload 8 119: invokevirtual #44 // Method java/lang/invoke/MethodType.parameterCount:()I 122: iconst_1 123: isub 124: invokevirtual #43 // Method java/lang/invoke/MethodType.parameterType:(I)Ljava/lang/Class; 127: invokestatic #42 // Method assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V 130: aload_0 131: iload 5 133: aload_1 134: invokestatic #45 // Method java/util/Collections.nCopies:(ILjava/lang/Object;)Ljava/util/List; 137: invokestatic #46 // Method java/lang/invoke/MethodType.methodType:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodType; 140: aload 8 142: invokestatic #42 // Method assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V 145: aload 7 147: aload 6 149: invokevirtual #15 // Method java/lang/invoke/MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object; 152: astore 9 154: aload 9 156: invokevirtual #47 // Method java/lang/Object.getClass:()Ljava/lang/Class; 159: aload_0 160: invokestatic #42 // Method assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V 163: aload 9 165: invokestatic #48 // Method toArrayString:(Ljava/lang/Object;)Ljava/lang/String; 168: astore 10 170: aload 6 172: invokestatic #49 // Method java/util/Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String; 175: aload 10 177: invokestatic #42 // Method assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V 180: aload 7 182: aload_0 183: iload 5 185: invokevirtual #50 // Method java/lang/invoke/MethodHandle.asSpreader:(Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle; 188: astore 11 190: aload 11 192: invokevirtual #40 // Method java/lang/invoke/MethodHandle.type:()Ljava/lang/invoke/MethodType; 195: astore 12 197: getstatic #51 // Field $assertionsDisabled:Z 200: ifne 221 203: aload 12 205: aload_0 206: aload_0 207: invokestatic #52 // Method java/lang/invoke/MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType; 210: if_acmpeq 221 213: new #53 // class java/lang/AssertionError 216: dup 217: invokespecial #54 // Method java/lang/AssertionError."":()V 220: athrow 221: iload 5 223: iconst_5 224: if_icmpgt 324 227: aload 11 229: iconst_1 230: anewarray #8 // class java/lang/Object 233: dup 234: iconst_0 235: aload 9 237: aastore 238: invokevirtual #15 // Method java/lang/invoke/MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object; 241: astore 13 243: aload 13 245: invokestatic #48 // Method toArrayString:(Ljava/lang/Object;)Ljava/lang/String; 248: astore 14 250: aload 6 252: invokestatic #49 // Method java/util/Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String; 255: aload 14 257: invokestatic #42 // Method assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V 260: aload 11 262: iconst_1 263: anewarray #8 // class java/lang/Object 266: dup 267: iconst_0 268: aload 6 270: aastore 271: invokevirtual #15 // Method java/lang/invoke/MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object; 274: astore 15 276: aload 15 278: invokestatic #48 // Method toArrayString:(Ljava/lang/Object;)Ljava/lang/String; 281: astore 16 283: aload_0 284: invokevirtual #55 // Method java/lang/Class.getName:()Ljava/lang/String; 287: aload_0 288: ldc #16 // class "[Ljava/lang/Object;" 290: invokevirtual #56 // Method java/lang/Class.isAssignableFrom:(Ljava/lang/Class;)Z 293: invokestatic #57 // Method assertTrue:(Ljava/lang/String;Z)V 296: aload 6 298: invokestatic #49 // Method java/util/Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String; 301: aload 16 303: invokestatic #42 // Method assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V 306: goto 324 309: astore 15 311: aload_0 312: invokevirtual #55 // Method java/lang/Class.getName:()Ljava/lang/String; 315: aload_0 316: ldc #16 // class "[Ljava/lang/Object;" 318: invokevirtual #56 // Method java/lang/Class.isAssignableFrom:(Ljava/lang/Class;)Z 321: invokestatic #59 // Method assertFalse:(Ljava/lang/String;Z)V 324: iload 5 326: ifne 361 329: aload 11 331: iconst_1 332: anewarray #8 // class java/lang/Object 335: dup 336: iconst_0 337: aconst_null 338: aastore 339: invokevirtual #15 // Method java/lang/invoke/MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object; 342: astore 13 344: aload 13 346: invokestatic #48 // Method toArrayString:(Ljava/lang/Object;)Ljava/lang/String; 349: astore 14 351: aload 6 353: invokestatic #49 // Method java/util/Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String; 356: aload 14 358: invokestatic #42 // Method assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V 361: iload 5 363: iload 4 365: iload_3 366: invokestatic #18 // Method nextArgCount:(III)I 369: istore 5 371: goto 61 374: return Exception table: from to target type 260 306 309 Class java/lang/ClassCastException LineNumberTable: line 101: 0 line 102: 5 line 103: 9 line 104: 15 line 105: 18 line 106: 36 line 107: 58 line 108: 67 line 109: 75 line 110: 83 line 111: 90 line 112: 99 line 113: 104 line 114: 114 line 116: 130 line 118: 145 line 119: 154 line 120: 163 line 121: 170 line 123: 180 line 124: 190 line 125: 197 line 126: 221 line 129: 227 line 130: 243 line 131: 250 line 134: 260 line 135: 276 line 136: 283 line 137: 296 line 140: 306 line 138: 309 line 139: 311 line 142: 324 line 144: 329 line 145: 344 line 146: 351 line 107: 361 line 149: 374 StackMapTable: number_of_entries = 11 frame_type = 255 /* full_frame */ offset_delta = 32 locals = [ class java/lang/Class, class java/lang/Class, int, int, int ] stack = [] frame_type = 3 /* same */ frame_type = 13 /* same */ frame_type = 7 /* same */ frame_type = 252 /* append */ offset_delta = 2 locals = [ int ] frame_type = 254 /* append */ offset_delta = 68 locals = [ class "[Ljava/lang/Object;", class java/lang/invoke/MethodHandle, class java/lang/invoke/MethodType ] frame_type = 255 /* full_frame */ offset_delta = 90 locals = [ class java/lang/Class, class java/lang/Class, int, int, int, int, class "[Ljava/lang/Object;", class java/lang/invoke/MethodHandle, class java/lang/invoke/MethodType, class java/lang/Object, class java/lang/String, class java/lang/invoke/MethodHandle, class java/lang/invoke/MethodType ] stack = [] frame_type = 255 /* full_frame */ offset_delta = 87 locals = [ class java/lang/Class, class java/lang/Class, int, int, int, int, class "[Ljava/lang/Object;", class java/lang/invoke/MethodHandle, class java/lang/invoke/MethodType, class java/lang/Object, class java/lang/String, class java/lang/invoke/MethodHandle, class java/lang/invoke/MethodType, class java/lang/Object, class java/lang/String ] stack = [ class java/lang/ClassCastException ] frame_type = 249 /* chop */ offset_delta = 14 frame_type = 255 /* full_frame */ offset_delta = 36 locals = [ class java/lang/Class, class java/lang/Class, int, int, int, int ] stack = [] frame_type = 250 /* chop */ offset_delta = 12 Exceptions: throws java.lang.Throwable Signature: #135 // (Ljava/lang/Class<*>;)V