com.google.javascript.rhino.jstype
Interface StaticScope<T>

Type Parameters:
T - The type of information stored about the slot
All Known Implementing Classes:
AbstractStaticScope, EnumElementType, EnumType, FunctionType, MapBasedScope, NoObjectType, NoType, ObjectType, Scope, SymbolTable.SymbolScope, TemplateType, UnknownType

public interface StaticScope<T>

The StaticScope interface must be implemented by any object that defines variables for the purposes of static analysis. It is distinguished from the Scriptable class that Rhino normally uses to represent a runtime scope.


Method Summary
 StaticSlot<T> getOwnSlot(String name)
          Like getSlot but does not recurse into parent scopes.
 StaticScope<T> getParentScope()
          Returns the scope enclosing this one or null if none.
 Node getRootNode()
          Returns the root node associated with this scope.
 StaticSlot<T> getSlot(String name)
          Returns any defined slot within this scope for this name.
 T getTypeOfThis()
          Returns the expected type of this in the current scope.
 

Method Detail

getRootNode

Node getRootNode()
Returns the root node associated with this scope. May be null.


getParentScope

StaticScope<T> getParentScope()
Returns the scope enclosing this one or null if none.


getSlot

StaticSlot<T> getSlot(String name)
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.

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

StaticSlot<T> getOwnSlot(String name)
Like getSlot but does not recurse into parent scopes.


getTypeOfThis

T getTypeOfThis()
Returns the expected type of this in the current scope.