edu.mit.csail.sdg.squander.spec.ForgeScene Class Reference
[Specification]

Collaboration diagram for edu.mit.csail.sdg.squander.spec.ForgeScene:
Collaboration graph
[legend]

List of all members.

Classes

class  ArrayVars
class  MyEnv

Public Member Functions

 ForgeScene (JavaScene javaScene)
void createLocalsForMethod (JMethod m)
LocalVariable newThisVariable (JType.Unary type)
ForgeEnv getEnv (LocalVariable thisVar)
ForgeProgram program ()
LocalVariable thisVar ()
LocalVariable returnVar ()
LocalVariable throwVar ()
LocalVariable[] args ()
InstanceLiteral nullLit ()
InstanceDomain nullType ()
Set< InstanceDomain > domains ()
GlobalVariable global (String name)
GlobalVariable global (JField fld)
Collection< GlobalVariable > consts ()
boolean isConst (GlobalVariable var)
ForgeVariable findVar (String name)
Set< JFieldfields (GlobalVariable var)
boolean isSpecField (GlobalVariable var)
boolean isOneField (GlobalVariable var)
Collection<?extends
GlobalVariable > 
nonAbstractSpecFields ()
boolean isPureAbstractSpecField (GlobalVariable var)
ForgeDomain findDomain (JType.Unary clz)
ForgeDomain ensureDomain (JType.Unary clz)
JType.Unary findClassForDomain (ForgeDomain dom)
void ensureInt (int i)
Set< Integer > ints ()
boolean isEnsureAllInts ()
void ensureAllInts (boolean b)
Collection< ForgeType > numTypes ()
Set< ForgeType.Unary > usedTypes ()
GlobalVariable ensureGlobal (JField field)
GlobalVariable ensureConst (String name)
InstanceLiteral createLiteral (Object object)
int numLiteralsFor (InstanceDomain id)
ForgeType.Unary typeForCls (JType.Unary cls, boolean includeNull)
Object objForLit (String litName)
ForgeLiteral forgeLitForObj (Object obj)
InstanceLiteral instLitForObj (Object obj)
InstanceLiteral litForName (String name)

Private Member Functions

void addUsedType (ForgeType.Unary t)
ForgeType getRangeForField (JField field)
ForgeType convertToForgeType (JType jtype, boolean includeNull)
GlobalVariable createGlobalVar (JField field, String name)

Private Attributes

final Counter< JType.Unary > counter = new Counter<JType.Unary>()
final Counter< InstanceDomain > litCnt = new Counter<InstanceDomain>()
final JavaScene javaScene
final ForgeProgram program
final InstanceDomain nullType
final InstanceLiteral nullLit
final IdentityHashMap< Object,
InstanceLiteral > 
obj2lit = new IdentityHashMap<Object, InstanceLiteral>()
final HashMap< String,
InstanceLiteral > 
str2lit = new HashMap<String, InstanceLiteral>()
final Map< String, Object > lit2obj = new HashMap<String, Object>()
final Map< JType.Unary,
ForgeDomain > 
cls2dom = new HashMap<JType.Unary, ForgeDomain>()
final Map< String, GlobalVariable > globals = new HashMap<String, GlobalVariable>()
final Map< String, LocalVariable > locals = new HashMap<String, LocalVariable>()
final Map< String, GlobalVariable > consts = new HashMap<String, GlobalVariable>()
final Map< GlobalVariable, Set
< JField > > 
var2fld = new HashMap<GlobalVariable, Set<JField>>()
final Set< Integer > ints = new HashSet<Integer>(64)
boolean ensureAllInts = false
Map< String, ForgeType > numTypes = new HashMap<String, ForgeType>()
Map< String, ForgeType.Unary > usedTypes = new HashMap<String, ForgeType.Unary>()
LocalVariable throwVar
LocalVariable returnVar
LocalVariable thisVar
LocalVariable[] args = new LocalVariable[0]

Detailed Description

Definition at line 35 of file ForgeScene.java.


Constructor & Destructor Documentation

edu.mit.csail.sdg.squander.spec.ForgeScene.ForgeScene ( JavaScene  javaScene  ) 

Member Function Documentation

void edu.mit.csail.sdg.squander.spec.ForgeScene.addUsedType ( ForgeType.Unary  t  )  [private]
Collection<GlobalVariable> edu.mit.csail.sdg.squander.spec.ForgeScene.consts (  ) 
ForgeType edu.mit.csail.sdg.squander.spec.ForgeScene.convertToForgeType ( JType  jtype,
boolean  includeNull 
) [private]
GlobalVariable edu.mit.csail.sdg.squander.spec.ForgeScene.createGlobalVar ( JField  field,
String  name 
) [private]
InstanceLiteral edu.mit.csail.sdg.squander.spec.ForgeScene.createLiteral ( Object  object  ) 
void edu.mit.csail.sdg.squander.spec.ForgeScene.createLocalsForMethod ( JMethod  m  ) 
Set<InstanceDomain> edu.mit.csail.sdg.squander.spec.ForgeScene.domains (  ) 
GlobalVariable edu.mit.csail.sdg.squander.spec.ForgeScene.ensureConst ( String  name  ) 
ForgeDomain edu.mit.csail.sdg.squander.spec.ForgeScene.ensureDomain ( JType.Unary  clz  ) 
GlobalVariable edu.mit.csail.sdg.squander.spec.ForgeScene.ensureGlobal ( JField  field  ) 
void edu.mit.csail.sdg.squander.spec.ForgeScene.ensureInt ( int  i  ) 
Set<JField> edu.mit.csail.sdg.squander.spec.ForgeScene.fields ( GlobalVariable  var  ) 
JType.Unary edu.mit.csail.sdg.squander.spec.ForgeScene.findClassForDomain ( ForgeDomain  dom  ) 
ForgeDomain edu.mit.csail.sdg.squander.spec.ForgeScene.findDomain ( JType.Unary  clz  ) 
ForgeVariable edu.mit.csail.sdg.squander.spec.ForgeScene.findVar ( String  name  ) 
ForgeLiteral edu.mit.csail.sdg.squander.spec.ForgeScene.forgeLitForObj ( Object  obj  ) 
ForgeEnv edu.mit.csail.sdg.squander.spec.ForgeScene.getEnv ( LocalVariable  thisVar  ) 
ForgeType edu.mit.csail.sdg.squander.spec.ForgeScene.getRangeForField ( JField  field  )  [private]
GlobalVariable edu.mit.csail.sdg.squander.spec.ForgeScene.global ( JField  fld  ) 
GlobalVariable edu.mit.csail.sdg.squander.spec.ForgeScene.global ( String  name  ) 
InstanceLiteral edu.mit.csail.sdg.squander.spec.ForgeScene.instLitForObj ( Object  obj  ) 

returns only used ints

Definition at line 244 of file ForgeScene.java.

Referenced by edu.mit.csail.sdg.squander.spec.ForgeScene.ensureInt().

boolean edu.mit.csail.sdg.squander.spec.ForgeScene.isConst ( GlobalVariable  var  ) 
boolean edu.mit.csail.sdg.squander.spec.ForgeScene.isEnsureAllInts (  ) 
boolean edu.mit.csail.sdg.squander.spec.ForgeScene.isOneField ( GlobalVariable  var  ) 
boolean edu.mit.csail.sdg.squander.spec.ForgeScene.isPureAbstractSpecField ( GlobalVariable  var  ) 
boolean edu.mit.csail.sdg.squander.spec.ForgeScene.isSpecField ( GlobalVariable  var  ) 
InstanceLiteral edu.mit.csail.sdg.squander.spec.ForgeScene.litForName ( String  name  ) 
LocalVariable edu.mit.csail.sdg.squander.spec.ForgeScene.newThisVariable ( JType.Unary  type  ) 
Collection<? extends GlobalVariable> edu.mit.csail.sdg.squander.spec.ForgeScene.nonAbstractSpecFields (  ) 
int edu.mit.csail.sdg.squander.spec.ForgeScene.numLiteralsFor ( InstanceDomain  id  ) 
Object edu.mit.csail.sdg.squander.spec.ForgeScene.objForLit ( String  litName  ) 

Definition at line 158 of file ForgeScene.java.

ForgeType.Unary edu.mit.csail.sdg.squander.spec.ForgeScene.typeForCls ( JType.Unary  cls,
boolean  includeNull 
)

Member Data Documentation

LocalVariable [] edu.mit.csail.sdg.squander.spec.ForgeScene.args = new LocalVariable[0] [private]
final Map<JType.Unary, ForgeDomain> edu.mit.csail.sdg.squander.spec.ForgeScene.cls2dom = new HashMap<JType.Unary, ForgeDomain>() [private]
final Map<String, GlobalVariable> edu.mit.csail.sdg.squander.spec.ForgeScene.consts = new HashMap<String, GlobalVariable>() [private]
final Counter<JType.Unary> edu.mit.csail.sdg.squander.spec.ForgeScene.counter = new Counter<JType.Unary>() [private]
final Map<String, GlobalVariable> edu.mit.csail.sdg.squander.spec.ForgeScene.globals = new HashMap<String, GlobalVariable>() [private]
final Set<Integer> edu.mit.csail.sdg.squander.spec.ForgeScene.ints = new HashSet<Integer>(64) [private]
final Map<String, Object> edu.mit.csail.sdg.squander.spec.ForgeScene.lit2obj = new HashMap<String, Object>() [private]

Keys are sometimes ForgeAtom and sometimes InstanceLiteral. We use Strings to abstract these to a common representation.

Definition at line 66 of file ForgeScene.java.

Referenced by edu.mit.csail.sdg.squander.spec.ForgeScene.createLiteral(), edu.mit.csail.sdg.squander.spec.ForgeScene.ForgeScene(), and edu.mit.csail.sdg.squander.spec.ForgeScene.objForLit().

final Counter<InstanceDomain> edu.mit.csail.sdg.squander.spec.ForgeScene.litCnt = new Counter<InstanceDomain>() [private]
final Map<String, LocalVariable> edu.mit.csail.sdg.squander.spec.ForgeScene.locals = new HashMap<String, LocalVariable>() [private]

Maps local variable names to local variables (e.g. thisVar, throwVar, returnVar, args)

Definition at line 74 of file ForgeScene.java.

Referenced by edu.mit.csail.sdg.squander.spec.ForgeScene.createLocalsForMethod(), edu.mit.csail.sdg.squander.spec.ForgeScene.findVar(), and edu.mit.csail.sdg.squander.spec.ForgeScene.getEnv().

final InstanceLiteral edu.mit.csail.sdg.squander.spec.ForgeScene.nullLit [private]

Definition at line 54 of file ForgeScene.java.

Map<String, ForgeType> edu.mit.csail.sdg.squander.spec.ForgeScene.numTypes = new HashMap<String, ForgeType>() [private]

types whose cardinality is mentioned in the spec

Definition at line 87 of file ForgeScene.java.

Referenced by edu.mit.csail.sdg.squander.engine.ForgeConverter.finish().

final IdentityHashMap<Object, InstanceLiteral> edu.mit.csail.sdg.squander.spec.ForgeScene.obj2lit = new IdentityHashMap<Object, InstanceLiteral>() [private]

Maps memory addresses to Forge InstanceLiterals.

Definition at line 58 of file ForgeScene.java.

Referenced by edu.mit.csail.sdg.squander.spec.ForgeScene.createLiteral(), and edu.mit.csail.sdg.squander.spec.ForgeScene.instLitForObj().

final HashMap<String, InstanceLiteral> edu.mit.csail.sdg.squander.spec.ForgeScene.str2lit = new HashMap<String, InstanceLiteral>() [private]

Definition at line 91 of file ForgeScene.java.

Referenced by edu.mit.csail.sdg.squander.spec.Spec.wellformedPost().

Map<String, ForgeType.Unary> edu.mit.csail.sdg.squander.spec.ForgeScene.usedTypes = new HashMap<String, ForgeType.Unary>() [private]
final Map<GlobalVariable, Set<JField> > edu.mit.csail.sdg.squander.spec.ForgeScene.var2fld = new HashMap<GlobalVariable, Set<JField>>() [private]

The documentation for this class was generated from the following file:
Generated by  doxygen 1.6.2-20100208