com.google.javascript.rhino.testing
Class MapBasedScope

java.lang.Object
  extended by com.google.javascript.rhino.testing.MapBasedScope
All Implemented Interfaces:
StaticScope<JSType>

public class MapBasedScope
extends Object
implements StaticScope<JSType>

A scope based on a simple hashmap.


Constructor Summary
MapBasedScope(Map<String,? extends JSType> namesToTypes)
           
 
Method Summary
static MapBasedScope emptyScope()
           
 StaticSlot<JSType> getOwnSlot(String name)
          Like getSlot but does not recurse into parent scopes.
 StaticScope<JSType> getParentScope()
          Returns the scope enclosing this one or null if none.
 StaticSlot<JSType> 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MapBasedScope

public MapBasedScope(Map<String,? extends JSType> namesToTypes)
Method Detail

emptyScope

public static MapBasedScope emptyScope()

getParentScope

public StaticScope<JSType> getParentScope()
Description copied from interface: StaticScope
Returns the scope enclosing this one or null if none.

Specified by:
getParentScope in interface StaticScope<JSType>

getSlot

public StaticSlot<JSType> 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 StaticSlot<JSType> 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>