Package ptolemy.domains.ptera.kernel
Class VariableScope
- java.lang.Object
-
- ptolemy.data.expr.ModelScope
-
- ptolemy.domains.ptera.kernel.VariableScope
-
- All Implemented Interfaces:
ParserScope
public class VariableScope extends ModelScope
The parser scope that resolves names as attributes of a given container and those of a superscope. To resolve a name, it first tries to find an attribute belonging to the container given to its constructor. If not found, it passes the name resolution request to the superscope, if given.- Since:
- Ptolemy II 8.0
- Version:
- $Id$
- Author:
- Thomas Huining Feng
- Pt.AcceptedRating:
- Red (tfeng)
- Pt.ProposedRating:
- Yellow (tfeng)
-
-
Constructor Summary
Constructors Constructor Description VariableScope(NamedObj container)
Construct a scope for the given container without a superscope.VariableScope(NamedObj container, ParserScope superScope)
Construct a scope for the given container with a superscope.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Token
get(java.lang.String name)
Look up and return the value with the specified name in the scope.Type
getType(java.lang.String name)
Look up and return the type of the value with the specified name in the scope.InequalityTerm
getTypeTerm(java.lang.String name)
Look up and return the type term for the specified name in the scope.java.util.Set<?>
identifierSet()
Return a list of names corresponding to the identifiers defined by this scope.-
Methods inherited from class ptolemy.data.expr.ModelScope
getAllScopedObjectNames, getAllScopedVariableNames, getScopedAttribute, getScopedObject, getScopedVariable, preferenceValue
-
-
-
-
Constructor Detail
-
VariableScope
public VariableScope(NamedObj container)
Construct a scope for the given container without a superscope.- Parameters:
container
- The container in which attributes are looked up.
-
VariableScope
public VariableScope(NamedObj container, ParserScope superScope)
Construct a scope for the given container with a superscope.- Parameters:
container
- The container in which attributes are looked up.superScope
- If not null, the scope to search if no attribute of a given name can be found in the container.
-
-
Method Detail
-
get
public Token get(java.lang.String name) throws IllegalActionException
Look up and return the value with the specified name in the scope. Return null if the name is not defined in this scope.- Parameters:
name
- The name of the variable to be looked up.- 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 value with the specified name in the scope. Return null if the name is not defined in this scope.- Parameters:
name
- The name of the variable to be looked up.- 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 specified name in the scope. Return null if the name is not defined in this scope, or is a constant type.- Parameters:
name
- The name of the variable to be looked up.- 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.- Returns:
- A list of names corresponding to the identifiers defined by this scope.
- Throws:
IllegalActionException
- If constructing the list causes it.
-
-