ptolemy.copernicus.java
Class DataUtilities.ActorCodeGenerationScope

java.lang.Object
  extended by ptolemy.data.expr.ModelScope
      extended by ptolemy.copernicus.java.DataUtilities.ActorCodeGenerationScope
All Implemented Interfaces:
CodeGenerationScope, ParserScope
Enclosing class:
DataUtilities

public static class DataUtilities.ActorCodeGenerationScope
extends ModelScope
implements CodeGenerationScope

An inner class used by the generateExpressionCode() method. This class creates the correct code to resolve identifier values when they are discovered in traversing the parse tree.


Constructor Summary
DataUtilities.ActorCodeGenerationScope(Entity entity, soot.SootClass entityClass, java.util.Map nameToFieldOrLocal, java.util.Map nameToType, soot.jimple.JimpleBody body, soot.Unit insertPoint)
           
 
Method Summary
 Token get(java.lang.String name)
          Look up and return the value with the specified name in the scope.
 soot.Local getLocal(java.lang.String name)
          Look up and return the type of 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
getAllScopedVariableNames, getScopedVariable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DataUtilities.ActorCodeGenerationScope

public DataUtilities.ActorCodeGenerationScope(Entity entity,
                                              soot.SootClass entityClass,
                                              java.util.Map nameToFieldOrLocal,
                                              java.util.Map nameToType,
                                              soot.jimple.JimpleBody body,
                                              soot.Unit insertPoint)
Method Detail

get

public Token get(java.lang.String name)
          throws IllegalActionException
Description copied from interface: ParserScope
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 interface ParserScope
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.

getLocal

public soot.Local getLocal(java.lang.String name)
                    throws IllegalActionException
Description copied from interface: CodeGenerationScope
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:
getLocal in interface CodeGenerationScope
Parameters:
name - The name 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
Description copied from interface: ParserScope
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 interface ParserScope
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
Description copied from interface: ParserScope
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 interface ParserScope
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()
Description copied from interface: ParserScope
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 list of names corresponding to the identifiers defined by this scope.