abstract class java.lang.invoke.AbstractValidatingLambdaMetafactory
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: java.lang.invoke.AbstractValidatingLambdaMetafactory
super_class: java.lang.Object
{
final java.lang.Class<?> targetClass;
descriptor: Ljava/lang/Class;
flags: (0x0010) ACC_FINAL
Signature: Ljava/lang/Class<*>;
final java.lang.invoke.MethodType invokedType;
descriptor: Ljava/lang/invoke/MethodType;
flags: (0x0010) ACC_FINAL
final java.lang.Class<?> samBase;
descriptor: Ljava/lang/Class;
flags: (0x0010) ACC_FINAL
Signature: Ljava/lang/Class<*>;
final java.lang.String samMethodName;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
final java.lang.invoke.MethodType samMethodType;
descriptor: Ljava/lang/invoke/MethodType;
flags: (0x0010) ACC_FINAL
final java.lang.invoke.MethodHandle implMethod;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x0010) ACC_FINAL
final java.lang.invoke.MethodType implMethodType;
descriptor: Ljava/lang/invoke/MethodType;
flags: (0x0010) ACC_FINAL
final java.lang.invoke.MethodHandleInfo implInfo;
descriptor: Ljava/lang/invoke/MethodHandleInfo;
flags: (0x0010) ACC_FINAL
final int implKind;
descriptor: I
flags: (0x0010) ACC_FINAL
final boolean implIsInstanceMethod;
descriptor: Z
flags: (0x0010) ACC_FINAL
final java.lang.Class<?> implClass;
descriptor: Ljava/lang/Class;
flags: (0x0010) ACC_FINAL
Signature: Ljava/lang/Class<*>;
final java.lang.invoke.MethodType instantiatedMethodType;
descriptor: Ljava/lang/invoke/MethodType;
flags: (0x0010) ACC_FINAL
final boolean isSerializable;
descriptor: Z
flags: (0x0010) ACC_FINAL
final java.lang.Class<?>[] markerInterfaces;
descriptor: [Ljava/lang/Class;
flags: (0x0010) ACC_FINAL
Signature: [Ljava/lang/Class<*>;
final java.lang.invoke.MethodType[] additionalBridges;
descriptor: [Ljava/lang/invoke/MethodType;
flags: (0x0010) ACC_FINAL
void <init>(java.lang.invoke.MethodHandles$Lookup, java.lang.invoke.MethodType, java.lang.String, java.lang.invoke.MethodType, java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, boolean, java.lang.Class<?>[], java.lang.invoke.MethodType[]);
descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/invoke/MethodType;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Z[Ljava/lang/Class;[Ljava/lang/invoke/MethodType;)V
flags: (0x0000)
Code:
stack=7, locals=14, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupModes:()I
iconst_2
iand
ifne 6
2: new java.lang.invoke.LambdaConversionException
dup
3: ldc "Invalid caller: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
4: aload 1
invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
5: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory java.lang.invoke.MethodHandles$Lookup java.lang.invoke.MethodType java.lang.String java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodType int java.lang.Class[] java.lang.invoke.MethodType[]
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.targetClass:Ljava/lang/Class;
7: aload 0
aload 2
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.invokedType:Ljava/lang/invoke/MethodType;
8: aload 0
aload 2
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.samBase:Ljava/lang/Class;
9: aload 0
aload 3
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.samMethodName:Ljava/lang/String;
10: aload 0
aload 4
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.samMethodType:Ljava/lang/invoke/MethodType;
11: aload 0
aload 5
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implMethod:Ljava/lang/invoke/MethodHandle;
12: aload 0
aload 5
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implMethodType:Ljava/lang/invoke/MethodType;
13: aload 0
aload 1
aload 5
invokevirtual java.lang.invoke.MethodHandles$Lookup.revealDirect:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandleInfo;
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implInfo:Ljava/lang/invoke/MethodHandleInfo;
14: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implInfo:Ljava/lang/invoke/MethodHandleInfo;
invokeinterface java.lang.invoke.MethodHandleInfo.getReferenceKind:()I
tableswitch { // 5 - 9
5: 15
6: 25
7: 21
8: 25
9: 15
default: 29
}
15: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implMethodType:Ljava/lang/invoke/MethodType;
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implClass:Ljava/lang/Class;
16: aload 0
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implClass:Ljava/lang/Class;
invokevirtual java.lang.Class.isInterface:()Z
ifeq 17
bipush 9
goto 18
StackMap locals:
StackMap stack: java.lang.invoke.AbstractValidatingLambdaMetafactory
17: iconst_5
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory java.lang.invoke.MethodHandles$Lookup java.lang.invoke.MethodType java.lang.String java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodType int java.lang.Class[] java.lang.invoke.MethodType[]
StackMap stack: java.lang.invoke.AbstractValidatingLambdaMetafactory int
18: putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implKind:I
19: aload 0
iconst_1
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implIsInstanceMethod:Z
20: goto 30
21: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implInfo:Ljava/lang/invoke/MethodHandleInfo;
invokeinterface java.lang.invoke.MethodHandleInfo.getDeclaringClass:()Ljava/lang/Class;
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implClass:Ljava/lang/Class;
22: aload 0
bipush 7
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implKind:I
23: aload 0
iconst_1
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implIsInstanceMethod:Z
24: goto 30
25: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implInfo:Ljava/lang/invoke/MethodHandleInfo;
invokeinterface java.lang.invoke.MethodHandleInfo.getDeclaringClass:()Ljava/lang/Class;
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implClass:Ljava/lang/Class;
26: aload 0
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implInfo:Ljava/lang/invoke/MethodHandleInfo;
invokeinterface java.lang.invoke.MethodHandleInfo.getReferenceKind:()I
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implKind:I
27: aload 0
iconst_0
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implIsInstanceMethod:Z
28: goto 30
29: StackMap locals:
StackMap stack:
new java.lang.invoke.LambdaConversionException
dup
ldc "Unsupported MethodHandle kind: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implInfo:Ljava/lang/invoke/MethodHandleInfo;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
aload 0
aload 6
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.instantiatedMethodType:Ljava/lang/invoke/MethodType;
31: aload 0
iload 7
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.isSerializable:Z
32: aload 0
aload 8
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.markerInterfaces:[Ljava/lang/Class;
33: aload 0
aload 9
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.additionalBridges:[Ljava/lang/invoke/MethodType;
34: aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifne 41
35: aload 3
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
ifge 41
36: aload 3
bipush 59
invokevirtual java.lang.String.indexOf:(I)I
ifge 41
37: aload 3
bipush 91
invokevirtual java.lang.String.indexOf:(I)I
ifge 41
38: aload 3
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
ifge 41
39: aload 3
bipush 60
invokevirtual java.lang.String.indexOf:(I)I
ifge 41
40: aload 3
bipush 62
invokevirtual java.lang.String.indexOf:(I)I
iflt 45
41: StackMap locals:
StackMap stack:
new java.lang.invoke.LambdaConversionException
dup
42: ldc "Method name '%s' is not legal"
iconst_1
anewarray java.lang.Object
dup
iconst_0
43: aload 3
aastore
44: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.samBase:Ljava/lang/Class;
invokevirtual java.lang.Class.isInterface:()Z
ifne 50
46: new java.lang.invoke.LambdaConversionException
dup
47: ldc "Functional interface %s is not an interface"
iconst_1
anewarray java.lang.Object
dup
iconst_0
48: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.samBase:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
49: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
50: StackMap locals:
StackMap stack:
aload 8
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 58
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory java.lang.invoke.MethodHandles$Lookup java.lang.invoke.MethodType java.lang.String java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodType int java.lang.Class[] java.lang.invoke.MethodType[] top int int java.lang.Class[]
StackMap stack:
51: aload 13
iload 11
aaload
astore 10
start local 10 52: aload 10
invokevirtual java.lang.Class.isInterface:()Z
ifne 57
53: new java.lang.invoke.LambdaConversionException
dup
54: ldc "Marker interface %s is not an interface"
iconst_1
anewarray java.lang.Object
dup
iconst_0
55: aload 10
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
56: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
end local 10 57: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
58: iload 11
iload 12
if_icmplt 51
59: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Ljava/lang/invoke/AbstractValidatingLambdaMetafactory;
0 60 1 caller Ljava/lang/invoke/MethodHandles$Lookup;
0 60 2 invokedType Ljava/lang/invoke/MethodType;
0 60 3 samMethodName Ljava/lang/String;
0 60 4 samMethodType Ljava/lang/invoke/MethodType;
0 60 5 implMethod Ljava/lang/invoke/MethodHandle;
0 60 6 instantiatedMethodType Ljava/lang/invoke/MethodType;
0 60 7 isSerializable Z
0 60 8 markerInterfaces [Ljava/lang/Class;
0 60 9 additionalBridges [Ljava/lang/invoke/MethodType;
52 57 10 c Ljava/lang/Class<*>;
Exceptions:
throws java.lang.invoke.LambdaConversionException
Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/invoke/MethodType;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Z[Ljava/lang/Class<*>;[Ljava/lang/invoke/MethodType;)V
MethodParameters:
Name Flags
caller
invokedType
samMethodName
samMethodType
implMethod
instantiatedMethodType
isSerializable
markerInterfaces
additionalBridges
abstract java.lang.invoke.CallSite buildCallSite();
descriptor: ()Ljava/lang/invoke/CallSite;
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws java.lang.invoke.LambdaConversionException
void validateMetafactoryArgs();
descriptor: ()V
flags: (0x0000)
Code:
stack=7, locals=13, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 1
start local 1 1: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.invokedType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 2
start local 2 2: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.samMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 3
start local 3 3: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.instantiatedMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 4
start local 4 4: iload 1
iload 2
iload 3
iadd
if_icmpeq 13
5: new java.lang.invoke.LambdaConversionException
dup
6: ldc "Incorrect number of parameters for %s method %s; %d captured parameters, %d functional interface method parameters, %d implementation parameters"
iconst_5
anewarray java.lang.Object
dup
iconst_0
7: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implIsInstanceMethod:Z
ifeq 8
ldc "instance"
goto 9
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int
StackMap stack: new 5 new 5 java.lang.String java.lang.Object[] java.lang.Object[] int
8: ldc "static"
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int
StackMap stack: new 5 new 5 java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
9: aastore
dup
iconst_1
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implInfo:Ljava/lang/invoke/MethodHandleInfo;
aastore
dup
iconst_2
10: iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
11: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
12: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
iload 4
iload 3
if_icmpeq 22
14: new java.lang.invoke.LambdaConversionException
dup
15: ldc "Incorrect number of parameters for %s method %s; %d instantiated parameters, %d functional interface method parameters"
iconst_4
anewarray java.lang.Object
dup
iconst_0
16: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implIsInstanceMethod:Z
ifeq 17
ldc "instance"
goto 18
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int
StackMap stack: new 14 new 14 java.lang.String java.lang.Object[] java.lang.Object[] int
17: ldc "static"
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int
StackMap stack: new 14 new 14 java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
18: aastore
dup
iconst_1
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implInfo:Ljava/lang/invoke/MethodHandleInfo;
aastore
dup
iconst_2
19: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
20: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
21: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.additionalBridges:[Ljava/lang/invoke/MethodType;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 31
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int top int int java.lang.invoke.MethodType[]
StackMap stack:
23: aload 8
iload 6
aaload
astore 5
start local 5 24: aload 5
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iload 3
if_icmpeq 30
25: new java.lang.invoke.LambdaConversionException
dup
26: ldc "Incorrect number of parameters for bridge signature %s; incompatible with %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
27: aload 5
aastore
dup
iconst_1
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.samMethodType:Ljava/lang/invoke/MethodType;
aastore
28: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
29: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
end local 5 30: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
31: iload 6
iload 7
if_icmplt 23
32: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implIsInstanceMethod:Z
ifeq 47
33: iload 2
ifne 38
34: iconst_0
istore 5
start local 5 35: iconst_1
istore 6
start local 6 36: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.instantiatedMethodType:Ljava/lang/invoke/MethodType;
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 7
start local 7 37: goto 41
end local 7 end local 6 end local 5 38: StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int
StackMap stack:
iconst_1
istore 5
start local 5 39: iload 2
istore 6
start local 6 40: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.invokedType:Ljava/lang/invoke/MethodType;
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 7
start local 7 41: StackMap locals: int int java.lang.Class
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implClass:Ljava/lang/Class;
aload 7
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 49
42: new java.lang.invoke.LambdaConversionException
dup
43: ldc "Invalid receiver type %s; not a subtype of implementation type %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
44: aload 7
aastore
dup
iconst_1
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implClass:Ljava/lang/Class;
aastore
45: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
46: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 end local 5 47: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 48: iload 2
istore 6
start local 6 49: StackMap locals: int int
StackMap stack:
iload 5
istore 7
start local 7 50: goto 60
51: StackMap locals: int
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implMethodType:Ljava/lang/invoke/MethodType;
iload 7
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 8
start local 8 52: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.invokedType:Ljava/lang/invoke/MethodType;
iload 7
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 9
start local 9 53: aload 9
aload 8
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 59
54: new java.lang.invoke.LambdaConversionException
dup
55: ldc "Type mismatch in captured lambda parameter %d: expecting %s, found %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
56: iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 9
aastore
dup
iconst_2
aload 8
aastore
57: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
58: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 8 59: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
60: iload 7
iload 2
if_icmplt 51
end local 7 61: iload 6
istore 7
start local 7 62: goto 72
63: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implMethodType:Ljava/lang/invoke/MethodType;
iload 7
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 8
start local 8 64: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.instantiatedMethodType:Ljava/lang/invoke/MethodType;
iload 7
iload 2
isub
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 9
start local 9 65: aload 0
aload 9
aload 8
iconst_1
invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.isAdaptableTo:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
ifne 71
66: new java.lang.invoke.LambdaConversionException
dup
67: ldc "Type mismatch for lambda argument %d: %s is not convertible to %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
68: iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 9
aastore
dup
iconst_2
aload 8
aastore
69: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
70: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 8 71: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
72: iload 7
iload 1
if_icmplt 63
end local 7 73: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.instantiatedMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 7
start local 7 74: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 8
start local 8 75: aload 0
aload 8
aload 7
invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.isAdaptableToAsReturn:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifne 81
76: new java.lang.invoke.LambdaConversionException
dup
77: ldc "Type mismatch for lambda return: %s is not convertible to %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
78: aload 8
aastore
dup
iconst_1
aload 7
aastore
79: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
80: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
81: StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int int int java.lang.Class java.lang.Class
StackMap stack:
aload 0
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.samMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.checkDescriptor:(Ljava/lang/invoke/MethodType;)V
82: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.additionalBridges:[Ljava/lang/invoke/MethodType;
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 86
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int int int java.lang.Class java.lang.Class top int int java.lang.invoke.MethodType[]
StackMap stack:
83: aload 12
iload 10
aaload
astore 9
start local 9 84: aload 0
aload 9
invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.checkDescriptor:(Ljava/lang/invoke/MethodType;)V
end local 9 85: iinc 10 1
StackMap locals:
StackMap stack:
86: iload 10
iload 11
if_icmplt 83
87: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 88 0 this Ljava/lang/invoke/AbstractValidatingLambdaMetafactory;
1 88 1 implArity I
2 88 2 capturedArity I
3 88 3 samArity I
4 88 4 instantiatedArity I
24 30 5 bridgeMT Ljava/lang/invoke/MethodType;
35 38 5 capturedStart I
39 47 5 capturedStart I
48 88 5 capturedStart I
36 38 6 samStart I
40 47 6 samStart I
49 88 6 samStart I
37 38 7 receiverClass Ljava/lang/Class<*>;
41 47 7 receiverClass Ljava/lang/Class<*>;
50 61 7 i I
52 59 8 implParamType Ljava/lang/Class<*>;
53 59 9 capturedParamType Ljava/lang/Class<*>;
62 73 7 i I
64 71 8 implParamType Ljava/lang/Class<*>;
65 71 9 instantiatedParamType Ljava/lang/Class<*>;
74 88 7 expectedType Ljava/lang/Class<*>;
75 88 8 actualReturnType Ljava/lang/Class<*>;
84 85 9 bridgeMT Ljava/lang/invoke/MethodType;
Exceptions:
throws java.lang.invoke.LambdaConversionException
private void checkDescriptor(java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/MethodType;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 10
2: StackMap locals: int
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.instantiatedMethodType:Ljava/lang/invoke/MethodType;
iload 2
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 3
start local 3 3: aload 1
iload 2
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 4
start local 4 4: aload 4
aload 3
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 9
5: ldc "Type mismatch for instantiated parameter %d: %s is not a subtype of %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
6: iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
aload 4
aastore
7: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 5
start local 5 8: new java.lang.invoke.LambdaConversionException
dup
aload 5
invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 end local 3 9: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.instantiatedMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
if_icmplt 2
end local 2 11: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.instantiatedMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 2
start local 2 12: aload 1
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 3
start local 3 13: aload 0
aload 2
aload 3
invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.isAdaptableToAsReturnStrict:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifne 18
14: ldc "Type mismatch for lambda expected return: %s is not convertible to %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
15: aload 2
aastore
dup
iconst_1
aload 3
aastore
16: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 4
start local 4 17: new java.lang.invoke.LambdaConversionException
dup
aload 4
invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
end local 4 18: StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory java.lang.invoke.MethodType java.lang.Class java.lang.Class
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljava/lang/invoke/AbstractValidatingLambdaMetafactory;
0 19 1 descriptor Ljava/lang/invoke/MethodType;
1 11 2 i I
3 9 3 instantiatedParamType Ljava/lang/Class<*>;
4 9 4 descriptorParamType Ljava/lang/Class<*>;
8 9 5 msg Ljava/lang/String;
12 19 2 instantiatedReturnType Ljava/lang/Class<*>;
13 19 3 descriptorReturnType Ljava/lang/Class<*>;
17 18 4 msg Ljava/lang/String;
Exceptions:
throws java.lang.invoke.LambdaConversionException
MethodParameters:
Name Flags
descriptor
private boolean isAdaptableTo(java.lang.Class<?>, java.lang.Class<?>, );
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 8
3: aload 1
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
astore 4
start local 4 4: aload 2
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 7
5: aload 2
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
astore 5
start local 5 6: aload 5
aload 4
invokevirtual sun.invoke.util.Wrapper.isConvertibleFrom:(Lsun/invoke/util/Wrapper;)Z
ireturn
end local 5 7: StackMap locals: sun.invoke.util.Wrapper
StackMap stack:
aload 2
aload 4
invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ireturn
end local 4 8: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 16
9: aload 1
invokestatic sun.invoke.util.Wrapper.isWrapperType:(Ljava/lang/Class;)Z
ifeq 13
aload 1
invokestatic sun.invoke.util.Wrapper.forWrapperType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
dup
astore 4
start local 4 10: invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 13
11: aload 2
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
astore 5
start local 5 12: aload 5
aload 4
invokevirtual sun.invoke.util.Wrapper.isConvertibleFrom:(Lsun/invoke/util/Wrapper;)Z
ireturn
end local 5 end local 4 13: StackMap locals:
StackMap stack:
iload 3
ifeq 14
iconst_0
goto 15
StackMap locals:
StackMap stack:
14: iconst_1
StackMap locals:
StackMap stack: int
15: ireturn
16: StackMap locals:
StackMap stack:
iload 3
ifeq 17
aload 2
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 17
iconst_0
ireturn
StackMap locals:
StackMap stack:
17: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljava/lang/invoke/AbstractValidatingLambdaMetafactory;
0 18 1 fromType Ljava/lang/Class<*>;
0 18 2 toType Ljava/lang/Class<*>;
0 18 3 strict Z
4 8 4 wfrom Lsun/invoke/util/Wrapper;
6 7 5 wto Lsun/invoke/util/Wrapper;
10 13 4 wfrom Lsun/invoke/util/Wrapper;
12 13 5 wto Lsun/invoke/util/Wrapper;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;Z)Z
MethodParameters:
Name Flags
fromType
toType
strict
private boolean isAdaptableToAsReturn(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 3
1: aload 1
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 2
aload 0
aload 1
aload 2
iconst_0
invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.isAdaptableTo:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
ifne 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/invoke/AbstractValidatingLambdaMetafactory;
0 4 1 fromType Ljava/lang/Class<*>;
0 4 2 toType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
fromType
toType
private boolean isAdaptableToAsReturnStrict(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 1
aload 2
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
StackMap locals:
StackMap stack:
1: aload 1
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iconst_1
invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.isAdaptableTo:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/AbstractValidatingLambdaMetafactory;
0 3 1 fromType Ljava/lang/Class<*>;
0 3 2 toType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
fromType
toType
}
SourceFile: "AbstractValidatingLambdaMetafactory.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles