public class java.lang.invoke.ClassSpecializer$Factory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.lang.invoke.ClassSpecializer$Factory
super_class: java.lang.Object
{
private final java.lang.String SPECIES_DATA;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String SPECIES_DATA_SIG;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String SPECIES_DATA_NAME;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int SPECIES_DATA_MODS;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<java.lang.String> TRANSFORM_NAMES;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
private final java.util.List<java.lang.invoke.MethodType> TRANSFORM_TYPES;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/invoke/MethodType;>;
private final java.util.List<java.lang.Integer> TRANSFORM_MODS;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/Integer;>;
private static final int ACC_PPP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
final java.lang.invoke.ClassSpecializer this$0;
descriptor: Ljava/lang/invoke/ClassSpecializer;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljava/lang/invoke/ClassSpecializer;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.lang.invoke.ClassSpecializer$Factory.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.invoke.ClassSpecializer);
descriptor: (Ljava/lang/invoke/ClassSpecializer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 0: aload 0
aload 1
putfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
getfield java.lang.invoke.ClassSpecializer.metaType:Ljava/lang/Class;
invokestatic java.lang.invoke.ClassSpecializer.classBCName:(Ljava/lang/Class;)Ljava/lang/String;
putfield java.lang.invoke.ClassSpecializer$Factory.SPECIES_DATA:Ljava/lang/String;
2: aload 0
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.SPECIES_DATA:Ljava/lang/String;
invokestatic java.lang.invoke.ClassSpecializer.classSig:(Ljava/lang/String;)Ljava/lang/String;
putfield java.lang.invoke.ClassSpecializer$Factory.SPECIES_DATA_SIG:Ljava/lang/String;
3: aload 0
aload 1
getfield java.lang.invoke.ClassSpecializer.sdAccessor:Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
putfield java.lang.invoke.ClassSpecializer$Factory.SPECIES_DATA_NAME:Ljava/lang/String;
4: aload 0
aload 1
getfield java.lang.invoke.ClassSpecializer.sdAccessor:Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.getModifiers:()I
putfield java.lang.invoke.ClassSpecializer$Factory.SPECIES_DATA_MODS:I
5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 6: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 7: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 8: iconst_0
istore 5
start local 5 9: goto 16
10: StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.invoke.ClassSpecializer java.util.List java.util.List java.util.List int
StackMap stack:
aload 1
getfield java.lang.invoke.ClassSpecializer.transformMethods:Ljava/util/List;
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.invoke.MemberName
astore 6
start local 6 11: aload 2
aload 6
invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: aload 6
invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
astore 7
start local 7 13: aload 3
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: aload 4
aload 6
invokevirtual java.lang.invoke.MemberName.getModifiers:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 15: iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
aload 1
getfield java.lang.invoke.ClassSpecializer.transformMethods:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 10
end local 5 17: aload 0
aload 2
iconst_0
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
putfield java.lang.invoke.ClassSpecializer$Factory.TRANSFORM_NAMES:Ljava/util/List;
18: aload 0
aload 3
iconst_0
anewarray java.lang.invoke.MethodType
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.invoke.MethodType[]
invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
putfield java.lang.invoke.ClassSpecializer$Factory.TRANSFORM_TYPES:Ljava/util/List;
19: aload 0
aload 4
iconst_0
anewarray java.lang.Integer
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Integer[]
invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
putfield java.lang.invoke.ClassSpecializer$Factory.TRANSFORM_MODS:Ljava/util/List;
end local 4 end local 3 end local 2 20: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
6 20 2 tns Ljava/util/List<Ljava/lang/String;>;
7 20 3 tts Ljava/util/List<Ljava/lang/invoke/MethodType;>;
8 20 4 tms Ljava/util/List<Ljava/lang/Integer;>;
9 17 5 i I
11 15 6 tm Ljava/lang/invoke/MemberName;
13 15 7 tt Ljava/lang/invoke/MethodType;
MethodParameters:
Name Flags
this$0 final
S loadSpecies();
descriptor: (Ljava/lang/invoke/ClassSpecializer$SpeciesData;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
flags: (0x0000)
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.invoke.ClassSpecializer$SpeciesData.deriveClassName:()Ljava/lang/String;
astore 2
start local 2 1: getstatic java.lang.invoke.ClassSpecializer$Factory.$assertionsDisabled:Z
ifne 2
aload 2
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
iflt 2
new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: java.lang.String
StackMap stack:
aconst_null
astore 3
start local 3 3: aload 2
invokestatic jdk.internal.loader.BootLoader.loadClassOrNull:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
4: getstatic java.lang.invoke.MethodHandleStatics.TRACE_RESOLVE:Z
ifeq 10
aload 3
ifnull 10
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "[SPECIES_RESOLVE] "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " (salvaged)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: goto 10
StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.Class
StackMap stack: java.lang.Error
7: astore 4
start local 4 8: getstatic java.lang.invoke.MethodHandleStatics.TRACE_RESOLVE:Z
ifeq 10
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "[SPECIES_FRESOLVE] "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " (Error) "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.Error.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 10: StackMap locals:
StackMap stack:
aload 3
ifnull 15
11: aload 3
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
invokevirtual java.lang.invoke.ClassSpecializer.topClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
astore 4
start local 4 12: aload 0
aload 1
aload 4
invokevirtual java.lang.invoke.ClassSpecializer$Factory.linkSpeciesDataToCode:(Ljava/lang/invoke/ClassSpecializer$SpeciesData;Ljava/lang/Class;)V
13: aload 0
aload 4
aload 1
iconst_1
invokevirtual java.lang.invoke.ClassSpecializer$Factory.linkCodeToSpeciesData:(Ljava/lang/Class;Ljava/lang/invoke/ClassSpecializer$SpeciesData;Z)V
14: goto 25
end local 4 15: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual java.lang.invoke.ClassSpecializer$Factory.generateConcreteSpeciesCode:(Ljava/lang/String;Ljava/lang/invoke/ClassSpecializer$SpeciesData;)Ljava/lang/Class;
astore 4
start local 4 16: getstatic java.lang.invoke.MethodHandleStatics.TRACE_RESOLVE:Z
ifeq 18
17: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "[SPECIES_RESOLVE] "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " (generated)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
18: StackMap locals: java.lang.Class
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual java.lang.invoke.ClassSpecializer$Factory.linkSpeciesDataToCode:(Ljava/lang/invoke/ClassSpecializer$SpeciesData;Ljava/lang/Class;)V
19: aload 0
aload 4
aload 1
iconst_0
invokevirtual java.lang.invoke.ClassSpecializer$Factory.linkCodeToSpeciesData:(Ljava/lang/Class;Ljava/lang/invoke/ClassSpecializer$SpeciesData;Z)V
20: goto 25
end local 4 StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.Class
StackMap stack: java.lang.Error
21: astore 5
start local 5 22: getstatic java.lang.invoke.MethodHandleStatics.TRACE_RESOLVE:Z
ifeq 24
23: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "[SPECIES_RESOLVE] "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " (Error #2)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
24: StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.Class top java.lang.Error
StackMap stack:
aload 5
athrow
end local 5 start local 4 25: StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.Class java.lang.Class
StackMap stack:
aload 1
invokevirtual java.lang.invoke.ClassSpecializer$SpeciesData.isResolved:()Z
ifne 27
26: new java.lang.StringBuilder
dup
ldc "bad species class linkage for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
athrow
27: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.ClassSpecializer$Factory.$assertionsDisabled:Z
ifne 28
aload 1
aload 0
aload 4
invokevirtual java.lang.invoke.ClassSpecializer$Factory.loadSpeciesDataFromCode:(Ljava/lang/Class;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
if_acmpeq 28
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
28: StackMap locals:
StackMap stack:
aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 29 1 speciesData TS;
1 29 2 className Ljava/lang/String;
3 29 3 salvage Ljava/lang/Class<*>;
8 10 4 ex Ljava/lang/Error;
12 15 4 speciesCode Ljava/lang/Class<+TT;>;
16 21 4 speciesCode Ljava/lang/Class<+TT;>;
25 29 4 speciesCode Ljava/lang/Class<+TT;>;
22 25 5 ex Ljava/lang/Error;
Exception table:
from to target type
3 6 7 Class java.lang.Error
15 20 21 Class java.lang.Error
Signature: (TS;)TS;
MethodParameters:
Name Flags
speciesData
java.lang.Class<? extends T> generateConcreteSpeciesCode(java.lang.String, java.lang.invoke.ClassSpecializer<T, K, S>.SpeciesData);
descriptor: (Ljava/lang/String;Ljava/lang/invoke/ClassSpecializer$SpeciesData;)Ljava/lang/Class;
flags: (0x0000)
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual java.lang.invoke.ClassSpecializer$Factory.generateConcreteSpeciesCodeFile:(Ljava/lang/String;Ljava/lang/invoke/ClassSpecializer$SpeciesData;)[B
astore 3
start local 3 1: aload 1
invokestatic java.lang.invoke.ClassSpecializer.classBCName:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokestatic java.lang.invoke.InvokerBytecodeGenerator.maybeDump:(Ljava/lang/String;[B)V
2: aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
invokevirtual java.lang.invoke.ClassSpecializer.topClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 5
start local 5 3: aconst_null
astore 6
start local 6 4: aload 5
ifnull 7
5: new java.lang.invoke.ClassSpecializer$Factory$1
dup
aload 0
invokespecial java.lang.invoke.ClassSpecializer$Factory$1.<init>:(Ljava/lang/invoke/ClassSpecializer$Factory;)V
6: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.security.ProtectionDomain
astore 6
7: StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.String java.lang.invoke.ClassSpecializer$SpeciesData byte[] top java.lang.ClassLoader java.security.ProtectionDomain
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
aload 3
iconst_0
aload 3
arraylength
aload 5
aload 6
invokevirtual jdk.internal.misc.Unsafe.defineClass:(Ljava/lang/String;[BIILjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
astore 4
start local 4 8: goto 11
end local 4 StackMap locals:
StackMap stack: java.lang.Exception
9: astore 7
start local 7 10: aload 7
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 7 start local 4 11: StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.String java.lang.invoke.ClassSpecializer$SpeciesData byte[] java.lang.Class java.lang.ClassLoader java.security.ProtectionDomain
StackMap stack:
aload 4
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
invokevirtual java.lang.invoke.ClassSpecializer.topClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
areturn
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 12 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 12 1 className Ljava/lang/String;
0 12 2 speciesData Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>.SpeciesData;
1 12 3 classFile [B
8 9 4 speciesCode Ljava/lang/Class<*>;
11 12 4 speciesCode Ljava/lang/Class<*>;
3 12 5 cl Ljava/lang/ClassLoader;
4 12 6 pd Ljava/security/ProtectionDomain;
10 11 7 ex Ljava/lang/Exception;
Exception table:
from to target type
7 8 9 Class java.lang.Exception
Signature: (Ljava/lang/String;Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>.SpeciesData;)Ljava/lang/Class<+TT;>;
MethodParameters:
Name Flags
className
speciesData
byte[] generateConcreteSpeciesCodeFile(java.lang.String, java.lang.invoke.ClassSpecializer<T, K, S>.SpeciesData);
descriptor: (Ljava/lang/String;Ljava/lang/invoke/ClassSpecializer$SpeciesData;)[B
flags: (0x0000)
Code:
stack=7, locals=27, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.lang.invoke.ClassSpecializer.classBCName:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: aload 2
invokevirtual java.lang.invoke.ClassSpecializer$SpeciesData.deriveSuperClass:()Ljava/lang/Class;
invokestatic java.lang.invoke.ClassSpecializer.classBCName:(Ljava/lang/Class;)Ljava/lang/String;
astore 4
start local 4 2: new jdk.internal.org.objectweb.asm.ClassWriter
dup
iconst_3
invokespecial jdk.internal.org.objectweb.asm.ClassWriter.<init>:(I)V
astore 5
start local 5 3: aload 5
bipush 50
bipush 48
aload 3
aconst_null
aload 4
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
4: aload 3
aload 3
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 6
start local 6 5: aload 5
aload 6
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitSource:(Ljava/lang/String;Ljava/lang/String;)V
6: aload 5
bipush 8
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
getfield java.lang.invoke.ClassSpecializer.sdFieldName:Ljava/lang/String;
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.SPECIES_DATA_SIG:Ljava/lang/String;
aconst_null
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitField:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Ljdk/internal/org/objectweb/asm/FieldVisitor;
astore 7
start local 7 7: aload 7
ldc "Ljdk/internal/vm/annotation/Stable;"
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.FieldVisitor.visitAnnotation:(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor;
pop
8: aload 7
invokevirtual jdk.internal.org.objectweb.asm.FieldVisitor.visitEnd:()V
9: new java.lang.invoke.ClassSpecializer$Factory$1Var
dup
aload 0
iconst_0
iconst_0
aload 3
invokespecial java.lang.invoke.ClassSpecializer$Factory$1Var.<init>:(Ljava/lang/invoke/ClassSpecializer$Factory;IILjava/lang/String;)V
astore 8
start local 8 10: new java.lang.invoke.ClassSpecializer$Factory$1Var
dup
aload 0
iconst_0
iconst_1
aload 3
invokespecial java.lang.invoke.ClassSpecializer$Factory$1Var.<init>:(Ljava/lang/invoke/ClassSpecializer$Factory;IILjava/lang/String;)V
astore 9
start local 9 11: new java.lang.invoke.ClassSpecializer$Factory$1Var
dup
aload 0
iconst_0
iconst_m1
aload 3
invokespecial java.lang.invoke.ClassSpecializer$Factory$1Var.<init>:(Ljava/lang/invoke/ClassSpecializer$Factory;IILjava/lang/String;)V
astore 10
start local 10 12: aload 2
invokevirtual java.lang.invoke.ClassSpecializer$SpeciesData.fieldTypes:()Ljava/util/List;
astore 11
start local 11 13: new java.util.ArrayList
dup
aload 11
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 12
start local 12 14: aload 10
astore 13
start local 13 15: aload 11
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 15
goto 20
StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.String java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter java.lang.String jdk.internal.org.objectweb.asm.FieldVisitor java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.util.List java.util.List java.lang.invoke.ClassSpecializer$Factory$1Var top java.util.Iterator
StackMap stack:
16: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 14
start local 14 17: aload 0
aload 14
aload 13
invokevirtual java.lang.invoke.ClassSpecializer$Factory$1Var.nextIndex:()I
invokevirtual java.lang.invoke.ClassSpecializer$Factory.chooseFieldName:(Ljava/lang/Class;I)Ljava/lang/String;
astore 16
start local 16 18: new java.lang.invoke.ClassSpecializer$Factory$1Var
dup
aload 0
aload 16
aload 14
aload 13
aload 3
invokespecial java.lang.invoke.ClassSpecializer$Factory$1Var.<init>:(Ljava/lang/invoke/ClassSpecializer$Factory;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/invoke/ClassSpecializer$Factory$1Var;Ljava/lang/String;)V
astore 13
19: aload 12
aload 13
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 16 end local 14 20: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
end local 13 21: aload 12
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 24
StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.String java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter java.lang.String jdk.internal.org.objectweb.asm.FieldVisitor java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.util.List java.util.List top java.util.Iterator
StackMap stack:
22: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.invoke.ClassSpecializer$Factory$1Var
astore 13
start local 13 23: aload 5
bipush 16
aload 13
getfield java.lang.invoke.ClassSpecializer$Factory$1Var.name:Ljava/lang/String;
aload 13
getfield java.lang.invoke.ClassSpecializer$Factory$1Var.desc:Ljava/lang/String;
aconst_null
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitField:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Ljdk/internal/org/objectweb/asm/FieldVisitor;
invokevirtual jdk.internal.org.objectweb.asm.FieldVisitor.visitEnd:()V
end local 13 24: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
25: aload 5
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.SPECIES_DATA_MODS:I
bipush 7
iand
bipush 16
iadd
26: aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.SPECIES_DATA_NAME:Ljava/lang/String;
new java.lang.StringBuilder
dup
ldc "()"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.SPECIES_DATA_SIG:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
aconst_null
27: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 13
start local 13 28: aload 13
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
29: aload 13
sipush 178
aload 3
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
getfield java.lang.invoke.ClassSpecializer.sdFieldName:Ljava/lang/String;
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.SPECIES_DATA_SIG:Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
30: aload 13
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
31: aload 13
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
32: aload 13
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
33: aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
invokevirtual java.lang.invoke.ClassSpecializer.baseConstructorType:()Ljava/lang/invoke/MethodType;
astore 14
start local 14 34: aload 14
aload 11
invokevirtual java.lang.invoke.MethodType.appendParameterTypes:(Ljava/util/List;)Ljava/lang/invoke/MethodType;
astore 15
start local 15 35: aload 5
iconst_2
36: ldc "<init>"
aload 15
invokestatic java.lang.invoke.ClassSpecializer.methodSig:(Ljava/lang/invoke/MethodType;)Ljava/lang/String;
aconst_null
aconst_null
37: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 13
38: aload 13
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
39: aload 13
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
40: aload 9
aload 14
invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
invokevirtual java.lang.invoke.ClassSpecializer$Factory$1Var.fromTypes:(Ljava/util/List;)Ljava/util/List;
astore 16
start local 16 41: aload 16
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 18
goto 44
StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.String java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter java.lang.String jdk.internal.org.objectweb.asm.FieldVisitor java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.util.List java.util.List jdk.internal.org.objectweb.asm.MethodVisitor java.lang.invoke.MethodType java.lang.invoke.MethodType java.util.List top java.util.Iterator
StackMap stack:
42: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.invoke.ClassSpecializer$Factory$1Var
astore 17
start local 17 43: aload 17
bipush 25
aload 13
invokevirtual java.lang.invoke.ClassSpecializer$Factory$1Var.emitVarInstruction:(ILjdk/internal/org/objectweb/asm/MethodVisitor;)V
end local 17 44: StackMap locals:
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 42
45: aload 13
sipush 183
aload 4
46: ldc "<init>"
aload 14
invokestatic java.lang.invoke.ClassSpecializer.methodSig:(Ljava/lang/invoke/MethodType;)Ljava/lang/String;
iconst_0
47: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
48: aload 9
aload 16
invokevirtual java.lang.invoke.ClassSpecializer$Factory$1Var.lastOf:(Ljava/util/List;)Ljava/lang/invoke/ClassSpecializer$Factory$1Var;
astore 17
start local 17 49: aload 12
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 19
goto 55
StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.String java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter java.lang.String jdk.internal.org.objectweb.asm.FieldVisitor java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.util.List java.util.List jdk.internal.org.objectweb.asm.MethodVisitor java.lang.invoke.MethodType java.lang.invoke.MethodType java.util.List java.lang.invoke.ClassSpecializer$Factory$1Var top java.util.Iterator
StackMap stack:
50: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.invoke.ClassSpecializer$Factory$1Var
astore 18
start local 18 51: aload 13
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
52: new java.lang.invoke.ClassSpecializer$Factory$1Var
dup
aload 0
aload 18
getfield java.lang.invoke.ClassSpecializer$Factory$1Var.name:Ljava/lang/String;
aload 18
getfield java.lang.invoke.ClassSpecializer$Factory$1Var.type:Ljava/lang/Class;
aload 17
aload 3
invokespecial java.lang.invoke.ClassSpecializer$Factory$1Var.<init>:(Ljava/lang/invoke/ClassSpecializer$Factory;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/invoke/ClassSpecializer$Factory$1Var;Ljava/lang/String;)V
astore 17
53: aload 17
bipush 25
aload 13
invokevirtual java.lang.invoke.ClassSpecializer$Factory$1Var.emitVarInstruction:(ILjdk/internal/org/objectweb/asm/MethodVisitor;)V
54: aload 18
sipush 181
aload 13
invokevirtual java.lang.invoke.ClassSpecializer$Factory$1Var.emitFieldInsn:(ILjdk/internal/org/objectweb/asm/MethodVisitor;)V
end local 18 55: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 50
56: aload 13
sipush 177
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
57: aload 13
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
58: aload 13
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
end local 17 end local 16 59: aload 15
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
invokevirtual java.lang.invoke.ClassSpecializer.topClass:()Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 16
start local 16 60: aload 5
bipush 8
61: ldc "make"
aload 16
invokestatic java.lang.invoke.ClassSpecializer.methodSig:(Ljava/lang/invoke/MethodType;)Ljava/lang/String;
aconst_null
aconst_null
62: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 13
63: aload 13
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
64: aload 13
sipush 187
aload 3
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
65: aload 13
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
66: aload 8
aload 16
invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
invokevirtual java.lang.invoke.ClassSpecializer$Factory$1Var.fromTypes:(Ljava/util/List;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 18
goto 69
StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.String java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter java.lang.String jdk.internal.org.objectweb.asm.FieldVisitor java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.util.List java.util.List jdk.internal.org.objectweb.asm.MethodVisitor java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.MethodType top java.util.Iterator
StackMap stack:
67: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.invoke.ClassSpecializer$Factory$1Var
astore 17
start local 17 68: aload 17
bipush 25
aload 13
invokevirtual java.lang.invoke.ClassSpecializer$Factory$1Var.emitVarInstruction:(ILjdk/internal/org/objectweb/asm/MethodVisitor;)V
end local 17 69: StackMap locals:
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 67
70: aload 13
sipush 183
aload 3
71: ldc "<init>"
aload 15
invokestatic java.lang.invoke.ClassSpecializer.methodSig:(Ljava/lang/invoke/MethodType;)Ljava/lang/String;
iconst_0
72: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
73: aload 13
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
74: aload 13
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
75: aload 13
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
end local 16 76: iconst_0
istore 16
start local 16 77: goto 121
78: StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.String java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter java.lang.String jdk.internal.org.objectweb.asm.FieldVisitor java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.util.List java.util.List jdk.internal.org.objectweb.asm.MethodVisitor java.lang.invoke.MethodType java.lang.invoke.MethodType int
StackMap stack:
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.TRANSFORM_NAMES:Ljava/util/List;
iload 16
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 17
start local 17 79: aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.TRANSFORM_TYPES:Ljava/util/List;
iload 16
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.invoke.MethodType
astore 18
start local 18 80: aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.TRANSFORM_MODS:Ljava/util/List;
iload 16
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 19
start local 19 81: aload 5
iload 19
bipush 7
iand
bipush 16
ior
82: aload 17
aload 18
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
aconst_null
getstatic java.lang.invoke.ClassSpecializer.E_THROWABLE:[Ljava/lang/String;
83: invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 13
84: aload 13
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
85: aload 13
sipush 178
aload 3
86: aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
getfield java.lang.invoke.ClassSpecializer.sdFieldName:Ljava/lang/String;
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.SPECIES_DATA_SIG:Ljava/lang/String;
87: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
88: aload 0
iload 16
aload 13
invokevirtual java.lang.invoke.ClassSpecializer$Factory.emitIntConstant:(ILjdk/internal/org/objectweb/asm/MethodVisitor;)V
89: aload 13
sipush 182
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.SPECIES_DATA:Ljava/lang/String;
90: ldc "transformHelper"
ldc "(I)Ljava/lang/invoke/MethodHandle;"
iconst_0
91: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
92: aload 9
aload 18
invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
invokevirtual java.lang.invoke.ClassSpecializer$Factory$1Var.fromTypes:(Ljava/util/List;)Ljava/util/List;
astore 20
start local 20 93: new java.util.ArrayList
dup
aload 12
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 21
start local 21 94: aload 2
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
getfield java.lang.invoke.ClassSpecializer.transformMethods:Ljava/util/List;
iload 16
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.invoke.MemberName
iload 16
aload 20
aload 21
invokevirtual java.lang.invoke.ClassSpecializer$SpeciesData.deriveTransformHelperArguments:(Ljava/lang/invoke/MemberName;ILjava/util/List;Ljava/util/List;)Ljava/util/List;
astore 22
start local 22 95: new java.util.ArrayList
dup
aload 22
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 23
start local 23 96: aload 22
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 25
goto 106
StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.String java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter java.lang.String jdk.internal.org.objectweb.asm.FieldVisitor java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.util.List java.util.List jdk.internal.org.objectweb.asm.MethodVisitor java.lang.invoke.MethodType java.lang.invoke.MethodType int java.lang.String java.lang.invoke.MethodType int java.util.List java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
97: aload 25
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.invoke.ClassSpecializer$Factory$1Var
astore 24
start local 24 98: aload 23
aload 24
getfield java.lang.invoke.ClassSpecializer$Factory$1Var.basicType:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
99: aload 24
invokevirtual java.lang.invoke.ClassSpecializer$Factory$1Var.isInHeap:()Z
ifeq 104
100: getstatic java.lang.invoke.ClassSpecializer$Factory.$assertionsDisabled:Z
ifne 101
aload 21
aload 24
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 101
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
101: StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.String java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter java.lang.String jdk.internal.org.objectweb.asm.FieldVisitor java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.util.List java.util.List jdk.internal.org.objectweb.asm.MethodVisitor java.lang.invoke.MethodType java.lang.invoke.MethodType int java.lang.String java.lang.invoke.MethodType int java.util.List java.util.List java.util.List java.util.List java.lang.invoke.ClassSpecializer$Factory$1Var java.util.Iterator
StackMap stack:
aload 13
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
102: aload 24
sipush 180
aload 13
invokevirtual java.lang.invoke.ClassSpecializer$Factory$1Var.emitFieldInsn:(ILjdk/internal/org/objectweb/asm/MethodVisitor;)V
103: goto 106
104: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.ClassSpecializer$Factory.$assertionsDisabled:Z
ifne 105
aload 20
aload 24
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 105
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
105: StackMap locals:
StackMap stack:
aload 24
bipush 25
aload 13
invokevirtual java.lang.invoke.ClassSpecializer$Factory$1Var.emitVarInstruction:(ILjdk/internal/org/objectweb/asm/MethodVisitor;)V
end local 24 106: StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.String java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter java.lang.String jdk.internal.org.objectweb.asm.FieldVisitor java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.util.List java.util.List jdk.internal.org.objectweb.asm.MethodVisitor java.lang.invoke.MethodType java.lang.invoke.MethodType int java.lang.String java.lang.invoke.MethodType int java.util.List java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 25
invokeinterface java.util.Iterator.hasNext:()Z
ifne 97
107: aload 18
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 24
start local 24 108: aload 24
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
astore 25
start local 25 109: aload 25
invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
aload 23
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodType;
astore 26
start local 26 110: aload 13
sipush 182
ldc "java/lang/invoke/MethodHandle"
111: ldc "invokeBasic"
aload 26
invokestatic java.lang.invoke.ClassSpecializer.methodSig:(Ljava/lang/invoke/MethodType;)Ljava/lang/String;
iconst_0
112: invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
113: aload 25
getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
if_acmpne 117
114: aload 13
sipush 192
aload 24
invokestatic java.lang.invoke.ClassSpecializer.classBCName:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
115: aload 13
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
116: goto 118
117: StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.String java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter java.lang.String jdk.internal.org.objectweb.asm.FieldVisitor java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.util.List java.util.List jdk.internal.org.objectweb.asm.MethodVisitor java.lang.invoke.MethodType java.lang.invoke.MethodType int java.lang.String java.lang.invoke.MethodType int java.util.List java.util.List java.util.List java.util.List java.lang.Class java.lang.invoke.LambdaForm$BasicType java.lang.invoke.MethodType
StackMap stack:
new java.lang.StringBuilder
dup
ldc "NYI: transform of type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 24
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
athrow
118: StackMap locals:
StackMap stack:
aload 13
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
119: aload 13
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 120: iinc 16 1
StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.String java.lang.invoke.ClassSpecializer$SpeciesData java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter java.lang.String jdk.internal.org.objectweb.asm.FieldVisitor java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$Factory$1Var java.util.List java.util.List jdk.internal.org.objectweb.asm.MethodVisitor java.lang.invoke.MethodType java.lang.invoke.MethodType int
StackMap stack:
121: iload 16
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.TRANSFORM_NAMES:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 78
end local 16 122: aload 5
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitEnd:()V
123: aload 5
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
areturn
end local 15 end local 14 end local 13 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 124 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 124 1 className0 Ljava/lang/String;
0 124 2 speciesData Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>.SpeciesData;
1 124 3 className Ljava/lang/String;
2 124 4 superClassName Ljava/lang/String;
3 124 5 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
5 124 6 sourceFile Ljava/lang/String;
7 124 7 fw Ljdk/internal/org/objectweb/asm/FieldVisitor;
10 124 8 NO_THIS Ljava/lang/invoke/ClassSpecializer$Factory$1Var;
11 124 9 AFTER_THIS Ljava/lang/invoke/ClassSpecializer$Factory$1Var;
12 124 10 IN_HEAP Ljava/lang/invoke/ClassSpecializer$Factory$1Var;
13 124 11 fieldTypes Ljava/util/List<Ljava/lang/Class<*>;>;
14 124 12 fields Ljava/util/List<Ljava/lang/invoke/ClassSpecializer$Factory$1Var;>;
15 21 13 nextF Ljava/lang/invoke/ClassSpecializer$Factory$1Var;
17 20 14 ft Ljava/lang/Class<*>;
18 20 16 fn Ljava/lang/String;
23 24 13 field Ljava/lang/invoke/ClassSpecializer$Factory$1Var;
28 124 13 mv Ljdk/internal/org/objectweb/asm/MethodVisitor;
34 124 14 superCtorType Ljava/lang/invoke/MethodType;
35 124 15 thisCtorType Ljava/lang/invoke/MethodType;
41 59 16 ctorArgs Ljava/util/List<Ljava/lang/invoke/ClassSpecializer$Factory$1Var;>;
43 44 17 ca Ljava/lang/invoke/ClassSpecializer$Factory$1Var;
49 59 17 lastFV Ljava/lang/invoke/ClassSpecializer$Factory$1Var;
51 55 18 f Ljava/lang/invoke/ClassSpecializer$Factory$1Var;
60 76 16 ftryType Ljava/lang/invoke/MethodType;
68 69 17 v Ljava/lang/invoke/ClassSpecializer$Factory$1Var;
77 122 16 whichtm I
79 120 17 TNAME Ljava/lang/String;
80 120 18 TTYPE Ljava/lang/invoke/MethodType;
81 120 19 TMODS I
93 120 20 targs Ljava/util/List<Ljava/lang/invoke/ClassSpecializer$Factory$1Var;>;
94 120 21 tfields Ljava/util/List<Ljava/lang/invoke/ClassSpecializer$Factory$1Var;>;
95 120 22 helperArgs Ljava/util/List<Ljava/lang/invoke/ClassSpecializer$Factory$1Var;>;
96 120 23 helperTypes Ljava/util/List<Ljava/lang/Class<*>;>;
98 106 24 ha Ljava/lang/invoke/ClassSpecializer$Factory$1Var;
108 120 24 rtype Ljava/lang/Class<*>;
109 120 25 rbt Ljava/lang/invoke/LambdaForm$BasicType;
110 120 26 invokeBasicType Ljava/lang/invoke/MethodType;
Signature: (Ljava/lang/String;Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>.SpeciesData;)[B
MethodParameters:
Name Flags
className0
speciesData
private int typeLoadOp(char);
descriptor: (C)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 68 - 76
68: 5
69: 6
70: 4
71: 6
72: 6
73: 2
74: 3
75: 6
76: 1
default: 6
}
1: StackMap locals:
StackMap stack:
bipush 25
ireturn
2: StackMap locals:
StackMap stack:
bipush 21
ireturn
3: StackMap locals:
StackMap stack:
bipush 22
ireturn
4: StackMap locals:
StackMap stack:
bipush 23
ireturn
5: StackMap locals:
StackMap stack:
bipush 24
ireturn
6: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "unrecognized type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 7 1 t C
MethodParameters:
Name Flags
t
private void emitIntConstant(int, jdk.internal.org.objectweb.asm.MethodVisitor);
descriptor: (ILjdk/internal/org/objectweb/asm/MethodVisitor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iconst_m1
iload 1
if_icmpgt 2
iload 1
iconst_5
if_icmpgt 2
1: aload 2
iconst_3
iload 1
iadd
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
goto 7
2: StackMap locals:
StackMap stack:
iload 1
iload 1
i2b
if_icmpne 4
3: aload 2
bipush 16
iload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
goto 7
4: StackMap locals:
StackMap stack:
iload 1
iload 1
i2s
if_icmpne 6
5: aload 2
bipush 17
iload 1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
goto 7
6: StackMap locals:
StackMap stack:
aload 2
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 8 1 con I
0 8 2 mv Ljdk/internal/org/objectweb/asm/MethodVisitor;
MethodParameters:
Name Flags
con
mv
private java.lang.invoke.MethodHandle findGetter(java.lang.Class<?>, java.util.List<java.lang.Class<?>>, int);
descriptor: (Ljava/lang/Class;Ljava/util/List;I)Ljava/lang/invoke/MethodHandle;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Class
astore 4
start local 4 1: aload 0
aload 4
iload 3
invokevirtual java.lang.invoke.ClassSpecializer$Factory.chooseFieldName:(Ljava/lang/Class;I)Ljava/lang/String;
astore 5
start local 5 2: getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
aload 1
aload 5
aload 4
invokevirtual java.lang.invoke.MethodHandles$Lookup.findGetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
3: areturn
4: StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.Class java.util.List int java.lang.Class java.lang.String
StackMap stack: java.lang.ReflectiveOperationException
astore 6
start local 6 5: aload 6
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
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 6 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 6 1 speciesCode Ljava/lang/Class<*>;
0 6 2 types Ljava/util/List<Ljava/lang/Class<*>;>;
0 6 3 index I
1 6 4 fieldType Ljava/lang/Class<*>;
2 6 5 fieldName Ljava/lang/String;
5 6 6 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldException
2 3 4 Class java.lang.IllegalAccessException
Signature: (Ljava/lang/Class<*>;Ljava/util/List<Ljava/lang/Class<*>;>;I)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
speciesCode
types
index
private java.util.List<java.lang.invoke.MethodHandle> findGetters(java.lang.Class<?>, java.util.List<java.lang.Class<?>>);
descriptor: (Ljava/lang/Class;Ljava/util/List;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface java.util.List.size:()I
anewarray java.lang.invoke.MethodHandle
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 6
3: StackMap locals: java.lang.invoke.MethodHandle[] int
StackMap stack:
aload 3
iload 4
aload 0
aload 1
aload 2
iload 4
invokevirtual java.lang.invoke.ClassSpecializer$Factory.findGetter:(Ljava/lang/Class;Ljava/util/List;I)Ljava/lang/invoke/MethodHandle;
aastore
4: getstatic java.lang.invoke.ClassSpecializer$Factory.$assertionsDisabled:Z
ifne 5
aload 3
iload 4
aaload
invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
aload 1
if_acmpeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 3
arraylength
if_icmplt 3
end local 4 7: aload 3
invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 8 1 speciesCode Ljava/lang/Class<*>;
0 8 2 types Ljava/util/List<Ljava/lang/Class<*>;>;
1 8 3 mhs [Ljava/lang/invoke/MethodHandle;
2 7 4 i I
Signature: (Ljava/lang/Class<*>;Ljava/util/List<Ljava/lang/Class<*>;>;)Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;
MethodParameters:
Name Flags
speciesCode
types
private java.util.List<java.lang.invoke.MethodHandle> findFactories(java.lang.Class<? extends T>, java.util.List<java.lang.Class<?>>);
descriptor: (Ljava/lang/Class;Ljava/util/List;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
anewarray java.lang.invoke.MethodHandle
astore 3
start local 3 1: aload 3
iconst_0
aload 0
aload 1
aload 2
invokevirtual java.lang.invoke.ClassSpecializer$Factory.findFactory:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodHandle;
aastore
2: aload 3
invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 3 1 speciesCode Ljava/lang/Class<+TT;>;
0 3 2 types Ljava/util/List<Ljava/lang/Class<*>;>;
1 3 3 mhs [Ljava/lang/invoke/MethodHandle;
Signature: (Ljava/lang/Class<+TT;>;Ljava/util/List<Ljava/lang/Class<*>;>;)Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;
MethodParameters:
Name Flags
speciesCode
types
java.util.List<java.lang.invoke.LambdaForm$NamedFunction> makeNominalGetters(java.util.List<java.lang.Class<?>>, java.util.List<java.lang.invoke.MethodHandle>);
descriptor: (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
flags: (0x0000)
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.List.size:()I
anewarray java.lang.invoke.LambdaForm$NamedFunction
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 5
3: StackMap locals: java.lang.invoke.LambdaForm$NamedFunction[] int
StackMap stack:
aload 3
iload 4
new java.lang.invoke.LambdaForm$NamedFunction
dup
aload 2
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.invoke.MethodHandle
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;)V
aastore
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
aload 3
arraylength
if_icmplt 3
end local 4 6: aload 3
invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 7 1 types Ljava/util/List<Ljava/lang/Class<*>;>;
0 7 2 getters Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;
1 7 3 nfs [Ljava/lang/invoke/LambdaForm$NamedFunction;
2 6 4 i I
Signature: (Ljava/util/List<Ljava/lang/Class<*>;>;Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;)Ljava/util/List<Ljava/lang/invoke/LambdaForm$NamedFunction;>;
MethodParameters:
Name Flags
types
getters
protected void linkSpeciesDataToCode(java.lang.invoke.ClassSpecializer<T, K, S>.SpeciesData, java.lang.Class<? extends T>);
descriptor: (Ljava/lang/invoke/ClassSpecializer$SpeciesData;Ljava/lang/Class;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
getfield java.lang.invoke.ClassSpecializer.topClass:Ljava/lang/Class;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
putfield java.lang.invoke.ClassSpecializer$SpeciesData.speciesCode:Ljava/lang/Class;
1: aload 1
getfield java.lang.invoke.ClassSpecializer$SpeciesData.fieldTypes:Ljava/util/List;
astore 3
start local 3 2: aload 1
aload 0
aload 2
aload 3
invokevirtual java.lang.invoke.ClassSpecializer$Factory.findFactories:(Ljava/lang/Class;Ljava/util/List;)Ljava/util/List;
putfield java.lang.invoke.ClassSpecializer$SpeciesData.factories:Ljava/util/List;
3: aload 1
aload 0
aload 2
aload 3
invokevirtual java.lang.invoke.ClassSpecializer$Factory.findGetters:(Ljava/lang/Class;Ljava/util/List;)Ljava/util/List;
putfield java.lang.invoke.ClassSpecializer$SpeciesData.getters:Ljava/util/List;
4: aload 1
aload 0
aload 3
aload 1
getfield java.lang.invoke.ClassSpecializer$SpeciesData.getters:Ljava/util/List;
invokevirtual java.lang.invoke.ClassSpecializer$Factory.makeNominalGetters:(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
putfield java.lang.invoke.ClassSpecializer$SpeciesData.nominalGetters:Ljava/util/List;
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 6 1 speciesData Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>.SpeciesData;
0 6 2 speciesCode Ljava/lang/Class<+TT;>;
2 6 3 types Ljava/util/List<Ljava/lang/Class<*>;>;
Signature: (Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>.SpeciesData;Ljava/lang/Class<+TT;>;)V
MethodParameters:
Name Flags
speciesData
speciesCode
private java.lang.reflect.Field reflectSDField(java.lang.Class<? extends T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Field;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
getfield java.lang.invoke.ClassSpecializer.sdFieldName:Ljava/lang/String;
invokestatic java.lang.invoke.ClassSpecializer.reflectField:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 2
start local 2 1: getstatic java.lang.invoke.ClassSpecializer$Factory.$assertionsDisabled:Z
ifne 2
aload 2
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
getfield java.lang.invoke.ClassSpecializer.metaType:Ljava/lang/Class;
if_acmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: java.lang.reflect.Field
StackMap stack:
getstatic java.lang.invoke.ClassSpecializer$Factory.$assertionsDisabled:Z
ifne 3
aload 2
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 4 1 speciesCode Ljava/lang/Class<+TT;>;
1 4 2 field Ljava/lang/reflect/Field;
Signature: (Ljava/lang/Class<+TT;>;)Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
speciesCode
private S readSpeciesDataFromCode(java.lang.Class<? extends T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
iconst_2
aload 1
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
getfield java.lang.invoke.ClassSpecializer.sdFieldName:Ljava/lang/String;
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
getfield java.lang.invoke.ClassSpecializer.metaType:Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
astore 2
start local 2 1: aload 2
invokestatic java.lang.invoke.MethodHandleNatives.staticFieldBase:(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;
astore 3
start local 3 2: aload 2
invokestatic java.lang.invoke.MethodHandleNatives.staticFieldOffset:(Ljava/lang/invoke/MemberName;)J
lstore 4
start local 4 3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
invokevirtual jdk.internal.misc.Unsafe.loadFence:()V
4: aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
getfield java.lang.invoke.ClassSpecializer.metaType:Ljava/lang/Class;
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 3
lload 4
invokevirtual jdk.internal.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.invoke.ClassSpecializer$SpeciesData
5: areturn
end local 4 end local 3 end local 2 6: StackMap locals:
StackMap stack: java.lang.Error
astore 2
start local 2 7: aload 2
athrow
end local 2 8: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 9: new java.lang.StringBuilder
dup
ldc "Failed to load speciesData from speciesCode: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 2 10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 11: aload 2
invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 12 1 speciesCode Ljava/lang/Class<+TT;>;
1 6 2 sdField Ljava/lang/invoke/MemberName;
2 6 3 base Ljava/lang/Object;
3 6 4 offset J
7 8 2 err Ljava/lang/Error;
9 10 2 ex Ljava/lang/Exception;
11 12 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 5 6 Class java.lang.Error
0 5 8 Class java.lang.Exception
0 5 10 Class java.lang.Throwable
Signature: (Ljava/lang/Class<+TT;>;)TS;
MethodParameters:
Name Flags
speciesCode
protected S loadSpeciesDataFromCode(java.lang.Class<? extends T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
invokevirtual java.lang.invoke.ClassSpecializer.topClass:()Ljava/lang/Class;
if_acmpne 2
1: aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
getfield java.lang.invoke.ClassSpecializer.topSpecies:Ljava/lang/invoke/ClassSpecializer$SpeciesData;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.invoke.ClassSpecializer$Factory.readSpeciesDataFromCode:(Ljava/lang/Class;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
astore 2
start local 2 3: aload 2
invokevirtual java.lang.invoke.ClassSpecializer$SpeciesData.outer:()Ljava/lang/invoke/ClassSpecializer;
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
if_acmpeq 5
4: ldc "wrong class"
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
athrow
5: StackMap locals: java.lang.invoke.ClassSpecializer$SpeciesData
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 6 1 speciesCode Ljava/lang/Class<+TT;>;
3 6 2 result TS;
Signature: (Ljava/lang/Class<+TT;>;)TS;
MethodParameters:
Name Flags
speciesCode
protected void linkCodeToSpeciesData(java.lang.Class<? extends T>, java.lang.invoke.ClassSpecializer<T, K, S>.SpeciesData, );
descriptor: (Ljava/lang/Class;Ljava/lang/invoke/ClassSpecializer$SpeciesData;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.lang.invoke.ClassSpecializer$Factory.$assertionsDisabled:Z
ifne 3
aload 0
aload 1
invokevirtual java.lang.invoke.ClassSpecializer$Factory.readSpeciesDataFromCode:(Ljava/lang/Class;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
ifnull 3
1: iload 3
ifeq 2
aload 0
aload 1
invokevirtual java.lang.invoke.ClassSpecializer$Factory.readSpeciesDataFromCode:(Ljava/lang/Class;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
aload 2
invokevirtual java.lang.invoke.ClassSpecializer$SpeciesData.equals:(Ljava/lang/Object;)Z
ifne 3
StackMap locals:
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
iconst_4
aload 1
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
getfield java.lang.invoke.ClassSpecializer.sdFieldName:Ljava/lang/String;
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
getfield java.lang.invoke.ClassSpecializer.metaType:Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
astore 4
start local 4 4: aload 4
invokestatic java.lang.invoke.MethodHandleNatives.staticFieldBase:(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;
astore 5
start local 5 5: aload 4
invokestatic java.lang.invoke.MethodHandleNatives.staticFieldOffset:(Ljava/lang/invoke/MemberName;)J
lstore 6
start local 6 6: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
invokevirtual jdk.internal.misc.Unsafe.storeFence:()V
7: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 5
lload 6
aload 2
invokevirtual jdk.internal.misc.Unsafe.putObject:(Ljava/lang/Object;JLjava/lang/Object;)V
8: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
invokevirtual jdk.internal.misc.Unsafe.storeFence:()V
end local 6 end local 5 end local 4 9: goto 16
StackMap locals:
StackMap stack: java.lang.Error
10: astore 4
start local 4 11: aload 4
athrow
end local 4 12: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 13: new java.lang.StringBuilder
dup
ldc "Failed to link speciesData to speciesCode: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 4 14: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 15: aload 4
invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 4 16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 17 1 speciesCode Ljava/lang/Class<+TT;>;
0 17 2 speciesData Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>.SpeciesData;
0 17 3 salvage Z
4 9 4 sdField Ljava/lang/invoke/MemberName;
5 9 5 base Ljava/lang/Object;
6 9 6 offset J
11 12 4 err Ljava/lang/Error;
13 14 4 ex Ljava/lang/Exception;
15 16 4 t Ljava/lang/Throwable;
Exception table:
from to target type
0 9 10 Class java.lang.Error
0 9 12 Class java.lang.Exception
0 9 14 Class java.lang.Throwable
Signature: (Ljava/lang/Class<+TT;>;Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>.SpeciesData;Z)V
MethodParameters:
Name Flags
speciesCode
speciesData
salvage
protected java.lang.String chooseFieldName(java.lang.Class<?>, int);
descriptor: (Ljava/lang/Class;I)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
astore 3
start local 3 1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 3
invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeChar:()C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 2 1 type Ljava/lang/Class<*>;
0 2 2 index I
1 2 3 bt Ljava/lang/invoke/LambdaForm$BasicType;
Signature: (Ljava/lang/Class<*>;I)Ljava/lang/String;
MethodParameters:
Name Flags
type
index
java.lang.invoke.MethodHandle findFactory(java.lang.Class<? extends T>, java.util.List<java.lang.Class<?>>);
descriptor: (Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodHandle;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
invokevirtual java.lang.invoke.ClassSpecializer.baseConstructorType:()Ljava/lang/invoke/MethodType;
aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
invokevirtual java.lang.invoke.ClassSpecializer.topClass:()Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
aload 2
invokevirtual java.lang.invoke.MethodType.appendParameterTypes:(Ljava/util/List;)Ljava/lang/invoke/MethodType;
astore 3
start local 3 1: getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
aload 1
ldc "make"
aload 3
invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
2: areturn
3: StackMap locals: java.lang.invoke.ClassSpecializer$Factory java.lang.Class java.util.List java.lang.invoke.MethodType
StackMap stack: java.lang.Exception
astore 4
start local 4 4: aload 4
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/invoke/ClassSpecializer$Factory;
0 5 1 speciesCode Ljava/lang/Class<+TT;>;
0 5 2 types Ljava/util/List<Ljava/lang/Class<*>;>;
1 5 3 type Ljava/lang/invoke/MethodType;
4 5 4 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.NoSuchMethodException
1 2 3 Class java.lang.IllegalAccessException
1 2 3 Class java.lang.IllegalArgumentException
1 2 3 Class java.lang.TypeNotPresentException
Signature: (Ljava/lang/Class<+TT;>;Ljava/util/List<Ljava/lang/Class<*>;>;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
speciesCode
types
static java.lang.invoke.ClassSpecializer access$0(java.lang.invoke.ClassSpecializer$Factory);
descriptor: (Ljava/lang/invoke/ClassSpecializer$Factory;)Ljava/lang/invoke/ClassSpecializer;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield java.lang.invoke.ClassSpecializer$Factory.this$0:Ljava/lang/invoke/ClassSpecializer;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ClassSpecializer.java"
NestHost: java.lang.invoke.ClassSpecializer
InnerClasses:
public Factory = java.lang.invoke.ClassSpecializer$Factory of java.lang.invoke.ClassSpecializer
java.lang.invoke.ClassSpecializer$Factory$1
Var = java.lang.invoke.ClassSpecializer$Factory$1Var
public abstract SpeciesData = java.lang.invoke.ClassSpecializer$SpeciesData of java.lang.invoke.ClassSpecializer
final BasicType = java.lang.invoke.LambdaForm$BasicType of java.lang.invoke.LambdaForm
NamedFunction = java.lang.invoke.LambdaForm$NamedFunction of java.lang.invoke.LambdaForm
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles