ptolemy.codegen.kernel
Class CodeGeneratorHelper.VariableScope

java.lang.Object
  extended by ptolemy.data.expr.ModelScope
      extended by ptolemy.codegen.kernel.CodeGeneratorHelper.VariableScope
All Implemented Interfaces:
ParserScope
Direct Known Subclasses:
FSMActor.PortScope, FSMActor.PortScope, FSMActor.PortScope
Enclosing class:
CodeGeneratorHelper

protected class CodeGeneratorHelper.VariableScope
extends ModelScope

This class implements a scope, which is used to generate the parsed expressions in target language.


Field Summary
private  Variable _variable
          If _variable is not null, then the helper scope created is for parsing the expression specified for this variable and generating the corresponding code in target language.
 
Constructor Summary
CodeGeneratorHelper.VariableScope()
          Construct a scope consisting of the variables of the containing actor and its containers and their scope-extending attributes.
CodeGeneratorHelper.VariableScope(Variable variable)
          Construct a scope consisting of the variables of the container of the given instance of Variable and its containers and their scope-extending attributes.
 
Method Summary
 Token get(java.lang.String name)
          Look up and return the macro or expression in the target language corresponding to the specified name in the scope.
 Type getType(java.lang.String name)
          Look up and return the type of the attribute 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 the list of identifiers within the scope.
 java.lang.String toString()
           
 
Methods inherited from class ptolemy.data.expr.ModelScope
getAllScopedObjectNames, getAllScopedVariableNames, getScopedAttribute, getScopedObject, getScopedVariable, preferenceValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_variable

private Variable _variable
If _variable is not null, then the helper scope created is for parsing the expression specified for this variable and generating the corresponding code in target language.

Constructor Detail

CodeGeneratorHelper.VariableScope

public CodeGeneratorHelper.VariableScope()
Construct a scope consisting of the variables of the containing actor and its containers and their scope-extending attributes.


CodeGeneratorHelper.VariableScope

public CodeGeneratorHelper.VariableScope(Variable variable)
Construct a scope consisting of the variables of the container of the given instance of Variable and its containers and their scope-extending attributes.

Parameters:
variable - The variable whose expression is under code generation using this scope.
Method Detail

get

public Token get(java.lang.String name)
          throws IllegalActionException
Look up and return the macro or expression in the target language corresponding to the specified name in the scope.

Parameters:
name - The given name string.
Returns:
The macro or expression with the specified name in the scope.
Throws:
IllegalActionException - If thrown while getting buffer sizes or creating ObjectToken.

getType

public Type getType(java.lang.String name)
             throws IllegalActionException
Look up and return the type of the attribute with the specified name in the scope. Return null if such an attribute does not exist.

Parameters:
name - The name of the attribute to look up.
Returns:
The attribute with the specified 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 type term to look 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 the list of identifiers within the scope.

Returns:
The list of variable names within the scope.
Throws:
IllegalActionException - If there is a problem getting the identifier set from the variable.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object