com.google.javascript.jscomp
Class SymbolTable.SymbolScope

java.lang.Object
  extended by com.google.javascript.jscomp.SymbolTable.SymbolScope
All Implemented Interfaces:
StaticScope<JSType>
Enclosing class:
SymbolTable

public static final class SymbolTable.SymbolScope
extends Object
implements StaticScope<JSType>


Method Summary
 int getIndexOfSymbol(SymbolTable.Symbol sym)
          Gets a unique index for the symbol in this scope.
 SymbolTable.Symbol getOwnSlot(String name)
          Like getSlot but does not recurse into parent scopes.
 SymbolTable.SymbolScope getParentScope()
          Returns the scope enclosing this one or null if none.
 SymbolTable.Symbol getQualifiedSlot(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(String name)
          Returns any defined slot within this scope for this name.
 JSType getTypeOfThis()
          Returns the expected type of this in the current scope.
 boolean isDocScope()
          Returns whether this is a doc scope.
 boolean isGlobalScope()
           
 boolean isLexicalScope()
           
 boolean isPropertyScope()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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 interface StaticScope<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 interface StaticScope<JSType>

getQualifiedSlot

public SymbolTable.Symbol getQualifiedSlot(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(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 interface StaticScope<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(String name)
Description copied from interface: StaticScope
Like getSlot but does not recurse into parent scopes.

Specified by:
getOwnSlot in interface StaticScope<JSType>

getTypeOfThis

public JSType getTypeOfThis()
Description copied from interface: StaticScope
Returns the expected type of this in the current scope.

Specified by:
getTypeOfThis in interface StaticScope<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 String toString()
Overrides:
toString in class Object