Package com.google.javascript.jscomp
Class SymbolTable.SymbolScope
- java.lang.Object
-
- com.google.javascript.jscomp.SymbolTable.SymbolScope
-
- All Implemented Interfaces:
StaticScope<JSType>
- Enclosing class:
- SymbolTable
public static final class SymbolTable.SymbolScope extends java.lang.Object implements StaticScope<JSType>
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getIndexOfSymbol(SymbolTable.Symbol sym)
Gets a unique index for the symbol in this scope.SymbolTable.Symbol
getOwnSlot(java.lang.String name)
LikegetSlot
but does not recurse into parent scopes.SymbolTable.SymbolScope
getParentScope()
Returns the scope enclosing this one or null if none.SymbolTable.Symbol
getQualifiedSlot(java.lang.String name)
Get the slot for a fully-qualified name (e.g., "a.b.c") by trying to find property scopes at each part of the path.Node
getRootNode()
Returns the root node associated with this scope.int
getScopeDepth()
SymbolTable.Symbol
getSlot(java.lang.String name)
Returns any defined slot within this scope for this name.JSType
getTypeOfThis()
Returns the expected type ofthis
in the current scope.boolean
isDocScope()
Returns whether this is a doc scope.boolean
isGlobalScope()
boolean
isLexicalScope()
boolean
isPropertyScope()
java.lang.String
toString()
-
-
-
Method Detail
-
getIndexOfSymbol
public int getIndexOfSymbol(SymbolTable.Symbol sym)
Gets a unique index for the symbol in this scope.
-
getRootNode
public Node getRootNode()
Description copied from interface:StaticScope
Returns the root node associated with this scope. May be null.- Specified by:
getRootNode
in interfaceStaticScope<JSType>
-
getParentScope
public SymbolTable.SymbolScope getParentScope()
Description copied from interface:StaticScope
Returns the scope enclosing this one or null if none.- Specified by:
getParentScope
in interfaceStaticScope<JSType>
-
getQualifiedSlot
public SymbolTable.Symbol getQualifiedSlot(java.lang.String name)
Get the slot for a fully-qualified name (e.g., "a.b.c") by trying to find property scopes at each part of the path.
-
getSlot
public SymbolTable.Symbol getSlot(java.lang.String name)
Description copied from interface:StaticScope
Returns any defined slot within this scope for this name. This call continues searching through parent scopes if a slot with this name is not found in the current scope.- Specified by:
getSlot
in interfaceStaticScope<JSType>
- Parameters:
name
- The name of the variable slot to look up.- Returns:
- The defined slot for the variable, or
null
if no definition exists.
-
getOwnSlot
public SymbolTable.Symbol getOwnSlot(java.lang.String name)
Description copied from interface:StaticScope
LikegetSlot
but does not recurse into parent scopes.- Specified by:
getOwnSlot
in interfaceStaticScope<JSType>
-
getTypeOfThis
public JSType getTypeOfThis()
Description copied from interface:StaticScope
Returns the expected type ofthis
in the current scope.- Specified by:
getTypeOfThis
in interfaceStaticScope<JSType>
-
isGlobalScope
public boolean isGlobalScope()
-
isDocScope
public boolean isDocScope()
Returns whether this is a doc scope. A doc scope is a table for symbols that are documented solely within a JSDoc comment.
-
isPropertyScope
public boolean isPropertyScope()
-
isLexicalScope
public boolean isLexicalScope()
-
getScopeDepth
public int getScopeDepth()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-