public class sun.invoke.util.ValueConversions
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.invoke.util.ValueConversions
super_class: java.lang.Object
{
private static final java.lang.Class<?> THIS_CLASS;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final java.lang.invoke.MethodHandles$Lookup IMPL_LOOKUP;
descriptor: Ljava/lang/invoke/MethodHandles$Lookup;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.invoke.util.ValueConversions$WrapperCache[] UNBOX_CONVERSIONS;
descriptor: [Lsun/invoke/util/ValueConversions$WrapperCache;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Integer ZERO_INT;
descriptor: Ljava/lang/Integer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Integer ONE_INT;
descriptor: Ljava/lang/Integer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.invoke.util.ValueConversions$WrapperCache[] BOX_CONVERSIONS;
descriptor: [Lsun/invoke/util/ValueConversions$WrapperCache;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.invoke.util.ValueConversions$WrapperCache[] CONSTANT_FUNCTIONS;
descriptor: [Lsun/invoke/util/ValueConversions$WrapperCache;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.invoke.util.ValueConversions$WrapperCache[] CONVERT_PRIMITIVE_FUNCTIONS;
descriptor: [Lsun/invoke/util/ValueConversions$WrapperCache;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$sun$invoke$util$Wrapper;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, 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 Lsun/invoke/util/ValueConversions;
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 sun.invoke.util.ValueConversions.$assertionsDisabled:Z
3: ldc Lsun/invoke/util/ValueConversions;
putstatic sun.invoke.util.ValueConversions.THIS_CLASS:Ljava/lang/Class;
4: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
putstatic sun.invoke.util.ValueConversions.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
5: iconst_4
invokestatic sun.invoke.util.ValueConversions.newWrapperCaches:(I)[Lsun/invoke/util/ValueConversions$WrapperCache;
putstatic sun.invoke.util.ValueConversions.UNBOX_CONVERSIONS:[Lsun/invoke/util/ValueConversions$WrapperCache;
6: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic sun.invoke.util.ValueConversions.ZERO_INT:Ljava/lang/Integer;
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic sun.invoke.util.ValueConversions.ONE_INT:Ljava/lang/Integer;
7: iconst_1
invokestatic sun.invoke.util.ValueConversions.newWrapperCaches:(I)[Lsun/invoke/util/ValueConversions$WrapperCache;
putstatic sun.invoke.util.ValueConversions.BOX_CONVERSIONS:[Lsun/invoke/util/ValueConversions$WrapperCache;
8: iconst_2
invokestatic sun.invoke.util.ValueConversions.newWrapperCaches:(I)[Lsun/invoke/util/ValueConversions$WrapperCache;
putstatic sun.invoke.util.ValueConversions.CONSTANT_FUNCTIONS:[Lsun/invoke/util/ValueConversions$WrapperCache;
9: bipush 10
invokestatic sun.invoke.util.ValueConversions.newWrapperCaches:(I)[Lsun/invoke/util/ValueConversions$WrapperCache;
putstatic sun.invoke.util.ValueConversions.CONVERT_PRIMITIVE_FUNCTIONS:[Lsun/invoke/util/ValueConversions$WrapperCache;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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 Lsun/invoke/util/ValueConversions;
private static sun.invoke.util.ValueConversions$WrapperCache[] newWrapperCaches(int);
descriptor: (I)[Lsun/invoke/util/ValueConversions$WrapperCache;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: iload 0
anewarray sun.invoke.util.ValueConversions$WrapperCache
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: sun.invoke.util.ValueConversions$WrapperCache[] int
StackMap stack:
aload 1
iload 2
new sun.invoke.util.ValueConversions$WrapperCache
dup
invokespecial sun.invoke.util.ValueConversions$WrapperCache.<init>:()V
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 0
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 n I
1 7 1 caches [Lsun/invoke/util/ValueConversions$WrapperCache;
2 6 2 i I
MethodParameters:
Name Flags
n
static int unboxInteger(java.lang.Integer);
descriptor: (Ljava/lang/Integer;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Integer;
MethodParameters:
Name Flags
x
static int unboxInteger(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.Integer
ifeq 2
1: aload 0
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
2: StackMap locals:
StackMap stack:
getstatic sun.invoke.util.Wrapper.INT:Lsun/invoke/util/Wrapper;
aload 0
iload 1
invokestatic sun.invoke.util.ValueConversions.primitiveConversion:(Lsun/invoke/util/Wrapper;Ljava/lang/Object;Z)Ljava/lang/Number;
invokevirtual java.lang.Number.intValue:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x Ljava/lang/Object;
0 3 1 cast Z
MethodParameters:
Name Flags
x
cast
static byte unboxByte(java.lang.Byte);
descriptor: (Ljava/lang/Byte;)B
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Byte.byteValue:()B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Byte;
MethodParameters:
Name Flags
x
static byte unboxByte(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)B
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.Byte
ifeq 2
1: aload 0
checkcast java.lang.Byte
invokevirtual java.lang.Byte.byteValue:()B
ireturn
2: StackMap locals:
StackMap stack:
getstatic sun.invoke.util.Wrapper.BYTE:Lsun/invoke/util/Wrapper;
aload 0
iload 1
invokestatic sun.invoke.util.ValueConversions.primitiveConversion:(Lsun/invoke/util/Wrapper;Ljava/lang/Object;Z)Ljava/lang/Number;
invokevirtual java.lang.Number.byteValue:()B
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x Ljava/lang/Object;
0 3 1 cast Z
MethodParameters:
Name Flags
x
cast
static short unboxShort(java.lang.Short);
descriptor: (Ljava/lang/Short;)S
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Short.shortValue:()S
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Short;
MethodParameters:
Name Flags
x
static short unboxShort(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)S
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.Short
ifeq 2
1: aload 0
checkcast java.lang.Short
invokevirtual java.lang.Short.shortValue:()S
ireturn
2: StackMap locals:
StackMap stack:
getstatic sun.invoke.util.Wrapper.SHORT:Lsun/invoke/util/Wrapper;
aload 0
iload 1
invokestatic sun.invoke.util.ValueConversions.primitiveConversion:(Lsun/invoke/util/Wrapper;Ljava/lang/Object;Z)Ljava/lang/Number;
invokevirtual java.lang.Number.shortValue:()S
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x Ljava/lang/Object;
0 3 1 cast Z
MethodParameters:
Name Flags
x
cast
static boolean unboxBoolean(java.lang.Boolean);
descriptor: (Ljava/lang/Boolean;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Boolean;
MethodParameters:
Name Flags
x
static boolean unboxBoolean(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.Boolean
ifeq 2
1: aload 0
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
2: StackMap locals:
StackMap stack:
getstatic sun.invoke.util.Wrapper.BOOLEAN:Lsun/invoke/util/Wrapper;
aload 0
iload 1
invokestatic sun.invoke.util.ValueConversions.primitiveConversion:(Lsun/invoke/util/Wrapper;Ljava/lang/Object;Z)Ljava/lang/Number;
invokevirtual java.lang.Number.intValue:()I
iconst_1
iand
ifeq 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x Ljava/lang/Object;
0 4 1 cast Z
MethodParameters:
Name Flags
x
cast
static char unboxCharacter(java.lang.Character);
descriptor: (Ljava/lang/Character;)C
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Character.charValue:()C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Character;
MethodParameters:
Name Flags
x
static char unboxCharacter(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)C
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.Character
ifeq 2
1: aload 0
checkcast java.lang.Character
invokevirtual java.lang.Character.charValue:()C
ireturn
2: StackMap locals:
StackMap stack:
getstatic sun.invoke.util.Wrapper.CHAR:Lsun/invoke/util/Wrapper;
aload 0
iload 1
invokestatic sun.invoke.util.ValueConversions.primitiveConversion:(Lsun/invoke/util/Wrapper;Ljava/lang/Object;Z)Ljava/lang/Number;
invokevirtual java.lang.Number.intValue:()I
i2c
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x Ljava/lang/Object;
0 3 1 cast Z
MethodParameters:
Name Flags
x
cast
static long unboxLong(java.lang.Long);
descriptor: (Ljava/lang/Long;)J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Long.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Long;
MethodParameters:
Name Flags
x
static long unboxLong(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)J
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.Long
ifeq 2
1: aload 0
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lreturn
2: StackMap locals:
StackMap stack:
getstatic sun.invoke.util.Wrapper.LONG:Lsun/invoke/util/Wrapper;
aload 0
iload 1
invokestatic sun.invoke.util.ValueConversions.primitiveConversion:(Lsun/invoke/util/Wrapper;Ljava/lang/Object;Z)Ljava/lang/Number;
invokevirtual java.lang.Number.longValue:()J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x Ljava/lang/Object;
0 3 1 cast Z
MethodParameters:
Name Flags
x
cast
static float unboxFloat(java.lang.Float);
descriptor: (Ljava/lang/Float;)F
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Float.floatValue:()F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Float;
MethodParameters:
Name Flags
x
static float unboxFloat(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)F
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.Float
ifeq 2
1: aload 0
checkcast java.lang.Float
invokevirtual java.lang.Float.floatValue:()F
freturn
2: StackMap locals:
StackMap stack:
getstatic sun.invoke.util.Wrapper.FLOAT:Lsun/invoke/util/Wrapper;
aload 0
iload 1
invokestatic sun.invoke.util.ValueConversions.primitiveConversion:(Lsun/invoke/util/Wrapper;Ljava/lang/Object;Z)Ljava/lang/Number;
invokevirtual java.lang.Number.floatValue:()F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x Ljava/lang/Object;
0 3 1 cast Z
MethodParameters:
Name Flags
x
cast
static double unboxDouble(java.lang.Double);
descriptor: (Ljava/lang/Double;)D
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Double.doubleValue:()D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Double;
MethodParameters:
Name Flags
x
static double unboxDouble(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)D
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.Double
ifeq 2
1: aload 0
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dreturn
2: StackMap locals:
StackMap stack:
getstatic sun.invoke.util.Wrapper.DOUBLE:Lsun/invoke/util/Wrapper;
aload 0
iload 1
invokestatic sun.invoke.util.ValueConversions.primitiveConversion:(Lsun/invoke/util/Wrapper;Ljava/lang/Object;Z)Ljava/lang/Number;
invokevirtual java.lang.Number.doubleValue:()D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x Ljava/lang/Object;
0 3 1 cast Z
MethodParameters:
Name Flags
x
cast
private static java.lang.invoke.MethodType unboxType(sun.invoke.util.Wrapper, int);
descriptor: (Lsun/invoke/util/Wrapper;I)Ljava/lang/invoke/MethodType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifne 2
1: aload 0
invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
aload 0
invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
ldc Ljava/lang/Object;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 wrap Lsun/invoke/util/Wrapper;
0 3 1 kind I
MethodParameters:
Name Flags
wrap
kind
private static java.lang.invoke.MethodHandle unbox(sun.invoke.util.Wrapper, int);
descriptor: (Lsun/invoke/util/Wrapper;I)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: getstatic sun.invoke.util.ValueConversions.UNBOX_CONVERSIONS:[Lsun/invoke/util/ValueConversions$WrapperCache;
iload 1
aaload
astore 2
start local 2 1: aload 2
aload 0
invokevirtual sun.invoke.util.ValueConversions$WrapperCache.get:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 3
areturn
4: StackMap locals: sun.invoke.util.ValueConversions$WrapperCache java.lang.invoke.MethodHandle
StackMap stack:
invokestatic sun.invoke.util.ValueConversions.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
aload 0
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iaload
tableswitch { // 9 - 10
9: 5
10: 5
default: 6
}
5: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unbox "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "unbox"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual sun.invoke.util.Wrapper.wrapperSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 7: aload 0
iload 1
invokestatic sun.invoke.util.ValueConversions.unboxType:(Lsun/invoke/util/Wrapper;I)Ljava/lang/invoke/MethodType;
astore 5
start local 5 8: getstatic sun.invoke.util.ValueConversions.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
getstatic sun.invoke.util.ValueConversions.THIS_CLASS:Ljava/lang/Class;
aload 4
aload 5
invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 3
9: goto 12
StackMap locals: sun.invoke.util.Wrapper int sun.invoke.util.ValueConversions$WrapperCache java.lang.invoke.MethodHandle java.lang.String java.lang.invoke.MethodType
StackMap stack: java.lang.ReflectiveOperationException
10: pop
11: aconst_null
astore 3
12: StackMap locals:
StackMap stack:
aload 3
ifnull 21
13: iload 1
ifle 18
14: iload 1
iconst_2
if_icmpeq 15
iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 6
start local 6 17: aload 3
iconst_1
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 6
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokestatic java.lang.invoke.MethodHandles.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 3
end local 6 18: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpne 20
19: aload 3
aload 0
iconst_0
invokestatic sun.invoke.util.ValueConversions.unboxType:(Lsun/invoke/util/Wrapper;I)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 3
20: StackMap locals:
StackMap stack:
aload 2
aload 0
aload 3
invokevirtual sun.invoke.util.ValueConversions$WrapperCache.put:(Lsun/invoke/util/Wrapper;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
areturn
21: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "cannot find unbox adapter for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
22: iload 1
iconst_1
if_icmpgt 23
ldc " (exact)"
goto 25
StackMap locals: sun.invoke.util.Wrapper int sun.invoke.util.ValueConversions$WrapperCache java.lang.invoke.MethodHandle java.lang.String java.lang.invoke.MethodType
StackMap stack: new 21 new 21 java.lang.StringBuilder
23: iload 1
iconst_3
if_icmpne 24
ldc " (cast)"
goto 25
StackMap locals: sun.invoke.util.Wrapper int sun.invoke.util.ValueConversions$WrapperCache java.lang.invoke.MethodHandle java.lang.String java.lang.invoke.MethodType
StackMap stack: new 21 new 21 java.lang.StringBuilder
24: ldc ""
StackMap locals: sun.invoke.util.Wrapper int sun.invoke.util.ValueConversions$WrapperCache java.lang.invoke.MethodHandle java.lang.String java.lang.invoke.MethodType
StackMap stack: new 21 new 21 java.lang.StringBuilder java.lang.String
25: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
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 27 0 wrap Lsun/invoke/util/Wrapper;
0 27 1 kind I
1 27 2 cache Lsun/invoke/util/ValueConversions$WrapperCache;
2 27 3 mh Ljava/lang/invoke/MethodHandle;
7 27 4 name Ljava/lang/String;
8 27 5 type Ljava/lang/invoke/MethodType;
17 18 6 cast Z
Exception table:
from to target type
8 9 10 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
wrap
kind
public static java.lang.invoke.MethodHandle unboxExact(sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic sun.invoke.util.ValueConversions.unbox:(Lsun/invoke/util/Wrapper;I)Ljava/lang/invoke/MethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Lsun/invoke/util/Wrapper;
MethodParameters:
Name Flags
type
public static java.lang.invoke.MethodHandle unboxExact(sun.invoke.util.Wrapper, boolean);
descriptor: (Lsun/invoke/util/Wrapper;Z)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack: sun.invoke.util.Wrapper
1: iconst_1
StackMap locals: sun.invoke.util.Wrapper int
StackMap stack: sun.invoke.util.Wrapper int
2: invokestatic sun.invoke.util.ValueConversions.unbox:(Lsun/invoke/util/Wrapper;I)Ljava/lang/invoke/MethodHandle;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Lsun/invoke/util/Wrapper;
0 3 1 throwNPE Z
MethodParameters:
Name Flags
type
throwNPE
public static java.lang.invoke.MethodHandle unboxWiden(sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
invokestatic sun.invoke.util.ValueConversions.unbox:(Lsun/invoke/util/Wrapper;I)Ljava/lang/invoke/MethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Lsun/invoke/util/Wrapper;
MethodParameters:
Name Flags
type
public static java.lang.invoke.MethodHandle unboxCast(sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_3
invokestatic sun.invoke.util.ValueConversions.unbox:(Lsun/invoke/util/Wrapper;I)Ljava/lang/invoke/MethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Lsun/invoke/util/Wrapper;
MethodParameters:
Name Flags
type
public static java.lang.Number primitiveConversion(sun.invoke.util.Wrapper, java.lang.Object, boolean);
descriptor: (Lsun/invoke/util/Wrapper;Ljava/lang/Object;Z)Ljava/lang/Number;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 3
1: iload 2
ifne 2
aconst_null
areturn
2: StackMap locals:
StackMap stack:
getstatic sun.invoke.util.ValueConversions.ZERO_INT:Ljava/lang/Integer;
areturn
3: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Number
ifeq 6
4: aload 1
checkcast java.lang.Number
astore 3
start local 3 5: goto 15
end local 3 StackMap locals:
StackMap stack:
6: aload 1
instanceof java.lang.Boolean
ifeq 11
7: aload 1
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 8
getstatic sun.invoke.util.ValueConversions.ONE_INT:Ljava/lang/Integer;
goto 9
StackMap locals:
StackMap stack:
8: getstatic sun.invoke.util.ValueConversions.ZERO_INT:Ljava/lang/Integer;
StackMap locals:
StackMap stack: java.lang.Integer
9: astore 3
start local 3 10: goto 15
end local 3 StackMap locals:
StackMap stack:
11: aload 1
instanceof java.lang.Character
ifeq 14
12: aload 1
checkcast java.lang.Character
invokevirtual java.lang.Character.charValue:()C
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 3
start local 3 13: goto 15
end local 3 14: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
astore 3
start local 3 15: StackMap locals: java.lang.Number
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic sun.invoke.util.Wrapper.findWrapperType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
astore 4
start local 4 16: aload 4
ifnull 17
iload 2
ifne 18
aload 0
aload 4
invokevirtual sun.invoke.util.Wrapper.isConvertibleFrom:(Lsun/invoke/util/Wrapper;)Z
ifne 18
17: StackMap locals: sun.invoke.util.Wrapper
StackMap stack:
aload 0
invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Number
areturn
18: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 wrap Lsun/invoke/util/Wrapper;
0 19 1 x Ljava/lang/Object;
0 19 2 cast Z
5 6 3 res Ljava/lang/Number;
10 11 3 res Ljava/lang/Number;
13 14 3 res Ljava/lang/Number;
15 19 3 res Ljava/lang/Number;
16 19 4 xwrap Lsun/invoke/util/Wrapper;
MethodParameters:
Name Flags
wrap
x
cast
public static int widenSubword(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.Integer
ifeq 2
1: aload 0
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Boolean
ifeq 4
3: aload 0
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
invokestatic sun.invoke.util.ValueConversions.fromBoolean:(Z)B
ireturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Character
ifeq 6
5: aload 0
checkcast java.lang.Character
invokevirtual java.lang.Character.charValue:()C
ireturn
6: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Short
ifeq 8
7: aload 0
checkcast java.lang.Short
invokevirtual java.lang.Short.shortValue:()S
ireturn
8: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Byte
ifeq 10
9: aload 0
checkcast java.lang.Byte
invokevirtual java.lang.Byte.byteValue:()B
ireturn
10: StackMap locals:
StackMap stack:
aload 0
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 x Ljava/lang/Object;
MethodParameters:
Name Flags
x
static java.lang.Integer boxInteger(int);
descriptor: (I)Ljava/lang/Integer;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x
static java.lang.Byte boxByte(byte);
descriptor: (B)Ljava/lang/Byte;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x B
MethodParameters:
Name Flags
x
static java.lang.Short boxShort(short);
descriptor: (S)Ljava/lang/Short;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x S
MethodParameters:
Name Flags
x
static java.lang.Boolean boxBoolean(boolean);
descriptor: (Z)Ljava/lang/Boolean;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Z
MethodParameters:
Name Flags
x
static java.lang.Character boxCharacter(char);
descriptor: (C)Ljava/lang/Character;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x C
MethodParameters:
Name Flags
x
static java.lang.Long boxLong(long);
descriptor: (J)Ljava/lang/Long;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x J
MethodParameters:
Name Flags
x
static java.lang.Float boxFloat(float);
descriptor: (F)Ljava/lang/Float;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: fload 0
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x F
MethodParameters:
Name Flags
x
static java.lang.Double boxDouble(double);
descriptor: (D)Ljava/lang/Double;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: dload 0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x D
MethodParameters:
Name Flags
x
private static java.lang.invoke.MethodType boxType(sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 wrap Lsun/invoke/util/Wrapper;
1 2 1 boxType Ljava/lang/Class<*>;
MethodParameters:
Name Flags
wrap
public static java.lang.invoke.MethodHandle boxExact(sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: getstatic sun.invoke.util.ValueConversions.BOX_CONVERSIONS:[Lsun/invoke/util/ValueConversions$WrapperCache;
iconst_0
aaload
astore 1
start local 1 1: aload 1
aload 0
invokevirtual sun.invoke.util.ValueConversions$WrapperCache.get:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
areturn
4: StackMap locals: sun.invoke.util.ValueConversions$WrapperCache java.lang.invoke.MethodHandle
StackMap stack:
new java.lang.StringBuilder
dup
ldc "box"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual sun.invoke.util.Wrapper.wrapperSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 5: aload 0
invokestatic sun.invoke.util.ValueConversions.boxType:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodType;
astore 4
start local 4 6: getstatic sun.invoke.util.ValueConversions.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
getstatic sun.invoke.util.ValueConversions.THIS_CLASS:Ljava/lang/Class;
aload 3
aload 4
invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 2
7: goto 10
StackMap locals: sun.invoke.util.Wrapper sun.invoke.util.ValueConversions$WrapperCache java.lang.invoke.MethodHandle java.lang.String java.lang.invoke.MethodType
StackMap stack: java.lang.ReflectiveOperationException
8: pop
9: aconst_null
astore 2
10: StackMap locals:
StackMap stack:
aload 2
ifnull 12
11: aload 1
aload 0
aload 2
invokevirtual sun.invoke.util.ValueConversions$WrapperCache.put:(Lsun/invoke/util/Wrapper;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
areturn
12: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "cannot find box adapter for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 wrap Lsun/invoke/util/Wrapper;
1 13 1 cache Lsun/invoke/util/ValueConversions$WrapperCache;
2 13 2 mh Ljava/lang/invoke/MethodHandle;
5 13 3 name Ljava/lang/String;
6 13 4 type Ljava/lang/invoke/MethodType;
Exception table:
from to target type
6 7 8 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
wrap
static void ignore(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Object;
MethodParameters:
Name Flags
x
static void empty();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: return
LocalVariableTable:
Start End Slot Name Signature
static java.lang.Object zeroObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
static int zeroInteger();
descriptor: ()I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
static long zeroLong();
descriptor: ()J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: lconst_0
lreturn
LocalVariableTable:
Start End Slot Name Signature
static float zeroFloat();
descriptor: ()F
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: fconst_0
freturn
LocalVariableTable:
Start End Slot Name Signature
static double zeroDouble();
descriptor: ()D
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: dconst_0
dreturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.invoke.MethodHandle zeroConstantFunction(sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: getstatic sun.invoke.util.ValueConversions.CONSTANT_FUNCTIONS:[Lsun/invoke/util/ValueConversions$WrapperCache;
iconst_0
aaload
astore 1
start local 1 1: aload 1
aload 0
invokevirtual sun.invoke.util.ValueConversions$WrapperCache.get:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
areturn
4: StackMap locals: sun.invoke.util.ValueConversions$WrapperCache java.lang.invoke.MethodHandle
StackMap stack:
aload 0
invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 3
start local 3 5: invokestatic sun.invoke.util.ValueConversions.$SWITCH_TABLE$sun$invoke$util$Wrapper:()[I
aload 0
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iaload
tableswitch { // 5 - 10
5: 8
6: 8
7: 8
8: 8
9: 8
10: 6
default: 12
}
6: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
getstatic sun.invoke.util.ValueConversions$Handles.EMPTY:Ljava/lang/invoke/MethodHandle;
astore 2
7: goto 12
8: StackMap locals:
StackMap stack:
getstatic sun.invoke.util.ValueConversions.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
getstatic sun.invoke.util.ValueConversions.THIS_CLASS:Ljava/lang/Class;
new java.lang.StringBuilder
dup
ldc "zero"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual sun.invoke.util.Wrapper.wrapperSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 2
9: goto 12
StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
10: pop
11: aconst_null
astore 2
12: StackMap locals:
StackMap stack:
aload 2
ifnull 14
13: aload 1
aload 0
aload 2
invokevirtual sun.invoke.util.ValueConversions$WrapperCache.put:(Lsun/invoke/util/Wrapper;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
areturn
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.invoke.util.Wrapper.isSubwordOrInt:()Z
ifeq 17
aload 0
getstatic sun.invoke.util.Wrapper.INT:Lsun/invoke/util/Wrapper;
if_acmpeq 17
15: getstatic sun.invoke.util.Wrapper.INT:Lsun/invoke/util/Wrapper;
invokestatic sun.invoke.util.ValueConversions.zeroConstantFunction:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
aload 3
invokestatic java.lang.invoke.MethodHandles.explicitCastArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 2
16: aload 1
aload 0
aload 2
invokevirtual sun.invoke.util.ValueConversions$WrapperCache.put:(Lsun/invoke/util/Wrapper;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
areturn
17: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "cannot find zero constant for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 wrap Lsun/invoke/util/Wrapper;
1 18 1 cache Lsun/invoke/util/ValueConversions$WrapperCache;
2 18 2 mh Ljava/lang/invoke/MethodHandle;
5 18 3 type Ljava/lang/invoke/MethodType;
Exception table:
from to target type
8 9 10 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
wrap
public static java.lang.invoke.MethodHandle ignore();
descriptor: ()Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.invoke.util.ValueConversions$Handles.IGNORE:Ljava/lang/invoke/MethodHandle;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.invoke.MethodHandle cast();
descriptor: ()Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.invoke.util.ValueConversions$Handles.CAST_REFERENCE:Ljava/lang/invoke/MethodHandle;
areturn
LocalVariableTable:
Start End Slot Name Signature
static float doubleToFloat(double);
descriptor: (D)F
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: dload 0
d2f
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x D
MethodParameters:
Name Flags
x
static long doubleToLong(double);
descriptor: (D)J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: dload 0
d2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x D
MethodParameters:
Name Flags
x
static int doubleToInt(double);
descriptor: (D)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: dload 0
d2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x D
MethodParameters:
Name Flags
x
static short doubleToShort(double);
descriptor: (D)S
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: dload 0
d2i
i2s
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x D
MethodParameters:
Name Flags
x
static char doubleToChar(double);
descriptor: (D)C
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: dload 0
d2i
i2c
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x D
MethodParameters:
Name Flags
x
static byte doubleToByte(double);
descriptor: (D)B
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: dload 0
d2i
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x D
MethodParameters:
Name Flags
x
static boolean doubleToBoolean(double);
descriptor: (D)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: dload 0
d2i
i2b
invokestatic sun.invoke.util.ValueConversions.toBoolean:(B)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x D
MethodParameters:
Name Flags
x
static double floatToDouble(float);
descriptor: (F)D
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: fload 0
f2d
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x F
MethodParameters:
Name Flags
x
static long floatToLong(float);
descriptor: (F)J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: fload 0
f2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x F
MethodParameters:
Name Flags
x
static int floatToInt(float);
descriptor: (F)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: fload 0
f2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x F
MethodParameters:
Name Flags
x
static short floatToShort(float);
descriptor: (F)S
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: fload 0
f2i
i2s
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x F
MethodParameters:
Name Flags
x
static char floatToChar(float);
descriptor: (F)C
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: fload 0
f2i
i2c
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x F
MethodParameters:
Name Flags
x
static byte floatToByte(float);
descriptor: (F)B
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: fload 0
f2i
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x F
MethodParameters:
Name Flags
x
static boolean floatToBoolean(float);
descriptor: (F)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: fload 0
f2i
i2b
invokestatic sun.invoke.util.ValueConversions.toBoolean:(B)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x F
MethodParameters:
Name Flags
x
static double longToDouble(long);
descriptor: (J)D
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
l2d
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x J
MethodParameters:
Name Flags
x
static float longToFloat(long);
descriptor: (J)F
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
l2f
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x J
MethodParameters:
Name Flags
x
static int longToInt(long);
descriptor: (J)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x J
MethodParameters:
Name Flags
x
static short longToShort(long);
descriptor: (J)S
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
l2i
i2s
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x J
MethodParameters:
Name Flags
x
static char longToChar(long);
descriptor: (J)C
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
l2i
i2c
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x J
MethodParameters:
Name Flags
x
static byte longToByte(long);
descriptor: (J)B
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
l2i
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x J
MethodParameters:
Name Flags
x
static boolean longToBoolean(long);
descriptor: (J)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
l2i
i2b
invokestatic sun.invoke.util.ValueConversions.toBoolean:(B)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x J
MethodParameters:
Name Flags
x
static double intToDouble(int);
descriptor: (I)D
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
i2d
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x
static float intToFloat(int);
descriptor: (I)F
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2f
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x
static long intToLong(int);
descriptor: (I)J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x
static short intToShort(int);
descriptor: (I)S
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2s
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x
static char intToChar(int);
descriptor: (I)C
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2c
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x
static byte intToByte(int);
descriptor: (I)B
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x
static boolean intToBoolean(int);
descriptor: (I)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2b
invokestatic sun.invoke.util.ValueConversions.toBoolean:(B)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x
static double shortToDouble(short);
descriptor: (S)D
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
i2d
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x S
MethodParameters:
Name Flags
x
static float shortToFloat(short);
descriptor: (S)F
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2f
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x S
MethodParameters:
Name Flags
x
static long shortToLong(short);
descriptor: (S)J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x S
MethodParameters:
Name Flags
x
static int shortToInt(short);
descriptor: (S)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x S
MethodParameters:
Name Flags
x
static char shortToChar(short);
descriptor: (S)C
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2c
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x S
MethodParameters:
Name Flags
x
static byte shortToByte(short);
descriptor: (S)B
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x S
MethodParameters:
Name Flags
x
static boolean shortToBoolean(short);
descriptor: (S)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2b
invokestatic sun.invoke.util.ValueConversions.toBoolean:(B)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x S
MethodParameters:
Name Flags
x
static double charToDouble(char);
descriptor: (C)D
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
i2d
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x C
MethodParameters:
Name Flags
x
static float charToFloat(char);
descriptor: (C)F
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2f
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x C
MethodParameters:
Name Flags
x
static long charToLong(char);
descriptor: (C)J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x C
MethodParameters:
Name Flags
x
static int charToInt(char);
descriptor: (C)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x C
MethodParameters:
Name Flags
x
static short charToShort(char);
descriptor: (C)S
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2s
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x C
MethodParameters:
Name Flags
x
static byte charToByte(char);
descriptor: (C)B
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x C
MethodParameters:
Name Flags
x
static boolean charToBoolean(char);
descriptor: (C)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2b
invokestatic sun.invoke.util.ValueConversions.toBoolean:(B)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x C
MethodParameters:
Name Flags
x
static double byteToDouble(byte);
descriptor: (B)D
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
i2d
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x B
MethodParameters:
Name Flags
x
static float byteToFloat(byte);
descriptor: (B)F
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2f
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x B
MethodParameters:
Name Flags
x
static long byteToLong(byte);
descriptor: (B)J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x B
MethodParameters:
Name Flags
x
static int byteToInt(byte);
descriptor: (B)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x B
MethodParameters:
Name Flags
x
static short byteToShort(byte);
descriptor: (B)S
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2s
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x B
MethodParameters:
Name Flags
x
static char byteToChar(byte);
descriptor: (B)C
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2c
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x B
MethodParameters:
Name Flags
x
static boolean byteToBoolean(byte);
descriptor: (B)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic sun.invoke.util.ValueConversions.toBoolean:(B)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x B
MethodParameters:
Name Flags
x
static double booleanToDouble(boolean);
descriptor: (Z)D
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
invokestatic sun.invoke.util.ValueConversions.fromBoolean:(Z)B
i2d
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Z
MethodParameters:
Name Flags
x
static float booleanToFloat(boolean);
descriptor: (Z)F
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic sun.invoke.util.ValueConversions.fromBoolean:(Z)B
i2f
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Z
MethodParameters:
Name Flags
x
static long booleanToLong(boolean);
descriptor: (Z)J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
invokestatic sun.invoke.util.ValueConversions.fromBoolean:(Z)B
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Z
MethodParameters:
Name Flags
x
static int booleanToInt(boolean);
descriptor: (Z)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic sun.invoke.util.ValueConversions.fromBoolean:(Z)B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Z
MethodParameters:
Name Flags
x
static short booleanToShort(boolean);
descriptor: (Z)S
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic sun.invoke.util.ValueConversions.fromBoolean:(Z)B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Z
MethodParameters:
Name Flags
x
static char booleanToChar(boolean);
descriptor: (Z)C
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic sun.invoke.util.ValueConversions.fromBoolean:(Z)B
i2c
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Z
MethodParameters:
Name Flags
x
static byte booleanToByte(boolean);
descriptor: (Z)B
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic sun.invoke.util.ValueConversions.fromBoolean:(Z)B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Z
MethodParameters:
Name Flags
x
static boolean toBoolean(byte);
descriptor: (B)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 x B
MethodParameters:
Name Flags
x
static byte fromBoolean(boolean);
descriptor: (Z)B
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x Z
MethodParameters:
Name Flags
x
public static java.lang.invoke.MethodHandle convertPrimitive(sun.invoke.util.Wrapper, sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: getstatic sun.invoke.util.ValueConversions.CONVERT_PRIMITIVE_FUNCTIONS:[Lsun/invoke/util/ValueConversions$WrapperCache;
aload 0
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
aaload
astore 2
start local 2 1: aload 2
aload 1
invokevirtual sun.invoke.util.ValueConversions$WrapperCache.get:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 3
areturn
4: StackMap locals: sun.invoke.util.ValueConversions$WrapperCache java.lang.invoke.MethodHandle
StackMap stack:
aload 0
invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
astore 4
start local 4 5: aload 1
invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
astore 5
start local 5 6: aload 5
aload 4
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 6
start local 6 7: aload 0
aload 1
if_acmpne 10
8: aload 4
invokestatic java.lang.invoke.MethodHandles.identity:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 3
9: goto 16
10: StackMap locals: java.lang.Class java.lang.Class java.lang.invoke.MethodType
StackMap stack:
getstatic sun.invoke.util.ValueConversions.$assertionsDisabled:Z
ifne 12
aload 4
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 11
aload 5
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 12
StackMap locals:
StackMap stack:
11: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
getstatic sun.invoke.util.ValueConversions.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
getstatic sun.invoke.util.ValueConversions.THIS_CLASS:Ljava/lang/Class;
new java.lang.StringBuilder
dup
aload 4
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "To"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic sun.invoke.util.ValueConversions.capitalize:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 3
13: goto 16
StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
14: pop
15: aconst_null
astore 3
16: StackMap locals:
StackMap stack:
aload 3
ifnull 19
17: getstatic sun.invoke.util.ValueConversions.$assertionsDisabled:Z
ifne 18
aload 3
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 6
if_acmpeq 18
new java.lang.AssertionError
dup
aload 3
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
18: StackMap locals:
StackMap stack:
aload 2
aload 1
aload 3
invokevirtual sun.invoke.util.ValueConversions$WrapperCache.put:(Lsun/invoke/util/Wrapper;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
areturn
19: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "cannot find primitive conversion function for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
20: aload 4
invokevirtual java.lang.Class.getSimpleName:()Ljava/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;
aload 5
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
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 22 0 wsrc Lsun/invoke/util/Wrapper;
0 22 1 wdst Lsun/invoke/util/Wrapper;
1 22 2 cache Lsun/invoke/util/ValueConversions$WrapperCache;
2 22 3 mh Ljava/lang/invoke/MethodHandle;
5 22 4 src Ljava/lang/Class<*>;
6 22 5 dst Ljava/lang/Class<*>;
7 22 6 type Ljava/lang/invoke/MethodType;
Exception table:
from to target type
12 13 14 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
wsrc
wdst
public static java.lang.invoke.MethodHandle convertPrimitive(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
aload 1
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
invokestatic sun.invoke.util.ValueConversions.convertPrimitive:(Lsun/invoke/util/Wrapper;Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 src Ljava/lang/Class<*>;
0 1 1 dst Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
src
dst
private static java.lang.String capitalize(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.toUpperCase:(C)C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iconst_1
invokevirtual java.lang.String.substring:(I)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 x Ljava/lang/String;
MethodParameters:
Name Flags
x
private static java.lang.InternalError newInternalError(java.lang.String, java.lang.Throwable);
descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/InternalError;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.InternalError
dup
aload 0
aload 1
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 message Ljava/lang/String;
0 1 1 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
message
cause
private static java.lang.InternalError newInternalError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Ljava/lang/InternalError;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.InternalError
dup
aload 0
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
cause
static int[] $SWITCH_TABLE$sun$invoke$util$Wrapper();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic sun.invoke.util.ValueConversions.$SWITCH_TABLE$sun$invoke$util$Wrapper:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic sun.invoke.util.Wrapper.values:()[Lsun/invoke/util/Wrapper;
arraylength
newarray 10
astore 0
2: aload 0
getstatic sun.invoke.util.Wrapper.BOOLEAN:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic sun.invoke.util.Wrapper.BYTE:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic sun.invoke.util.Wrapper.CHAR:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic sun.invoke.util.Wrapper.DOUBLE:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
bipush 8
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic sun.invoke.util.Wrapper.FLOAT:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
bipush 7
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic sun.invoke.util.Wrapper.INT:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iconst_5
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic sun.invoke.util.Wrapper.LONG:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
bipush 6
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic sun.invoke.util.Wrapper.OBJECT:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
bipush 9
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic sun.invoke.util.Wrapper.SHORT:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
iconst_3
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic sun.invoke.util.Wrapper.VOID:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
bipush 10
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
dup
putstatic sun.invoke.util.ValueConversions.$SWITCH_TABLE$sun$invoke$util$Wrapper:[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
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
}
SourceFile: "ValueConversions.java"
NestMembers:
sun.invoke.util.ValueConversions$Handles sun.invoke.util.ValueConversions$WrapperCache
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private Handles = sun.invoke.util.ValueConversions$Handles of sun.invoke.util.ValueConversions
private WrapperCache = sun.invoke.util.ValueConversions$WrapperCache of sun.invoke.util.ValueConversions