public abstract class com.oracle.truffle.js.builtins.SymbolFunctionBuiltins$SymbolForNode 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$SymbolForNode
super_class: com.oracle.truffle.js.nodes.function.JSBuiltinNode
{
private com.oracle.truffle.js.nodes.cast.JSToStringNode toStringNode;
descriptor: Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
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: aload 0
invokestatic com.oracle.truffle.js.nodes.cast.JSToStringNode.create:()Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
putfield com.oracle.truffle.js.builtins.SymbolFunctionBuiltins$SymbolForNode.toStringNode:Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/builtins/SymbolFunctionBuiltins$SymbolForNode;
0 3 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 3 2 builtin Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
MethodParameters:
Name Flags
context
builtin
protected com.oracle.truffle.js.runtime.Symbol symbolFor(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/Symbol;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.builtins.SymbolFunctionBuiltins$SymbolForNode.toStringNode:Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.cast.JSToStringNode.executeString:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
invokevirtual com.oracle.truffle.js.builtins.SymbolFunctionBuiltins$SymbolForNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getSymbolRegistry:()Ljava/util/Map;
aload 2
invokestatic com.oracle.truffle.js.builtins.SymbolFunctionBuiltins$SymbolForNode.getOrCreateSymbol:(Ljava/util/Map;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/Symbol;
areturn
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$SymbolForNode;
0 2 1 key Ljava/lang/Object;
1 2 2 stringKey Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
key
private static com.oracle.truffle.js.runtime.Symbol getOrCreateSymbol(java.util.Map<java.lang.String, com.oracle.truffle.js.runtime.Symbol>, java.lang.String);
descriptor: (Ljava/util/Map;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/Symbol;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.Symbol
astore 2
start local 2 1: aload 2
ifnonnull 4
2: aload 1
invokestatic com.oracle.truffle.js.runtime.Symbol.create:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/Symbol;
astore 2
3: aload 0
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: com.oracle.truffle.js.runtime.Symbol
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 symbolRegistry Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/js/runtime/Symbol;>;
0 5 1 stringKey Ljava/lang/String;
1 5 2 symbol Lcom/oracle/truffle/js/runtime/Symbol;
Signature: (Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/js/runtime/Symbol;>;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/Symbol;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
symbolRegistry
stringKey
}
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 Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
public abstract SymbolForNode = com.oracle.truffle.js.builtins.SymbolFunctionBuiltins$SymbolForNode of com.oracle.truffle.js.builtins.SymbolFunctionBuiltins