Class DeclareGlobalNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.access.DeclareGlobalNode
All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable
Direct Known Subclasses:
DeclareGlobalFunctionNode, DeclareGlobalLexicalVariableNode, DeclareGlobalVariableNode

public abstract class DeclareGlobalNode extends JavaScriptBaseNode
  • 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
    Modifier and Type
    Field
    Description
    protected final com.oracle.truffle.api.profiles.BranchProfile
     
    protected final com.oracle.truffle.api.strings.TruffleString
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    DeclareGlobalNode(com.oracle.truffle.api.strings.TruffleString varName)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract DeclareGlobalNode
    copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
     
    abstract void
    executeVoid(com.oracle.truffle.api.frame.VirtualFrame frame, JSContext context, JSRealm realm)
     
    boolean
     
    boolean
     
    void
    verify(JSContext context, JSRealm realm)
     

    Methods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode

    copy, getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, onReplace

    Methods 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, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • varName

      protected final com.oracle.truffle.api.strings.TruffleString varName
    • errorProfile

      protected final com.oracle.truffle.api.profiles.BranchProfile errorProfile
  • Constructor Details

    • DeclareGlobalNode

      protected DeclareGlobalNode(com.oracle.truffle.api.strings.TruffleString varName)
  • Method Details

    • executeVoid

      public abstract void executeVoid(com.oracle.truffle.api.frame.VirtualFrame frame, JSContext context, JSRealm realm)
    • verify

      public void verify(JSContext context, JSRealm realm)
    • isLexicallyDeclared

      public boolean isLexicallyDeclared()
    • isGlobalFunctionDeclaration

      public boolean isGlobalFunctionDeclaration()
    • copyUninitialized

      protected abstract DeclareGlobalNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)