Class Scope.Var

java.lang.Object
com.google.javascript.jscomp.Scope.Var
All Implemented Interfaces:
StaticReference<JSType>, StaticSlot<JSType>
Direct Known Subclasses:
Scope.Arguments
Enclosing class:
Scope

public static class Scope.Var extends Object implements StaticSlot<JSType>, StaticReference<JSType>
Stores info about a variable
  • Method Details

    • getName

      public String getName()
      Gets the name of the variable.
      Specified by:
      getName in interface StaticSlot<JSType>
    • getNode

      public Node getNode()
      Gets the node for the name of the variable.
      Specified by:
      getNode in interface StaticReference<JSType>
    • getSourceFile

      public StaticSourceFile getSourceFile()
      Description copied from interface: StaticReference
      The source file where the reference lives.
      Specified by:
      getSourceFile in interface StaticReference<JSType>
    • getSymbol

      public Scope.Var getSymbol()
      Description copied from interface: StaticReference
      The variable that this reference points to.
      Specified by:
      getSymbol in interface StaticReference<JSType>
    • getDeclaration

      public Scope.Var getDeclaration()
      Description copied from interface: StaticSlot
      Gets the declaration of this symbol. May not exist.
      Specified by:
      getDeclaration in interface StaticSlot<JSType>
    • getParentNode

      public Node getParentNode()
      Gets the parent of the name node.
    • isBleedingFunction

      public boolean isBleedingFunction()
      Whether this is a bleeding function (an anonymous named function that bleeds into the inner scope).
    • isGlobal

      public boolean isGlobal()
      Returns whether this is a global variable.
    • isLocal

      public boolean isLocal()
      Returns whether this is a local variable.
    • isConst

      public boolean isConst()
      Returns true if the variable is declared as a constant, based on the value reported by NodeUtil.
    • isDefine

      public boolean isDefine()
      Returns true if the variable is declared as a define. A variable is a define if it is annotated by @define.
    • getInitialValue

      public Node getInitialValue()
    • getType

      public JSType getType()
      Gets this variable's type. To know whether this type has been inferred, see #isTypeInferred().
      Specified by:
      getType in interface StaticSlot<JSType>
      Returns:
      The type or null if no type is declared for it.
    • getNameNode

      public Node getNameNode()
      Returns the name node that produced this variable.
    • getJSDocInfo

      public JSDocInfo getJSDocInfo()
      Gets the JSDocInfo for the variable.
      Specified by:
      getJSDocInfo in interface StaticSlot<JSType>
    • isTypeInferred

      public boolean isTypeInferred()
      Returns whether this variable's type is inferred. To get the variable's type, see getType().
      Specified by:
      isTypeInferred in interface StaticSlot<JSType>
    • getInputName

      public String getInputName()
    • isNoShadow

      public boolean isNoShadow()
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object