class java.lang.invoke.BoundMethodHandle$Factory
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.lang.invoke.BoundMethodHandle$Factory
super_class: java.lang.Object
{
static final java.lang.String JLO_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "Ljava/lang/Object;"
static final java.lang.String JLS_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "Ljava/lang/String;"
static final java.lang.String JLC_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "Ljava/lang/Class;"
static final java.lang.String MH;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/invoke/MethodHandle"
static final java.lang.String MH_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "Ljava/lang/invoke/MethodHandle;"
static final java.lang.String BMH;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/invoke/BoundMethodHandle"
static final java.lang.String BMH_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "Ljava/lang/invoke/BoundMethodHandle;"
static final java.lang.String SPECIES_DATA;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/invoke/BoundMethodHandle$SpeciesData"
static final java.lang.String SPECIES_DATA_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "Ljava/lang/invoke/BoundMethodHandle$SpeciesData;"
static final java.lang.String STABLE_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "Ljdk/internal/vm/annotation/Stable;"
static final java.lang.String SPECIES_PREFIX_NAME;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "Species_"
static final java.lang.String SPECIES_PREFIX_PATH;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/invoke/BoundMethodHandle$Species_"
static final java.lang.String SPECIES_CLASS_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.String BMHSPECIES_DATA_EWI_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "(B)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;"
static final java.lang.String BMHSPECIES_DATA_GFC_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;"
static final java.lang.String MYSPECIES_DATA_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;"
static final java.lang.String VOID_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "()V"
static final java.lang.String INT_SIG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "()I"
static final java.lang.String SIG_INCIPIT;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;"
static final java.lang.String[] E_THROWABLE;
descriptor: [Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.util.concurrent.ConcurrentMap<java.lang.String, java.lang.Class<? extends java.lang.invoke.BoundMethodHandle>> CLASS_CACHE;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/lang/Class<+Ljava/lang/invoke/BoundMethodHandle;>;>;
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=4, locals=0, args_size=0
0: ldc Ljava/lang/invoke/BoundMethodHandle;
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.BoundMethodHandle$Factory.$assertionsDisabled:Z
3: ldc "java/lang/invoke/BoundMethodHandle$Species_"
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
putstatic java.lang.invoke.BoundMethodHandle$Factory.SPECIES_CLASS_PREFIX:Ljava/lang/String;
4: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "java/lang/Throwable"
aastore
putstatic java.lang.invoke.BoundMethodHandle$Factory.E_THROWABLE:[Ljava/lang/String;
5: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic java.lang.invoke.BoundMethodHandle$Factory.CLASS_CACHE:Ljava/util/concurrent/ConcurrentMap;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/BoundMethodHandle$Factory;
static java.lang.Class<? extends java.lang.invoke.BoundMethodHandle> getConcreteBMHClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic java.lang.invoke.BoundMethodHandle$Factory.CLASS_CACHE:Ljava/util/concurrent/ConcurrentMap;
1: aload 0
new java.lang.invoke.BoundMethodHandle$Factory$1
dup
invokespecial java.lang.invoke.BoundMethodHandle$Factory$1.<init>:()V
2: invokeinterface java.util.concurrent.ConcurrentMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.lang.Class
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 types Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/lang/Class<+Ljava/lang/invoke/BoundMethodHandle;>;
MethodParameters:
Name Flags
types
static java.lang.Class<? extends java.lang.invoke.BoundMethodHandle> generateConcreteBMHClass(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.lang.invoke.BoundMethodHandle$Factory.speciesInternalClassName:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 1
aload 2
invokestatic java.lang.invoke.BoundMethodHandle$Factory.generateConcreteBMHClassBytes:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[B
astore 3
start local 3 2: aload 2
aload 3
invokestatic java.lang.invoke.InvokerBytecodeGenerator.maybeDump:(Ljava/lang/String;[B)V
3: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 2
aload 3
iconst_0
aload 3
arraylength
4: ldc Ljava/lang/invoke/BoundMethodHandle;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
aconst_null
5: invokevirtual jdk.internal.misc.Unsafe.defineClass:(Ljava/lang/String;[BIILjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
6: ldc Ljava/lang/invoke/BoundMethodHandle;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
7: astore 4
start local 4 8: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 shortTypes Ljava/lang/String;
0 9 1 types Ljava/lang/String;
1 9 2 className Ljava/lang/String;
2 9 3 classFile [B
8 9 4 bmhClass Ljava/lang/Class<+Ljava/lang/invoke/BoundMethodHandle;>;
Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class<+Ljava/lang/invoke/BoundMethodHandle;>;
MethodParameters:
Name Flags
shortTypes
types
static java.lang.String speciesInternalClassName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "java/lang/invoke/BoundMethodHandle$Species_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 shortTypes Ljava/lang/String;
MethodParameters:
Name Flags
shortTypes
static byte[] generateConcreteBMHClassBytes(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[B
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=15, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
ldc "Species_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 1: new jdk.internal.org.objectweb.asm.ClassWriter
dup
iconst_3
invokespecial jdk.internal.org.objectweb.asm.ClassWriter.<init>:(I)V
astore 4
start local 4 2: aload 4
bipush 50
bipush 48
aload 2
aconst_null
ldc "java/lang/invoke/BoundMethodHandle"
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
3: aload 4
aload 3
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitSource:(Ljava/lang/String;Ljava/lang/String;)V
4: aload 4
bipush 8
ldc "SPECIES_DATA"
ldc "Ljava/lang/invoke/BoundMethodHandle$SpeciesData;"
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 5
start local 5 5: aload 5
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
6: aload 5
invokevirtual jdk.internal.org.objectweb.asm.FieldVisitor.visitEnd:()V
7: iconst_0
istore 6
start local 6 8: goto 16
9: StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter jdk.internal.org.objectweb.asm.FieldVisitor int
StackMap stack:
aload 1
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 10: aload 1
iload 6
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeFieldName:(Ljava/lang/String;I)Ljava/lang/String;
astore 8
start local 8 11: iload 7
bipush 76
if_icmpne 12
ldc "Ljava/lang/Object;"
goto 13
StackMap locals: int java.lang.String
StackMap stack:
12: iload 7
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
13: astore 9
start local 9 14: aload 4
bipush 16
aload 8
aload 9
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 9 end local 8 end local 7 15: iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 9
end local 6 17: aload 4
iconst_2
ldc "<init>"
aload 1
iconst_1
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeSignature:(Ljava/lang/String;Z)Ljava/lang/String;
aconst_null
aconst_null
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 6
start local 6 18: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
19: aload 6
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
20: aload 6
bipush 25
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
21: aload 6
bipush 25
iconst_2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
22: aload 6
sipush 183
ldc "java/lang/invoke/BoundMethodHandle"
ldc "<init>"
ldc ""
iconst_1
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeSignature:(Ljava/lang/String;Z)Ljava/lang/String;
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
23: iconst_0
istore 7
start local 7 24: iconst_0
istore 8
start local 8 25: goto 33
26: StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter jdk.internal.org.objectweb.asm.FieldVisitor jdk.internal.org.objectweb.asm.MethodVisitor int int
StackMap stack:
aload 1
iload 7
invokevirtual java.lang.String.charAt:(I)C
istore 9
start local 9 27: aload 6
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
28: aload 6
iload 9
invokestatic java.lang.invoke.BoundMethodHandle$Factory.typeLoadOp:(C)I
iload 8
iconst_3
iadd
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
29: aload 6
sipush 181
aload 2
aload 1
iload 7
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeFieldName:(Ljava/lang/String;I)Ljava/lang/String;
iload 9
invokestatic java.lang.invoke.BoundMethodHandle$Factory.typeSig:(C)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
30: iload 9
bipush 74
if_icmpeq 31
iload 9
bipush 68
if_icmpne 32
31: StackMap locals: int
StackMap stack:
iinc 8 1
end local 9 32: StackMap locals:
StackMap stack:
iinc 7 1
iinc 8 1
StackMap locals:
StackMap stack:
33: iload 7
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 26
end local 8 end local 7 34: aload 6
sipush 177
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
35: aload 6
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
36: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
37: aload 4
bipush 16
ldc "speciesData"
ldc "()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;"
aconst_null
aconst_null
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 6
38: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
39: aload 6
sipush 178
aload 2
ldc "SPECIES_DATA"
ldc "Ljava/lang/invoke/BoundMethodHandle$SpeciesData;"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
40: aload 6
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
41: aload 6
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
42: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
43: aload 4
bipush 16
ldc "fieldCount"
ldc "()I"
aconst_null
aconst_null
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 6
44: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
45: aload 1
invokevirtual java.lang.String.length:()I
istore 7
start local 7 46: iload 7
iconst_5
if_icmpgt 49
47: aload 6
iconst_3
iload 7
iadd
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
48: goto 50
49: StackMap locals:
StackMap stack:
aload 6
bipush 17
iload 7
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
50: StackMap locals:
StackMap stack:
aload 6
sipush 172
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
51: aload 6
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
52: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
53: aload 4
bipush 8
ldc "make"
aload 1
iconst_0
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeSignature:(Ljava/lang/String;Z)Ljava/lang/String;
aconst_null
aconst_null
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 6
54: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
55: aload 6
sipush 187
aload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
56: aload 6
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
57: aload 6
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
58: aload 6
bipush 25
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
59: iconst_0
istore 8
start local 8 60: iconst_0
istore 9
start local 9 61: goto 67
62: StackMap locals: int int
StackMap stack:
aload 1
iload 8
invokevirtual java.lang.String.charAt:(I)C
istore 10
start local 10 63: aload 6
iload 10
invokestatic java.lang.invoke.BoundMethodHandle$Factory.typeLoadOp:(C)I
iload 9
iconst_2
iadd
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
64: iload 10
bipush 74
if_icmpeq 65
iload 10
bipush 68
if_icmpne 66
65: StackMap locals: int
StackMap stack:
iinc 9 1
end local 10 66: StackMap locals:
StackMap stack:
iinc 8 1
iinc 9 1
StackMap locals:
StackMap stack:
67: iload 8
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 62
end local 9 end local 8 68: aload 6
sipush 183
aload 2
ldc "<init>"
aload 1
iconst_1
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeSignature:(Ljava/lang/String;Z)Ljava/lang/String;
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
69: aload 6
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
70: aload 6
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
71: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
72: aload 4
bipush 16
ldc "copyWith"
ldc ""
iconst_0
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeSignature:(Ljava/lang/String;Z)Ljava/lang/String;
aconst_null
aconst_null
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 6
73: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
74: aload 6
sipush 187
aload 2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
75: aload 6
bipush 89
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
76: aload 6
bipush 25
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
77: aload 6
bipush 25
iconst_2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
78: aload 1
aload 2
aload 6
invokestatic java.lang.invoke.BoundMethodHandle$Factory.emitPushFields:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
79: aload 6
sipush 183
aload 2
ldc "<init>"
aload 1
iconst_1
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeSignature:(Ljava/lang/String;Z)Ljava/lang/String;
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
80: aload 6
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
81: aload 6
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
82: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
83: getstatic java.lang.invoke.LambdaForm$BasicType.ARG_TYPES:[Ljava/lang/invoke/LambdaForm$BasicType;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 104
StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter jdk.internal.org.objectweb.asm.FieldVisitor jdk.internal.org.objectweb.asm.MethodVisitor int top int int java.lang.invoke.LambdaForm$BasicType[]
StackMap stack:
84: aload 11
iload 9
aaload
astore 8
start local 8 85: aload 8
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
istore 12
start local 12 86: aload 8
invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeChar:()C
istore 13
start local 13 87: aload 4
bipush 16
new java.lang.StringBuilder
dup
ldc "copyWithExtend"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 13
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
iconst_0
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeSignature:(Ljava/lang/String;Z)Ljava/lang/String;
aconst_null
getstatic java.lang.invoke.BoundMethodHandle$Factory.E_THROWABLE:[Ljava/lang/String;
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 6
88: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitCode:()V
89: aload 6
sipush 178
aload 2
ldc "SPECIES_DATA"
ldc "Ljava/lang/invoke/BoundMethodHandle$SpeciesData;"
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
90: iconst_3
iload 12
iadd
istore 14
start local 14 91: getstatic java.lang.invoke.BoundMethodHandle$Factory.$assertionsDisabled:Z
ifne 92
iload 14
bipush 8
if_icmple 92
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
92: StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter jdk.internal.org.objectweb.asm.FieldVisitor jdk.internal.org.objectweb.asm.MethodVisitor int java.lang.invoke.LambdaForm$BasicType int int java.lang.invoke.LambdaForm$BasicType[] int int int
StackMap stack:
aload 6
iload 14
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
93: aload 6
sipush 182
ldc "java/lang/invoke/BoundMethodHandle$SpeciesData"
ldc "extendWith"
ldc "(B)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;"
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
94: aload 6
sipush 182
ldc "java/lang/invoke/BoundMethodHandle$SpeciesData"
ldc "constructor"
ldc "()Ljava/lang/invoke/MethodHandle;"
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
95: aload 6
bipush 25
iconst_1
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
96: aload 6
bipush 25
iconst_2
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
97: aload 1
aload 2
aload 6
invokestatic java.lang.invoke.BoundMethodHandle$Factory.emitPushFields:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
98: aload 6
iload 13
invokestatic java.lang.invoke.BoundMethodHandle$Factory.typeLoadOp:(C)I
iconst_3
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
99: aload 6
sipush 182
ldc "java/lang/invoke/MethodHandle"
ldc "invokeBasic"
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeSignature:(Ljava/lang/String;Z)Ljava/lang/String;
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
100: aload 6
sipush 176
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitInsn:(I)V
101: aload 6
iconst_0
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
102: aload 6
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitEnd:()V
end local 14 end local 13 end local 12 end local 8 103: iinc 9 1
StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String jdk.internal.org.objectweb.asm.ClassWriter jdk.internal.org.objectweb.asm.FieldVisitor jdk.internal.org.objectweb.asm.MethodVisitor int top int int java.lang.invoke.LambdaForm$BasicType[]
StackMap stack:
104: iload 9
iload 10
if_icmplt 84
105: aload 4
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitEnd:()V
106: aload 4
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
areturn
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 107 0 shortTypes Ljava/lang/String;
0 107 1 types Ljava/lang/String;
0 107 2 className Ljava/lang/String;
1 107 3 sourceFile Ljava/lang/String;
2 107 4 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
5 107 5 fw Ljdk/internal/org/objectweb/asm/FieldVisitor;
8 17 6 i I
10 15 7 t C
11 15 8 fieldName Ljava/lang/String;
14 15 9 fieldDesc Ljava/lang/String;
18 107 6 mv Ljdk/internal/org/objectweb/asm/MethodVisitor;
24 34 7 i I
25 34 8 j I
27 32 9 t C
46 107 7 fc I
60 68 8 i I
61 68 9 j I
63 66 10 t C
85 103 8 type Ljava/lang/invoke/LambdaForm$BasicType;
86 103 12 ord I
87 103 13 btChar C
91 103 14 iconstInsn I
MethodParameters:
Name Flags
shortTypes final
types final
className final
private static int typeLoadOp(char);
descriptor: (C)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
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 0
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 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 t C
MethodParameters:
Name Flags
t
private static void emitPushFields(java.lang.String, java.lang.String, jdk.internal.org.objectweb.asm.MethodVisitor);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 3: aload 2
bipush 25
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitVarInsn:(II)V
4: aload 2
sipush 180
aload 1
aload 0
iload 3
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeFieldName:(Ljava/lang/String;I)Ljava/lang/String;
iload 4
invokestatic java.lang.invoke.BoundMethodHandle$Factory.typeSig:(C)Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 4 5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 2
end local 3 7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 types Ljava/lang/String;
0 8 1 className Ljava/lang/String;
0 8 2 mv Ljdk/internal/org/objectweb/asm/MethodVisitor;
1 7 3 i I
3 5 4 tc C
MethodParameters:
Name Flags
types
className
mv
static java.lang.String typeSig(char);
descriptor: (C)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 76
if_icmpne 1
ldc "Ljava/lang/Object;"
goto 2
StackMap locals:
StackMap stack:
1: iload 0
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 t C
MethodParameters:
Name Flags
t
private static java.lang.invoke.MethodHandle makeGetter(java.lang.Class<?>, java.lang.String, int);
descriptor: (Ljava/lang/Class;Ljava/lang/String;I)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeFieldName:(Ljava/lang/String;I)Ljava/lang/String;
astore 3
start local 3 1: aload 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic sun.invoke.util.Wrapper.forBasicType:(C)Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
astore 4
start local 4 2: getstatic java.lang.invoke.BoundMethodHandle.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
aload 0
aload 3
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.Class java.lang.String int java.lang.String java.lang.Class
StackMap stack: java.lang.ReflectiveOperationException
astore 5
start local 5 5: aload 5
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
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 cbmhClass Ljava/lang/Class<*>;
0 6 1 types Ljava/lang/String;
0 6 2 index I
1 6 3 fieldName Ljava/lang/String;
2 6 4 fieldType Ljava/lang/Class<*>;
5 6 5 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/lang/String;I)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
cbmhClass
types
index
static java.lang.invoke.MethodHandle[] makeGetters(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodHandle[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/invoke/MethodHandle;)[Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 1
aload 1
invokevirtual java.lang.String.length:()I
anewarray java.lang.invoke.MethodHandle
astore 2
1: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: int
StackMap stack:
aload 2
iload 3
aload 0
aload 1
iload 3
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeGetter:(Ljava/lang/Class;Ljava/lang/String;I)Ljava/lang/invoke/MethodHandle;
aastore
4: getstatic java.lang.invoke.BoundMethodHandle$Factory.$assertionsDisabled:Z
ifne 5
aload 2
iload 3
aaload
invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
aload 0
if_acmpeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 2
arraylength
if_icmplt 3
end local 3 7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 cbmhClass Ljava/lang/Class<*>;
0 8 1 types Ljava/lang/String;
0 8 2 mhs [Ljava/lang/invoke/MethodHandle;
2 7 3 i I
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/invoke/MethodHandle;)[Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
cbmhClass
types
mhs
static java.lang.invoke.MethodHandle[] makeCtors(java.lang.Class<? extends java.lang.invoke.BoundMethodHandle>, java.lang.String, java.lang.invoke.MethodHandle[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/invoke/MethodHandle;)[Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 1
iconst_1
anewarray java.lang.invoke.MethodHandle
astore 2
1: StackMap locals:
StackMap stack:
aload 1
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 2
iconst_0
aload 0
aload 1
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeCbmhCtor:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
aastore
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cbmh Ljava/lang/Class<+Ljava/lang/invoke/BoundMethodHandle;>;
0 4 1 types Ljava/lang/String;
0 4 2 mhs [Ljava/lang/invoke/MethodHandle;
Signature: (Ljava/lang/Class<+Ljava/lang/invoke/BoundMethodHandle;>;Ljava/lang/String;[Ljava/lang/invoke/MethodHandle;)[Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
cbmh
types
mhs
static java.lang.invoke.LambdaForm$NamedFunction[] makeNominalGetters(java.lang.String, java.lang.invoke.LambdaForm$NamedFunction[], java.lang.invoke.MethodHandle[]);
descriptor: (Ljava/lang/String;[Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/invoke/MethodHandle;)[Ljava/lang/invoke/LambdaForm$NamedFunction;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 1
aload 0
invokevirtual java.lang.String.length:()I
anewarray java.lang.invoke.LambdaForm$NamedFunction
astore 1
1: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: int
StackMap stack:
aload 1
iload 3
new java.lang.invoke.LambdaForm$NamedFunction
dup
aload 2
iload 3
aaload
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;)V
aastore
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 1
arraylength
if_icmplt 3
end local 3 6: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 types Ljava/lang/String;
0 7 1 nfs [Ljava/lang/invoke/LambdaForm$NamedFunction;
0 7 2 getters [Ljava/lang/invoke/MethodHandle;
2 6 3 i I
MethodParameters:
Name Flags
types
nfs
getters
static java.lang.invoke.BoundMethodHandle$SpeciesData getSpeciesDataFromConcreteBMHClass(java.lang.Class<? extends java.lang.invoke.BoundMethodHandle>);
descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc "SPECIES_DATA"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 1
start local 1 1: aload 1
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.invoke.BoundMethodHandle$SpeciesData
2: areturn
end local 1 3: StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
astore 1
start local 1 4: aload 1
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 cbmh Ljava/lang/Class<+Ljava/lang/invoke/BoundMethodHandle;>;
1 3 1 F_SPECIES_DATA Ljava/lang/reflect/Field;
4 5 1 ex Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
0 2 3 Class java.lang.ReflectiveOperationException
Signature: (Ljava/lang/Class<+Ljava/lang/invoke/BoundMethodHandle;>;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
MethodParameters:
Name Flags
cbmh
static void setSpeciesDataToConcreteBMHClass(java.lang.Class<? extends java.lang.invoke.BoundMethodHandle>, java.lang.invoke.BoundMethodHandle$SpeciesData);
descriptor: (Ljava/lang/Class;Ljava/lang/invoke/BoundMethodHandle$SpeciesData;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "SPECIES_DATA"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 2
start local 2 1: aload 2
aconst_null
aload 1
invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 2 2: goto 5
StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
3: astore 2
start local 2 4: aload 2
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 cbmh Ljava/lang/Class<+Ljava/lang/invoke/BoundMethodHandle;>;
0 6 1 speciesData Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
1 2 2 F_SPECIES_DATA Ljava/lang/reflect/Field;
4 5 2 ex Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
0 2 3 Class java.lang.ReflectiveOperationException
Signature: (Ljava/lang/Class<+Ljava/lang/invoke/BoundMethodHandle;>;Ljava/lang/invoke/BoundMethodHandle$SpeciesData;)V
MethodParameters:
Name Flags
cbmh
speciesData
private static java.lang.String makeFieldName(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.BoundMethodHandle$Factory.$assertionsDisabled:Z
ifne 2
iload 1
iflt 1
iload 1
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "arg"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 types Ljava/lang/String;
0 3 1 index I
MethodParameters:
Name Flags
types
index
private static java.lang.String makeSignature(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 0
invokevirtual java.lang.String.toCharArray:()[C
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: java.lang.String int java.lang.StringBuilder top int int char[]
StackMap stack:
2: aload 6
iload 4
caload
istore 3
start local 3 3: aload 2
iload 3
invokestatic java.lang.invoke.BoundMethodHandle$Factory.typeSig:(C)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: aload 2
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 1
ifeq 7
ldc "V"
goto 8
StackMap locals: java.lang.String int java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder
7: ldc "Ljava/lang/invoke/BoundMethodHandle;"
StackMap locals: java.lang.String int java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
8: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 types Ljava/lang/String;
0 9 1 ctor Z
1 9 2 buf Ljava/lang/StringBuilder;
3 4 3 c C
MethodParameters:
Name Flags
types
ctor
static java.lang.invoke.MethodHandle makeCbmhCtor(java.lang.Class<? extends java.lang.invoke.BoundMethodHandle>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.BoundMethodHandle.LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
aload 0
ldc "make"
aload 1
iconst_0
invokestatic java.lang.invoke.BoundMethodHandle$Factory.makeSignature:(Ljava/lang/String;Z)Ljava/lang/String;
aconst_null
invokestatic java.lang.invoke.MethodType.fromDescriptor:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 3: aload 2
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cbmh Ljava/lang/Class<+Ljava/lang/invoke/BoundMethodHandle;>;
0 4 1 types Ljava/lang/String;
3 4 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
0 1 2 Class java.lang.IllegalAccessException
0 1 2 Class java.lang.IllegalArgumentException
0 1 2 Class java.lang.TypeNotPresentException
Signature: (Ljava/lang/Class<+Ljava/lang/invoke/BoundMethodHandle;>;Ljava/lang/String;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
cbmh
types
}
SourceFile: "BoundMethodHandle.java"
NestHost: java.lang.invoke.BoundMethodHandle
InnerClasses:
Factory = java.lang.invoke.BoundMethodHandle$Factory of java.lang.invoke.BoundMethodHandle
java.lang.invoke.BoundMethodHandle$Factory$1
SpeciesData = java.lang.invoke.BoundMethodHandle$SpeciesData of java.lang.invoke.BoundMethodHandle
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