Class DeclareGlobalLexicalVariableNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.access.DeclareGlobalNode
com.oracle.truffle.js.nodes.access.DeclareGlobalLexicalVariableNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable
Instantiates a global lexical (let or const) declaration.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.Children -
Field Summary
Fields inherited from class DeclareGlobalNode
errorProfile, varName -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDeclareGlobalLexicalVariableNode(com.oracle.truffle.api.strings.TruffleString varName, boolean isConst) -
Method Summary
Modifier and TypeMethodDescriptionprotected DeclareGlobalNodecopyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) create(com.oracle.truffle.api.strings.TruffleString varName, boolean isConst) protected voiddoCached(JSDynamicObject globalScope, JSContext context, PropertySetNode cache) protected voiddoUncached(JSDynamicObject globalScope, JSContext context) final voidexecuteVoid(JSContext context, JSRealm realm) protected abstract voidexecuteVoid(JSDynamicObject globalScope, JSContext context) booleanprotected final PropertySetNodemakeDefineOwnPropertyCache(JSContext context) voidMethods inherited from class DeclareGlobalNode
isGlobalFunctionDeclarationMethods inherited from class JavaScriptBaseNode
copy, getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, onReplace, reportLoopCount, reportLoopCountMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, reportReplace, toString
-
Constructor Details
-
DeclareGlobalLexicalVariableNode
protected DeclareGlobalLexicalVariableNode(com.oracle.truffle.api.strings.TruffleString varName, boolean isConst)
-
-
Method Details
-
create
public static DeclareGlobalLexicalVariableNode create(com.oracle.truffle.api.strings.TruffleString varName, boolean isConst) -
verify
- Overrides:
verifyin classDeclareGlobalNode
-
executeVoid
- Specified by:
executeVoidin classDeclareGlobalNode
-
executeVoid
-
doCached
-
doUncached
-
makeDefineOwnPropertyCache
-
isLexicallyDeclared
public boolean isLexicallyDeclared()- Overrides:
isLexicallyDeclaredin classDeclareGlobalNode
-
copyUninitialized
protected DeclareGlobalNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) - Specified by:
copyUninitializedin classDeclareGlobalNode
-