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.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<?> implDefiningClass;
descriptor: Ljava/lang/Class;
flags: (0x0010) ACC_FINAL
Signature: Ljava/lang/Class<*>;
final java.lang.invoke.MethodType implMethodType;
descriptor: Ljava/lang/invoke/MethodType;
flags: (0x0010) ACC_FINAL
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 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;
13: 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
14: aload 0
15: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implKind:I
iconst_5
if_icmpeq 18
16: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implKind:I
bipush 7
if_icmpeq 18
17: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implKind:I
bipush 9
if_icmpeq 18
iconst_0
goto 19
StackMap locals:
StackMap stack: java.lang.invoke.AbstractValidatingLambdaMetafactory
18: iconst_1
19: 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
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implIsInstanceMethod:Z
20: 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.implDefiningClass:Ljava/lang/Class;
21: aload 0
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implInfo:Ljava/lang/invoke/MethodHandleInfo;
invokeinterface java.lang.invoke.MethodHandleInfo.getMethodType:()Ljava/lang/invoke/MethodType;
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implMethodType:Ljava/lang/invoke/MethodType;
22: aload 0
aload 6
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.instantiatedMethodType:Ljava/lang/invoke/MethodType;
23: aload 0
iload 7
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.isSerializable:Z
24: aload 0
aload 8
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.markerInterfaces:[Ljava/lang/Class;
25: aload 0
aload 9
putfield java.lang.invoke.AbstractValidatingLambdaMetafactory.additionalBridges:[Ljava/lang/invoke/MethodType;
26: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.samBase:Ljava/lang/Class;
invokevirtual java.lang.Class.isInterface:()Z
ifne 31
27: new java.lang.invoke.LambdaConversionException
dup
28: ldc "Functional interface %s is not an interface"
iconst_1
anewarray java.lang.Object
dup
iconst_0
29: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.samBase:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
30: 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
31: StackMap locals:
StackMap stack:
aload 8
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 39
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:
32: aload 13
iload 11
aaload
astore 10
start local 10 33: aload 10
invokevirtual java.lang.Class.isInterface:()Z
ifne 38
34: new java.lang.invoke.LambdaConversionException
dup
35: ldc "Marker interface %s is not an interface"
iconst_1
anewarray java.lang.Object
dup
iconst_0
36: aload 10
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
37: 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 38: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
39: iload 11
iload 12
if_icmplt 32
40: 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 41 0 this Ljava/lang/invoke/AbstractValidatingLambdaMetafactory;
0 41 1 caller Ljava/lang/invoke/MethodHandles$Lookup;
0 41 2 invokedType Ljava/lang/invoke/MethodType;
0 41 3 samMethodName Ljava/lang/String;
0 41 4 samMethodType Ljava/lang/invoke/MethodType;
0 41 5 implMethod Ljava/lang/invoke/MethodHandle;
0 41 6 instantiatedMethodType Ljava/lang/invoke/MethodType;
0 41 7 isSerializable Z
0 41 8 markerInterfaces [Ljava/lang/Class;
0 41 9 additionalBridges [Ljava/lang/invoke/MethodType;
33 38 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=17, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implKind:I
tableswitch { // 5 - 9
5: 1
6: 1
7: 1
8: 1
9: 1
default: 2
}
1: StackMap locals:
StackMap stack:
goto 3
2: 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
3: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 1
start local 1 4: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implIsInstanceMethod:Z
ifeq 5
iconst_1
goto 6
StackMap locals: int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 2
start local 2 7: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.invokedType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 3
start local 3 8: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.samMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 4
start local 4 9: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.instantiatedMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 5
start local 5 10: iload 1
iload 2
iadd
iload 3
iload 4
iadd
if_icmpeq 19
11: new java.lang.invoke.LambdaConversionException
dup
12: 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
13: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implIsInstanceMethod:Z
ifeq 14
ldc "instance"
goto 15
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int int
StackMap stack: new 11 new 11 java.lang.String java.lang.Object[] java.lang.Object[] int
14: ldc "static"
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int int
StackMap stack: new 11 new 11 java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
15: aastore
dup
iconst_1
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implInfo:Ljava/lang/invoke/MethodHandleInfo;
aastore
dup
iconst_2
16: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
iload 4
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
17: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
18: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
iload 5
iload 4
if_icmpeq 28
20: new java.lang.invoke.LambdaConversionException
dup
21: 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
22: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implIsInstanceMethod:Z
ifeq 23
ldc "instance"
goto 24
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int int
StackMap stack: new 20 new 20 java.lang.String java.lang.Object[] java.lang.Object[] int
23: ldc "static"
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int int
StackMap stack: new 20 new 20 java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
24: aastore
dup
iconst_1
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implInfo:Ljava/lang/invoke/MethodHandleInfo;
aastore
dup
iconst_2
25: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
26: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
27: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.additionalBridges:[Ljava/lang/invoke/MethodType;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 37
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int int top int int java.lang.invoke.MethodType[]
StackMap stack:
29: aload 9
iload 7
aaload
astore 6
start local 6 30: aload 6
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iload 4
if_icmpeq 36
31: new java.lang.invoke.LambdaConversionException
dup
32: ldc "Incorrect number of parameters for bridge signature %s; incompatible with %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
33: aload 6
aastore
dup
iconst_1
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.samMethodType:Ljava/lang/invoke/MethodType;
aastore
34: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
35: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
end local 6 36: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
37: iload 7
iload 8
if_icmplt 29
38: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implIsInstanceMethod:Z
ifeq 60
39: iload 3
ifne 44
40: iconst_0
istore 6
start local 6 41: iconst_1
istore 7
start local 7 42: 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 8
start local 8 43: goto 47
end local 8 end local 7 end local 6 44: StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int int
StackMap stack:
iconst_1
istore 6
start local 6 45: iconst_0
istore 7
start local 7 46: 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 8
start local 8 47: StackMap locals: int int java.lang.Class
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implDefiningClass:Ljava/lang/Class;
aload 8
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 53
48: new java.lang.invoke.LambdaConversionException
dup
49: ldc "Invalid receiver type %s; not a subtype of implementation type %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
50: aload 8
aastore
dup
iconst_1
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implDefiningClass:Ljava/lang/Class;
aastore
51: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
52: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
53: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implMethod:Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 9
start local 9 54: aload 9
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implDefiningClass:Ljava/lang/Class;
if_acmpeq 62
aload 9
aload 8
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 62
55: new java.lang.invoke.LambdaConversionException
dup
56: ldc "Invalid receiver type %s; not a subtype of implementation receiver type %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
57: aload 8
aastore
dup
iconst_1
aload 9
aastore
58: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
59: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 8 end local 7 end local 6 60: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 61: iconst_0
istore 7
start local 7 62: StackMap locals: int int
StackMap stack:
iload 3
iload 6
isub
istore 8
start local 8 63: iconst_0
istore 9
start local 9 64: goto 74
65: StackMap locals: int int
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implMethodType:Ljava/lang/invoke/MethodType;
iload 9
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 10
start local 10 66: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.invokedType:Ljava/lang/invoke/MethodType;
iload 9
iload 6
iadd
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 11
start local 11 67: aload 11
aload 10
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 73
68: new java.lang.invoke.LambdaConversionException
dup
69: ldc "Type mismatch in captured lambda parameter %d: expecting %s, found %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
70: iload 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 11
aastore
dup
iconst_2
aload 10
aastore
71: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
72: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
end local 11 end local 10 73: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
74: iload 9
iload 8
if_icmplt 65
end local 9 75: iload 7
iload 8
isub
istore 9
start local 9 76: iload 8
istore 10
start local 10 77: goto 87
78: StackMap locals: int
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implMethodType:Ljava/lang/invoke/MethodType;
iload 10
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 11
start local 11 79: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.instantiatedMethodType:Ljava/lang/invoke/MethodType;
iload 10
iload 9
iadd
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 12
start local 12 80: aload 0
aload 12
aload 11
iconst_1
invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.isAdaptableTo:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
ifne 86
81: new java.lang.invoke.LambdaConversionException
dup
82: ldc "Type mismatch for lambda argument %d: %s is not convertible to %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
83: iload 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 12
aastore
dup
iconst_2
aload 11
aastore
84: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
85: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
end local 12 end local 11 86: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
87: iload 10
iload 1
if_icmplt 78
end local 10 88: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.instantiatedMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 10
start local 10 89: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implKind:I
bipush 8
if_icmpne 91
90: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implDefiningClass:Ljava/lang/Class;
goto 92
91: StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int int int int int int java.lang.Class
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.implMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
92: StackMap locals:
StackMap stack: java.lang.Class
astore 11
start local 11 93: aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.samMethodType:Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 12
start local 12 94: aload 0
aload 11
aload 10
invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.isAdaptableToAsReturn:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifne 100
95: new java.lang.invoke.LambdaConversionException
dup
96: ldc "Type mismatch for lambda return: %s is not convertible to %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
97: aload 11
aastore
dup
iconst_1
aload 10
aastore
98: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
99: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
100: StackMap locals: java.lang.Class java.lang.Class
StackMap stack:
aload 0
aload 10
aload 12
invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.isAdaptableToAsReturnStrict:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifne 106
101: new java.lang.invoke.LambdaConversionException
dup
102: ldc "Type mismatch for lambda expected return: %s is not convertible to %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
103: aload 10
aastore
dup
iconst_1
aload 12
aastore
104: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
105: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
106: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.AbstractValidatingLambdaMetafactory.additionalBridges:[Ljava/lang/invoke/MethodType;
dup
astore 16
arraylength
istore 15
iconst_0
istore 14
goto 115
StackMap locals: java.lang.invoke.AbstractValidatingLambdaMetafactory int int int int int int int int int java.lang.Class java.lang.Class java.lang.Class top int int java.lang.invoke.MethodType[]
StackMap stack:
107: aload 16
iload 14
aaload
astore 13
start local 13 108: aload 0
aload 10
aload 13
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.isAdaptableToAsReturnStrict:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifne 114
109: new java.lang.invoke.LambdaConversionException
dup
110: ldc "Type mismatch for lambda expected return: %s is not convertible to %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
111: aload 10
aastore
dup
iconst_1
aload 13
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
aastore
112: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
113: invokespecial java.lang.invoke.LambdaConversionException.<init>:(Ljava/lang/String;)V
athrow
end local 13 114: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
115: iload 14
iload 15
if_icmplt 107
116: return
end local 12 end local 11 end local 10 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 117 0 this Ljava/lang/invoke/AbstractValidatingLambdaMetafactory;
4 117 1 implArity I
7 117 2 receiverArity I
8 117 3 capturedArity I
9 117 4 samArity I
10 117 5 instantiatedArity I
30 36 6 bridgeMT Ljava/lang/invoke/MethodType;
41 44 6 capturedStart I
45 60 6 capturedStart I
61 117 6 capturedStart I
42 44 7 samStart I
46 60 7 samStart I
62 117 7 samStart I
43 44 8 receiverClass Ljava/lang/Class<*>;
47 60 8 receiverClass Ljava/lang/Class<*>;
54 60 9 implReceiverClass Ljava/lang/Class<*>;
63 117 8 implFromCaptured I
64 75 9 i I
66 73 10 implParamType Ljava/lang/Class<*>;
67 73 11 capturedParamType Ljava/lang/Class<*>;
76 117 9 samOffset I
77 88 10 i I
79 86 11 implParamType Ljava/lang/Class<*>;
80 86 12 instantiatedParamType Ljava/lang/Class<*>;
89 117 10 expectedType Ljava/lang/Class<*>;
93 117 11 actualReturnType Ljava/lang/Class<*>;
94 117 12 samReturnType Ljava/lang/Class<*>;
108 114 13 bridgeMT Ljava/lang/invoke/MethodType;
Exceptions:
throws java.lang.invoke.LambdaConversionException
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
ifeq 1
aload 2
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
1: 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 2 0 this Ljava/lang/invoke/AbstractValidatingLambdaMetafactory;
0 2 1 fromType Ljava/lang/Class<*>;
0 2 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