class sun.invoke.util.ValueConversions$WrapperCache
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.invoke.util.ValueConversions$WrapperCache
super_class: java.lang.Object
{
private final java.util.EnumMap<sun.invoke.util.Wrapper, java.lang.invoke.MethodHandle> map;
descriptor: Ljava/util/EnumMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/EnumMap<Lsun/invoke/util/Wrapper;Ljava/lang/invoke/MethodHandle;>;
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.EnumMap
dup
ldc Lsun/invoke/util/Wrapper;
invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
putfield sun.invoke.util.ValueConversions$WrapperCache.map:Ljava/util/EnumMap;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/invoke/util/ValueConversions$WrapperCache;
public java.lang.invoke.MethodHandle get(sun.invoke.util.Wrapper);
descriptor: (Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.invoke.util.ValueConversions$WrapperCache.map:Ljava/util/EnumMap;
aload 1
invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.invoke.MethodHandle
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/invoke/util/ValueConversions$WrapperCache;
0 1 1 w Lsun/invoke/util/Wrapper;
MethodParameters:
Name Flags
w
public synchronized java.lang.invoke.MethodHandle put(sun.invoke.util.Wrapper, java.lang.invoke.MethodHandle);
descriptor: (Lsun/invoke/util/Wrapper;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.invoke.util.ValueConversions$WrapperCache.map:Ljava/util/EnumMap;
aload 1
aload 2
invokevirtual java.util.EnumMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.invoke.MethodHandle
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
areturn
2: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/invoke/util/ValueConversions$WrapperCache;
0 3 1 w Lsun/invoke/util/Wrapper;
0 3 2 mh Ljava/lang/invoke/MethodHandle;
1 3 3 prev Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
w final
mh final
}
SourceFile: "ValueConversions.java"
NestHost: sun.invoke.util.ValueConversions
InnerClasses:
private WrapperCache = sun.invoke.util.ValueConversions$WrapperCache of sun.invoke.util.ValueConversions