public abstract class com.oracle.truffle.js.builtins.SymbolFunctionBuiltins$SymbolKeyForNode extends com.oracle.truffle.js.nodes.function.JSBuiltinNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.builtins.SymbolFunctionBuiltins$SymbolKeyForNode
super_class: com.oracle.truffle.js.nodes.function.JSBuiltinNode
{
public void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
flags: (0x0001) ACC_PUBLIC
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 com.oracle.truffle.js.nodes.function.JSBuiltinNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/SymbolFunctionBuiltins$SymbolKeyForNode;
0 2 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 2 2 builtin Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
MethodParameters:
Name Flags
context
builtin
protected java.lang.Object symbolKeyFor(com.oracle.truffle.js.runtime.Symbol);
descriptor: (Lcom/oracle/truffle/js/runtime/Symbol;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.builtins.SymbolFunctionBuiltins$SymbolKeyForNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getSymbolRegistry:()Ljava/util/Map;
aload 1
invokestatic com.oracle.truffle.js.builtins.SymbolFunctionBuiltins$SymbolKeyForNode.getKeyFor:(Ljava/util/Map;Lcom/oracle/truffle/js/runtime/Symbol;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/builtins/SymbolFunctionBuiltins$SymbolKeyForNode;
0 1 1 symbol Lcom/oracle/truffle/js/runtime/Symbol;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"isSymbol(symbol)"})
MethodParameters:
Name Flags
symbol
private static getKeyFor(java.util.Map<java.lang.String, com.oracle.truffle.js.runtime.Symbol>, com.oracle.truffle.js.runtime.Symbol);
descriptor: (Ljava/util/Map;Lcom/oracle/truffle/js/runtime/Symbol;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: java.util.Map com.oracle.truffle.js.runtime.Symbol top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 2: aload 1
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.runtime.Symbol.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 symbolRegistry Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/js/runtime/Symbol;>;
0 6 1 symbol Lcom/oracle/truffle/js/runtime/Symbol;
2 4 2 entry Ljava/util/Map$Entry<Ljava/lang/String;Lcom/oracle/truffle/js/runtime/Symbol;>;
Signature: (Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/js/runtime/Symbol;>;Lcom/oracle/truffle/js/runtime/Symbol;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
symbolRegistry
symbol
protected static com.oracle.truffle.js.runtime.Symbol valueOf(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/Symbol;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: ldc "Not a symbol: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
aastore
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorFormat:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 argument Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
com.oracle.truffle.api.dsl.Specialization(guards = {"!isSymbol(argument)"})
MethodParameters:
Name Flags
argument
}
SourceFile: "SymbolFunctionBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.SymbolFunctionBuiltins
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract SymbolKeyForNode = com.oracle.truffle.js.builtins.SymbolFunctionBuiltins$SymbolKeyForNode of com.oracle.truffle.js.builtins.SymbolFunctionBuiltins
public abstract Entry = java.util.Map$Entry of java.util.Map