ptolemy.actor.ptalon
Class AbstractPtalonEvaluator.PtalonExpressionScope

java.lang.Object
  extended by ptolemy.actor.ptalon.AbstractPtalonEvaluator.PtalonExpressionScope
All Implemented Interfaces:
ParserScope
Enclosing class:
AbstractPtalonEvaluator

protected class AbstractPtalonEvaluator.PtalonExpressionScope
extends java.lang.Object
implements ParserScope

FIXME comment


Field Summary
private  java.util.Map<java.lang.String,Token> _variables
          A map from variables to Tokens.
 
Constructor Summary
protected AbstractPtalonEvaluator.PtalonExpressionScope()
           
 
Method Summary
 void addVariable(java.lang.String name, Token value)
          Add the specified variable with the given value.
 Token get(java.lang.String name)
          Look up and return the value of the variable or parameter with the specified name in the scope.
 Type getType(java.lang.String name)
          Look up and return the type of the variable or parameter with the specified name in the scope.
 InequalityTerm getTypeTerm(java.lang.String name)
          Look up and return the type term for the variable or parameter with the specified name in the scope.
 java.util.Set identifierSet()
          Return a list of names corresponding to the identifiers defined by this scope.
 void removeVariable(java.lang.String name)
          Remove the specified variable from this scope.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_variables

private java.util.Map<java.lang.String,Token> _variables
A map from variables to Tokens.

Constructor Detail

AbstractPtalonEvaluator.PtalonExpressionScope

protected AbstractPtalonEvaluator.PtalonExpressionScope()
Method Detail

addVariable

public void addVariable(java.lang.String name,
                        Token value)
Add the specified variable with the given value.

Parameters:
name - The variable name.
value - The variable's value.

get

public Token get(java.lang.String name)
          throws IllegalActionException
Look up and return the value of the variable or parameter with the specified name in the scope. Return null if the name is not defined in this scope.

Specified by:
get in interface ParserScope
Parameters:
name - The name of the variable or parameter.
Returns:
The token associated with the given name in the scope.
Throws:
IllegalActionException - If a value in the scope exists with the given name, but cannot be evaluated.

getType

public Type getType(java.lang.String name)
             throws IllegalActionException
Look up and return the type of the variable or parameter with the specified name in the scope. Return null if the name is not defined in this scope.

Specified by:
getType in interface ParserScope
Parameters:
name - The name of the variable or parameter.
Returns:
The token associated with the given name in the scope.
Throws:
IllegalActionException - If a value in the scope exists with the given name, but cannot be evaluated.

getTypeTerm

public InequalityTerm getTypeTerm(java.lang.String name)
                           throws IllegalActionException
Look up and return the type term for the variable or parameter with the specified name in the scope. Return null if the name is not defined in this scope, or is a constant type.

Specified by:
getTypeTerm in interface ParserScope
Parameters:
name - The name of the variable or parameter.
Returns:
The InequalityTerm associated with the given name in the scope.
Throws:
IllegalActionException - If a value in the scope exists with the given name, but cannot be evaluated.

identifierSet

public java.util.Set identifierSet()
                            throws IllegalActionException
Return a list of names corresponding to the identifiers defined by this scope. If an identifier is returned in this list, then get() and getType() will return a value for the identifier. Note that generally speaking, this list is extremely expensive to compute, and users should avoid calling it. It is primarily used for debugging purposes.

Specified by:
identifierSet in interface ParserScope
Returns:
A set of identifier names.
Throws:
IllegalActionException - If constructing the list causes it.

removeVariable

public void removeVariable(java.lang.String name)
Remove the specified variable from this scope.

Parameters:
name - The name of this variable.