abstract class java.lang.invoke.BoundMethodHandle extends java.lang.invoke.MethodHandle
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: java.lang.invoke.BoundMethodHandle
super_class: java.lang.invoke.MethodHandle
{
private static final int FIELD_COUNT_THRESHOLD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final int FORM_EXPRESSION_THRESHOLD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 24
static final java.lang.invoke.BoundMethodHandle$Specializer SPECIALIZER;
descriptor: Ljava/lang/invoke/BoundMethodHandle$Specializer;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, 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.$assertionsDisabled:Z
3: new java.lang.invoke.BoundMethodHandle$Specializer
dup
invokespecial java.lang.invoke.BoundMethodHandle$Specializer.<init>:()V
putstatic java.lang.invoke.BoundMethodHandle.SPECIALIZER:Ljava/lang/invoke/BoundMethodHandle$Specializer;
4: getstatic java.lang.invoke.BoundMethodHandle.SPECIALIZER:Ljava/lang/invoke/BoundMethodHandle$Specializer;
ldc ""
invokevirtual java.lang.invoke.BoundMethodHandle$Specializer.findSpecies:(Ljava/lang/Object;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
checkcast java.lang.invoke.BoundMethodHandle$SpeciesData
putstatic java.lang.invoke.SimpleMethodHandle.BMH_SPECIES:Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
5: getstatic java.lang.invoke.BoundMethodHandle.SPECIALIZER:Ljava/lang/invoke/BoundMethodHandle$Specializer;
ldc "L"
invokevirtual java.lang.invoke.BoundMethodHandle$Specializer.findSpecies:(Ljava/lang/Object;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
checkcast java.lang.invoke.BoundMethodHandle$SpeciesData
putstatic java.lang.invoke.BoundMethodHandle$Species_L.BMH_SPECIES:Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
6: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial java.lang.invoke.MethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)V
1: getstatic java.lang.invoke.BoundMethodHandle.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
aload 2
invokestatic java.lang.invoke.BoundMethodHandle.speciesDataFor:(Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
if_acmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: java.lang.invoke.BoundMethodHandle java.lang.invoke.MethodType java.lang.invoke.LambdaForm
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/BoundMethodHandle;
0 3 1 type Ljava/lang/invoke/MethodType;
0 3 2 form Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
type
form
static java.lang.invoke.BoundMethodHandle bindSingle(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm, java.lang.invoke.LambdaForm$BasicType, java.lang.Object);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic java.lang.invoke.BoundMethodHandle.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:()[I
aload 2
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 1
2: 3
3: 5
4: 7
5: 9
default: 11
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokestatic java.lang.invoke.BoundMethodHandle.bindSingle:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
2: areturn
3: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.BoundMethodHandle.SPECIALIZER:Ljava/lang/invoke/BoundMethodHandle$Specializer;
invokevirtual java.lang.invoke.BoundMethodHandle$Specializer.topSpecies:()Ljava/lang/invoke/ClassSpecializer$SpeciesData;
checkcast java.lang.invoke.BoundMethodHandle$SpeciesData
getstatic java.lang.invoke.LambdaForm$BasicType.I_TYPE_NUM:B
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.extendWith:(B)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
aload 0
aload 1
aload 3
invokestatic sun.invoke.util.ValueConversions.widenSubword:(Ljava/lang/Object;)I
invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;I)Ljava/lang/invoke/BoundMethodHandle;
4: areturn
5: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.BoundMethodHandle.SPECIALIZER:Ljava/lang/invoke/BoundMethodHandle$Specializer;
invokevirtual java.lang.invoke.BoundMethodHandle$Specializer.topSpecies:()Ljava/lang/invoke/ClassSpecializer$SpeciesData;
checkcast java.lang.invoke.BoundMethodHandle$SpeciesData
getstatic java.lang.invoke.LambdaForm$BasicType.J_TYPE_NUM:B
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.extendWith:(B)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
aload 0
aload 1
aload 3
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;J)Ljava/lang/invoke/BoundMethodHandle;
6: areturn
7: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.BoundMethodHandle.SPECIALIZER:Ljava/lang/invoke/BoundMethodHandle$Specializer;
invokevirtual java.lang.invoke.BoundMethodHandle$Specializer.topSpecies:()Ljava/lang/invoke/ClassSpecializer$SpeciesData;
checkcast java.lang.invoke.BoundMethodHandle$SpeciesData
getstatic java.lang.invoke.LambdaForm$BasicType.F_TYPE_NUM:B
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.extendWith:(B)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
aload 0
aload 1
aload 3
checkcast java.lang.Float
invokevirtual java.lang.Float.floatValue:()F
invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;F)Ljava/lang/invoke/BoundMethodHandle;
8: areturn
9: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.BoundMethodHandle.SPECIALIZER:Ljava/lang/invoke/BoundMethodHandle$Specializer;
invokevirtual java.lang.invoke.BoundMethodHandle$Specializer.topSpecies:()Ljava/lang/invoke/ClassSpecializer$SpeciesData;
checkcast java.lang.invoke.BoundMethodHandle$SpeciesData
getstatic java.lang.invoke.LambdaForm$BasicType.D_TYPE_NUM:B
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.extendWith:(B)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
aload 0
aload 1
aload 3
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;D)Ljava/lang/invoke/BoundMethodHandle;
10: areturn
11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "unexpected xtype: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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
12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 13: aload 4
invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 type Ljava/lang/invoke/MethodType;
0 14 1 form Ljava/lang/invoke/LambdaForm;
0 14 2 xtype Ljava/lang/invoke/LambdaForm$BasicType;
0 14 3 x Ljava/lang/Object;
13 14 4 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 12 Class java.lang.Throwable
3 4 12 Class java.lang.Throwable
5 6 12 Class java.lang.Throwable
7 8 12 Class java.lang.Throwable
9 10 12 Class java.lang.Throwable
11 12 12 Class java.lang.Throwable
MethodParameters:
Name Flags
type
form
xtype
x
java.lang.invoke.LambdaFormEditor editor();
descriptor: ()Ljava/lang/invoke/LambdaFormEditor;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.BoundMethodHandle.form:Ljava/lang/invoke/LambdaForm;
invokevirtual java.lang.invoke.LambdaForm.editor:()Ljava/lang/invoke/LambdaFormEditor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/BoundMethodHandle;
static java.lang.invoke.BoundMethodHandle bindSingle(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm, java.lang.Object);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic java.lang.invoke.BoundMethodHandle$Species_L.make:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljava/lang/invoke/MethodType;
0 1 1 form Ljava/lang/invoke/LambdaForm;
0 1 2 x Ljava/lang/Object;
MethodParameters:
Name Flags
type
form
x
java.lang.invoke.BoundMethodHandle bindArgumentL(int, java.lang.Object);
descriptor: (ILjava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
aload 0
iload 1
aload 2
invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentL:(Ljava/lang/invoke/BoundMethodHandle;ILjava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/BoundMethodHandle;
0 1 1 pos I
0 1 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
pos
value
java.lang.invoke.BoundMethodHandle bindArgumentI(int, int);
descriptor: (II)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
aload 0
iload 1
iload 2
invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentI:(Ljava/lang/invoke/BoundMethodHandle;II)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/BoundMethodHandle;
0 1 1 pos I
0 1 2 value I
MethodParameters:
Name Flags
pos
value
java.lang.invoke.BoundMethodHandle bindArgumentJ(int, long);
descriptor: (IJ)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
aload 0
iload 1
lload 2
invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentJ:(Ljava/lang/invoke/BoundMethodHandle;IJ)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/BoundMethodHandle;
0 1 1 pos I
0 1 2 value J
MethodParameters:
Name Flags
pos
value
java.lang.invoke.BoundMethodHandle bindArgumentF(int, float);
descriptor: (IF)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
aload 0
iload 1
fload 2
invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentF:(Ljava/lang/invoke/BoundMethodHandle;IF)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/BoundMethodHandle;
0 1 1 pos I
0 1 2 value F
MethodParameters:
Name Flags
pos
value
java.lang.invoke.BoundMethodHandle bindArgumentD(int, double);
descriptor: (ID)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
aload 0
iload 1
dload 2
invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentD:(Ljava/lang/invoke/BoundMethodHandle;ID)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/BoundMethodHandle;
0 1 1 pos I
0 1 2 value D
MethodParameters:
Name Flags
pos
value
java.lang.invoke.BoundMethodHandle rebind();
descriptor: ()Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.tooComplex:()Z
ifne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.invoke.BoundMethodHandle.makeReinvoker:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/invoke/BoundMethodHandle;
private boolean tooComplex();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.fieldCount:()I
bipush 12
if_icmpgt 3
1: aload 0
getfield java.lang.invoke.BoundMethodHandle.form:Ljava/lang/invoke/LambdaForm;
invokevirtual java.lang.invoke.LambdaForm.expressionCount:()I
bipush 24
2: if_icmpgt 3
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/invoke/BoundMethodHandle;
static java.lang.invoke.BoundMethodHandle makeReinvoker(java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
bipush 7
1: getstatic java.lang.invoke.BoundMethodHandle$Species_L.BMH_SPECIES:Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
getstatic java.lang.invoke.BoundMethodHandle$Species_L.BMH_SPECIES:Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
iconst_0
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
2: invokestatic java.lang.invoke.DelegatingMethodHandle.makeReinvokerForm:(Ljava/lang/invoke/MethodHandle;ILjava/lang/Object;Ljava/lang/invoke/LambdaForm$NamedFunction;)Ljava/lang/invoke/LambdaForm;
astore 1
start local 1 3: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 1
aload 0
invokestatic java.lang.invoke.BoundMethodHandle$Species_L.make:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 target Ljava/lang/invoke/MethodHandle;
3 4 1 form Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
target
abstract java.lang.invoke.BoundMethodHandle$SpeciesData speciesData();
descriptor: ()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
flags: (0x0400) ACC_ABSTRACT
static java.lang.invoke.BoundMethodHandle$SpeciesData speciesDataFor(java.lang.invoke.LambdaForm);
descriptor: (Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
iconst_0
aaload
getfield java.lang.invoke.LambdaForm$Name.constraint:Ljava/lang/Object;
astore 1
start local 1 1: aload 1
instanceof java.lang.invoke.BoundMethodHandle$SpeciesData
ifeq 3
2: aload 1
checkcast java.lang.invoke.BoundMethodHandle$SpeciesData
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
getstatic java.lang.invoke.BoundMethodHandle.SPECIALIZER:Ljava/lang/invoke/BoundMethodHandle$Specializer;
invokevirtual java.lang.invoke.BoundMethodHandle$Specializer.topSpecies:()Ljava/lang/invoke/ClassSpecializer$SpeciesData;
checkcast java.lang.invoke.BoundMethodHandle$SpeciesData
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 form Ljava/lang/invoke/LambdaForm;
1 4 1 c Ljava/lang/Object;
MethodParameters:
Name Flags
form
final int fieldCount();
descriptor: ()I
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.fieldCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/BoundMethodHandle;
java.lang.Object internalProperties();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "\n& BMH="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.internalValues:()Ljava/lang/String;
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 this Ljava/lang/invoke/BoundMethodHandle;
final java.lang.String internalValues();
descriptor: ()Ljava/lang/String;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.fieldCount:()I
istore 1
start local 1 1: iload 1
iconst_1
if_icmpne 3
2: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iconst_0
invokevirtual java.lang.invoke.BoundMethodHandle.arg:(I)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
3: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 8
6: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 2
ldc "\n "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": ( "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
iload 3
invokevirtual java.lang.invoke.BoundMethodHandle.arg:(I)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " )"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 1
if_icmplt 6
end local 3 9: aload 2
ldc "\n]"
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 10 0 this Ljava/lang/invoke/BoundMethodHandle;
1 10 1 count I
4 10 2 sb Ljava/lang/StringBuilder;
5 9 3 i I
final java.lang.Object arg(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.fieldTypes:()Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 1: invokestatic java.lang.invoke.BoundMethodHandle.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:()[I
aload 2
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 2
2: 4
3: 6
4: 8
5: 10
default: 12
}
2: StackMap locals: java.lang.Class
StackMap stack:
aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
iload 1
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getter:(I)Ljava/lang/invoke/MethodHandle;
aload 0
invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/BoundMethodHandle;)Ljava/lang/Object;
3: areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
iload 1
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getter:(I)Ljava/lang/invoke/MethodHandle;
aload 0
invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/BoundMethodHandle;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
5: areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
iload 1
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getter:(I)Ljava/lang/invoke/MethodHandle;
aload 0
invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/BoundMethodHandle;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
7: areturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
iload 1
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getter:(I)Ljava/lang/invoke/MethodHandle;
aload 0
invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/BoundMethodHandle;)F
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
9: areturn
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
iload 1
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getter:(I)Ljava/lang/invoke/MethodHandle;
aload 0
invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/BoundMethodHandle;)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
11: areturn
end local 2 12: StackMap locals:
StackMap stack:
goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 2
start local 2 14: aload 2
invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 2 15: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "unexpected type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.key:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/lang/invoke/BoundMethodHandle;
0 16 1 i I
1 12 2 fieldType Ljava/lang/Class<*>;
14 15 2 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 3 13 Class java.lang.Throwable
4 5 13 Class java.lang.Throwable
6 7 13 Class java.lang.Throwable
8 9 13 Class java.lang.Throwable
10 11 13 Class java.lang.Throwable
MethodParameters:
Name Flags
i
abstract java.lang.invoke.BoundMethodHandle copyWith(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
mt
lf
abstract java.lang.invoke.BoundMethodHandle copyWithExtendL(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm, java.lang.Object);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
mt
lf
narg
abstract java.lang.invoke.BoundMethodHandle copyWithExtendI(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm, int);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;I)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
mt
lf
narg
abstract java.lang.invoke.BoundMethodHandle copyWithExtendJ(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm, long);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;J)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
mt
lf
narg
abstract java.lang.invoke.BoundMethodHandle copyWithExtendF(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm, float);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;F)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
mt
lf
narg
abstract java.lang.invoke.BoundMethodHandle copyWithExtendD(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm, double);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;D)Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
mt
lf
narg
static java.lang.invoke.BoundMethodHandle$SpeciesData speciesData_L();
descriptor: ()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.lang.invoke.BoundMethodHandle$Species_L.BMH_SPECIES:Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
areturn
LocalVariableTable:
Start End Slot Name Signature
static java.lang.invoke.BoundMethodHandle$SpeciesData speciesData_LL();
descriptor: ()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic java.lang.invoke.BoundMethodHandle.SPECIALIZER:Ljava/lang/invoke/BoundMethodHandle$Specializer;
ldc "LL"
invokevirtual java.lang.invoke.BoundMethodHandle$Specializer.findSpecies:(Ljava/lang/Object;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
checkcast java.lang.invoke.BoundMethodHandle$SpeciesData
areturn
LocalVariableTable:
Start End Slot Name Signature
static java.lang.invoke.BoundMethodHandle$SpeciesData speciesData_LLL();
descriptor: ()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic java.lang.invoke.BoundMethodHandle.SPECIALIZER:Ljava/lang/invoke/BoundMethodHandle$Specializer;
ldc "LLL"
invokevirtual java.lang.invoke.BoundMethodHandle$Specializer.findSpecies:(Ljava/lang/Object;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
checkcast java.lang.invoke.BoundMethodHandle$SpeciesData
areturn
LocalVariableTable:
Start End Slot Name Signature
static java.lang.invoke.BoundMethodHandle$SpeciesData speciesData_LLLL();
descriptor: ()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic java.lang.invoke.BoundMethodHandle.SPECIALIZER:Ljava/lang/invoke/BoundMethodHandle$Specializer;
ldc "LLLL"
invokevirtual java.lang.invoke.BoundMethodHandle$Specializer.findSpecies:(Ljava/lang/Object;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
checkcast java.lang.invoke.BoundMethodHandle$SpeciesData
areturn
LocalVariableTable:
Start End Slot Name Signature
static java.lang.invoke.BoundMethodHandle$SpeciesData speciesData_LLLLL();
descriptor: ()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic java.lang.invoke.BoundMethodHandle.SPECIALIZER:Ljava/lang/invoke/BoundMethodHandle$Specializer;
ldc "LLLLL"
invokevirtual java.lang.invoke.BoundMethodHandle$Specializer.findSpecies:(Ljava/lang/Object;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
checkcast java.lang.invoke.BoundMethodHandle$SpeciesData
areturn
LocalVariableTable:
Start End Slot Name Signature
java.lang.invoke.MethodHandle copyWith(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/MethodHandle;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual java.lang.invoke.BoundMethodHandle.copyWith:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
areturn
LocalVariableTable:
Start End Slot Name Signature
java.lang.Object internalValues();
descriptor: ()Ljava/lang/Object;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.lang.invoke.BoundMethodHandle.internalValues:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
static int[] $SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic java.lang.invoke.BoundMethodHandle.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic java.lang.invoke.LambdaForm$BasicType.values:()[Ljava/lang/invoke/LambdaForm$BasicType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.D_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iconst_5
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.F_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.I_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.J_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic java.lang.invoke.LambdaForm$BasicType.V_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
bipush 6
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
dup
putstatic java.lang.invoke.BoundMethodHandle.$SWITCH_TABLE$java$lang$invoke$LambdaForm$BasicType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
}
SourceFile: "BoundMethodHandle.java"
NestMembers:
java.lang.invoke.BoundMethodHandle$Specializer java.lang.invoke.BoundMethodHandle$Specializer$Factory java.lang.invoke.BoundMethodHandle$SpeciesData java.lang.invoke.BoundMethodHandle$Species_L
InnerClasses:
final Specializer = java.lang.invoke.BoundMethodHandle$Specializer of java.lang.invoke.BoundMethodHandle
final SpeciesData = java.lang.invoke.BoundMethodHandle$SpeciesData of java.lang.invoke.BoundMethodHandle
private final Species_L = java.lang.invoke.BoundMethodHandle$Species_L of java.lang.invoke.BoundMethodHandle
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
final Name = java.lang.invoke.LambdaForm$Name of java.lang.invoke.LambdaForm
NamedFunction = java.lang.invoke.LambdaForm$NamedFunction of java.lang.invoke.LambdaForm