Package ptolemy.actor.gt
Class GTParameter.Scope
- java.lang.Object
-
- ptolemy.actor.gt.GTParameter.Scope
-
- All Implemented Interfaces:
ParserScope
- Enclosing class:
- GTParameter
public static class GTParameter.Scope extends java.lang.Object implements ParserScope
A scope to be used inGTParameter.Evaluator
to resolve names with a pattern and a match result.- Since:
- Ptolemy II 7.1
- Version:
- $Id$
- Author:
- Thomas Huining Feng
- Pt.AcceptedRating:
- Red (tfeng)
- Pt.ProposedRating:
- Yellow (tfeng)
-
-
Field Summary
Fields Modifier and Type Field Description protected MatchResult
_matchResult
The match result.protected Pattern
_pattern
The pattern.protected ParserScope
_superscope
The scope used to resolve a name if it cannot be resolved in this scope.
-
Constructor Summary
Constructors Constructor Description Scope(Pattern pattern, MatchResult matchResult, ParserScope superscope)
Construct a scope.
-
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.
-
-
-
Field Detail
-
_matchResult
protected MatchResult _matchResult
The match result.
-
_pattern
protected Pattern _pattern
The pattern.
-
_superscope
protected ParserScope _superscope
The scope used to resolve a name if it cannot be resolved in this scope.
-
-
Constructor Detail
-
Scope
public Scope(Pattern pattern, MatchResult matchResult, ParserScope superscope)
Construct a scope.- Parameters:
pattern
- The pattern.matchResult
- The match result for the match between the pattern and a host model.superscope
- The scope to fall back on if a name cannot be resolved.
-
-
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.- Specified by:
get
in interfaceParserScope
- 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.- Specified by:
getType
in interfaceParserScope
- 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.- Specified by:
getTypeTerm
in interfaceParserScope
- 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.- Specified by:
identifierSet
in interfaceParserScope
- Returns:
- A list of names corresponding to the identifiers defined by this scope.
- Throws:
IllegalActionException
- If constructing the list causes it.
-
-