public final class jdk.nashorn.internal.objects.NativeSymbol extends jdk.nashorn.internal.runtime.ScriptObject
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.objects.NativeSymbol
super_class: jdk.nashorn.internal.runtime.ScriptObject
{
private final jdk.nashorn.internal.runtime.Symbol symbol;
descriptor: Ljdk/nashorn/internal/runtime/Symbol;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final java.lang.invoke.MethodHandle WRAPFILTER;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle PROTOFILTER;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static jdk.nashorn.internal.runtime.PropertyMap $nasgenmap$;
descriptor: Ljdk/nashorn/internal/runtime/PropertyMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static jdk.nashorn.internal.WeakValueCache<java.lang.String, jdk.nashorn.internal.runtime.Symbol> globalSymbolRegistry;
descriptor: Ljdk/nashorn/internal/WeakValueCache;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljdk/nashorn/internal/WeakValueCache<Ljava/lang/String;Ljdk/nashorn/internal/runtime/Symbol;>;
public static final jdk.nashorn.internal.runtime.Symbol iterator;
descriptor: Ljdk/nashorn/internal/runtime/Symbol;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
jdk.nashorn.internal.objects.annotations.Property(where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;, attributes = 7, name = "iterator")
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=0, args_size=0
0: ldc "wrapFilter"
getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
ldc Ljdk/nashorn/internal/objects/NativeSymbol;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.type:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokestatic jdk.nashorn.internal.objects.NativeSymbol.findOwnMH:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.nashorn.internal.objects.NativeSymbol.WRAPFILTER:Ljava/lang/invoke/MethodHandle;
1: ldc "protoFilter"
getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
ldc Ljava/lang/Object;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.type:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokestatic jdk.nashorn.internal.objects.NativeSymbol.findOwnMH:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.nashorn.internal.objects.NativeSymbol.PROTOFILTER:Ljava/lang/invoke/MethodHandle;
2: new jdk.nashorn.internal.WeakValueCache
dup
invokespecial jdk.nashorn.internal.WeakValueCache.<init>:()V
putstatic jdk.nashorn.internal.objects.NativeSymbol.globalSymbolRegistry:Ljdk/nashorn/internal/WeakValueCache;
3: new jdk.nashorn.internal.runtime.Symbol
dup
ldc "Symbol.iterator"
invokespecial jdk.nashorn.internal.runtime.Symbol.<init>:(Ljava/lang/String;)V
putstatic jdk.nashorn.internal.objects.NativeSymbol.iterator:Ljdk/nashorn/internal/runtime/Symbol;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.nashorn.internal.runtime.Symbol);
descriptor: (Ljdk/nashorn/internal/runtime/Symbol;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
invokespecial jdk.nashorn.internal.objects.NativeSymbol.<init>:(Ljdk/nashorn/internal/runtime/Symbol;Ljdk/nashorn/internal/objects/Global;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/objects/NativeSymbol;
0 2 1 symbol Ljdk/nashorn/internal/runtime/Symbol;
MethodParameters:
Name Flags
symbol final
void <init>(jdk.nashorn.internal.runtime.Symbol, jdk.nashorn.internal.objects.Global);
descriptor: (Ljdk/nashorn/internal/runtime/Symbol;Ljdk/nashorn/internal/objects/Global;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual jdk.nashorn.internal.objects.Global.getSymbolPrototype:()Ljdk/nashorn/internal/runtime/ScriptObject;
getstatic jdk.nashorn.internal.objects.NativeSymbol.$nasgenmap$:Ljdk/nashorn/internal/runtime/PropertyMap;
invokespecial jdk.nashorn.internal.objects.NativeSymbol.<init>:(Ljdk/nashorn/internal/runtime/Symbol;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/PropertyMap;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/objects/NativeSymbol;
0 2 1 symbol Ljdk/nashorn/internal/runtime/Symbol;
0 2 2 global Ljdk/nashorn/internal/objects/Global;
MethodParameters:
Name Flags
symbol final
global final
private void <init>(jdk.nashorn.internal.runtime.Symbol, jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.PropertyMap);
descriptor: (Ljdk/nashorn/internal/runtime/Symbol;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/PropertyMap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 3
invokespecial jdk.nashorn.internal.runtime.ScriptObject.<init>:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/PropertyMap;)V
1: aload 0
aload 1
putfield jdk.nashorn.internal.objects.NativeSymbol.symbol:Ljdk/nashorn/internal/runtime/Symbol;
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/objects/NativeSymbol;
0 3 1 symbol Ljdk/nashorn/internal/runtime/Symbol;
0 3 2 prototype Ljdk/nashorn/internal/runtime/ScriptObject;
0 3 3 map Ljdk/nashorn/internal/runtime/PropertyMap;
MethodParameters:
Name Flags
symbol final
prototype final
map final
private static jdk.nashorn.internal.runtime.Symbol getSymbolValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Symbol;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof jdk.nashorn.internal.runtime.Symbol
ifeq 2
1: aload 0
checkcast jdk.nashorn.internal.runtime.Symbol
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.nashorn.internal.objects.NativeSymbol
ifeq 4
3: aload 0
checkcast jdk.nashorn.internal.objects.NativeSymbol
getfield jdk.nashorn.internal.objects.NativeSymbol.symbol:Ljdk/nashorn/internal/runtime/Symbol;
areturn
4: StackMap locals:
StackMap stack:
ldc "not.a.symbol"
iconst_0
anewarray java.lang.String
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 self Ljava/lang/Object;
MethodParameters:
Name Flags
self final
public static jdk.dynalink.linker.GuardedInvocation lookupPrimitive(jdk.dynalink.linker.LinkRequest, java.lang.Object);
descriptor: (Ljdk/dynalink/linker/LinkRequest;Ljava/lang/Object;)Ljdk/dynalink/linker/GuardedInvocation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc Ljdk/nashorn/internal/runtime/Symbol;
new jdk.nashorn.internal.objects.NativeSymbol
dup
aload 1
checkcast jdk.nashorn.internal.runtime.Symbol
invokespecial jdk.nashorn.internal.objects.NativeSymbol.<init>:(Ljdk/nashorn/internal/runtime/Symbol;)V
getstatic jdk.nashorn.internal.objects.NativeSymbol.WRAPFILTER:Ljava/lang/invoke/MethodHandle;
getstatic jdk.nashorn.internal.objects.NativeSymbol.PROTOFILTER:Ljava/lang/invoke/MethodHandle;
invokestatic jdk.nashorn.internal.runtime.linker.PrimitiveLookup.lookupPrimitive:(Ljdk/dynalink/linker/LinkRequest;Ljava/lang/Class;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/linker/GuardedInvocation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 request Ljdk/dynalink/linker/LinkRequest;
0 1 1 receiver Ljava/lang/Object;
MethodParameters:
Name Flags
request final
receiver final
public getDefaultValue(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.objects.NativeSymbol.symbol:Ljdk/nashorn/internal/runtime/Symbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/objects/NativeSymbol;
0 1 1 typeHint Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
typeHint final
public static java.lang.String toString(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeSymbol.getSymbolValue:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Symbol;
invokevirtual jdk.nashorn.internal.runtime.Symbol.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 self Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
MethodParameters:
Name Flags
self final
public static java.lang.Object valueOf(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeSymbol.getSymbolValue:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Symbol;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 self Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
MethodParameters:
Name Flags
self final
public static java.lang.Object constructor(boolean, java.lang.Object, java.lang.Object[]);
descriptor: (ZLjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 0
ifeq 2
1: ldc "symbol.as.constructor"
iconst_0
anewarray java.lang.String
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
2: StackMap locals:
StackMap stack:
aload 2
arraylength
ifle 4
aload 2
iconst_0
aaload
invokestatic jdk.nashorn.internal.runtime.Undefined.getUndefined:()Ljdk/nashorn/internal/runtime/Undefined;
if_acmpeq 4
3: aload 2
iconst_0
aaload
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
goto 5
StackMap locals:
StackMap stack:
4: ldc ""
5: StackMap locals:
StackMap stack: java.lang.String
astore 3
start local 3 6: new jdk.nashorn.internal.runtime.Symbol
dup
aload 3
invokespecial jdk.nashorn.internal.runtime.Symbol.<init>:(Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 newObj Z
0 7 1 self Ljava/lang/Object;
0 7 2 args [Ljava/lang/Object;
6 7 3 description Ljava/lang/String;
RuntimeVisibleAnnotations:
jdk.nashorn.internal.objects.annotations.Constructor(arity = 1)
MethodParameters:
Name Flags
newObj final
self final
args final
public static synchronized java.lang.Object _for(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: getstatic jdk.nashorn.internal.objects.NativeSymbol.globalSymbolRegistry:Ljdk/nashorn/internal/WeakValueCache;
aload 2
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/nashorn/internal/runtime/Symbol.<init>(Ljava/lang/String;)V (8)
(Ljava/lang/String;)Ljdk/nashorn/internal/runtime/Symbol;
invokevirtual jdk.nashorn.internal.WeakValueCache.getOrCreate:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 self Ljava/lang/Object;
0 2 1 arg Ljava/lang/Object;
1 2 2 name Ljava/lang/String;
RuntimeVisibleAnnotations:
jdk.nashorn.internal.objects.annotations.Function(name = "for", attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
MethodParameters:
Name Flags
self final
arg final
public static synchronized java.lang.Object keyFor(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.nashorn.internal.runtime.Symbol
ifne 2
1: ldc "not.a.symbol"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 1
invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
aastore
invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
athrow
2: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.Symbol
invokevirtual jdk.nashorn.internal.runtime.Symbol.getName:()Ljava/lang/String;
astore 2
start local 2 3: getstatic jdk.nashorn.internal.objects.NativeSymbol.globalSymbolRegistry:Ljdk/nashorn/internal/WeakValueCache;
aload 2
invokevirtual jdk.nashorn.internal.WeakValueCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 1
if_acmpne 4
aload 2
goto 5
StackMap locals: java.lang.String
StackMap stack:
4: invokestatic jdk.nashorn.internal.runtime.Undefined.getUndefined:()Ljdk/nashorn/internal/runtime/Undefined;
StackMap locals:
StackMap stack: java.lang.Object
5: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 self Ljava/lang/Object;
0 6 1 arg Ljava/lang/Object;
3 6 2 name Ljava/lang/String;
RuntimeVisibleAnnotations:
jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
MethodParameters:
Name Flags
self final
arg final
private static jdk.nashorn.internal.objects.NativeSymbol wrapFilter(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/objects/NativeSymbol;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new jdk.nashorn.internal.objects.NativeSymbol
dup
aload 0
checkcast jdk.nashorn.internal.runtime.Symbol
invokespecial jdk.nashorn.internal.objects.NativeSymbol.<init>:(Ljdk/nashorn/internal/runtime/Symbol;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 receiver Ljava/lang/Object;
MethodParameters:
Name Flags
receiver final
private static java.lang.Object protoFilter(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
invokevirtual jdk.nashorn.internal.objects.Global.getSymbolPrototype:()Ljdk/nashorn/internal/runtime/ScriptObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 object Ljava/lang/Object;
MethodParameters:
Name Flags
object final
private static java.lang.invoke.MethodHandle findOwnMH(java.lang.String, java.lang.invoke.MethodType);
descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljdk/nashorn/internal/objects/NativeSymbol;
aload 0
aload 1
invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.findStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
0 1 1 type Ljava/lang/invoke/MethodType;
MethodParameters:
Name Flags
name final
type final
}
SourceFile: "NativeSymbol.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
RuntimeVisibleAnnotations:
jdk.nashorn.internal.objects.annotations.ScriptClass(value = "Symbol")