edu.mit.csail.sdg.squander.engine.Heap2Bounds Class Reference
[Engine]

Collaboration diagram for edu.mit.csail.sdg.squander.engine.Heap2Bounds:
Collaboration graph
[legend]

List of all members.

Classes

class  Pair

Public Member Functions

 Heap2Bounds (JavaScene javaScene)
int minBW ()
Map< String, ObjTupleSetbounds ()
ObjTupleSet getBound (ForgeVariable var)
Set< Object > reachableObjects ()
void ensureAdequateIntBitWidth (int x)
void traverse (List< Pair > rootObjects)

Package Functions

void addBound (String varName, ObjTuple value)
void addBound (String varName, ObjTupleSet value)

Private Member Functions

void newObject (Object object, Unary[] actualTypeParams)
void visitPrimitive (Object obj)
void ensureAdequateBitWidth (final Object obj)

Private Attributes

final JavaScene javaScene
final Set< Object > visited = new IdentityHashSet<Object>()
Map< String, ObjTupleSetvarName2Const = new HashMap<String, ObjTupleSet>()
int rbw = GlobalOptions.INSTANCE.min_bitwidth

Detailed Description

Used to convert the heap to bounds for fields, that are going to be used later for solving.

Author:
Aleksandar Milicevic

Definition at line 39 of file Heap2Bounds.java.


Constructor & Destructor Documentation

edu.mit.csail.sdg.squander.engine.Heap2Bounds.Heap2Bounds ( JavaScene  javaScene  ) 

Definition at line 84 of file Heap2Bounds.java.


Member Function Documentation

void edu.mit.csail.sdg.squander.engine.Heap2Bounds.addBound ( String  varName,
ObjTupleSet  value 
) [package]
void edu.mit.csail.sdg.squander.engine.Heap2Bounds.addBound ( String  varName,
ObjTuple  value 
) [package]
Map<String, ObjTupleSet> edu.mit.csail.sdg.squander.engine.Heap2Bounds.bounds (  ) 
void edu.mit.csail.sdg.squander.engine.Heap2Bounds.ensureAdequateBitWidth ( final Object  obj  )  [private]
void edu.mit.csail.sdg.squander.engine.Heap2Bounds.ensureAdequateIntBitWidth ( int  x  ) 
ObjTupleSet edu.mit.csail.sdg.squander.engine.Heap2Bounds.getBound ( ForgeVariable  var  ) 

Returns the exact bounds for the field represented with the given Forge variable

Definition at line 93 of file Heap2Bounds.java.

References edu.mit.csail.sdg.squander.engine.Heap2Bounds.varName2Const.

Referenced by edu.mit.csail.sdg.squander.engine.SquanderEval2.visitVariable().

int edu.mit.csail.sdg.squander.engine.Heap2Bounds.minBW (  ) 
void edu.mit.csail.sdg.squander.engine.Heap2Bounds.newObject ( Object  object,
Unary[]  actualTypeParams 
) [private]
Set<Object> edu.mit.csail.sdg.squander.engine.Heap2Bounds.reachableObjects (  ) 

Returns all reachable objects found on the heap

Definition at line 95 of file Heap2Bounds.java.

References edu.mit.csail.sdg.squander.engine.Heap2Bounds.visited.

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

void edu.mit.csail.sdg.squander.engine.Heap2Bounds.traverse ( List< Pair >  rootObjects  ) 
void edu.mit.csail.sdg.squander.engine.Heap2Bounds.visitPrimitive ( Object  obj  )  [private]

Member Data Documentation

int edu.mit.csail.sdg.squander.engine.Heap2Bounds.rbw = GlobalOptions.INSTANCE.min_bitwidth [private]
final Set<Object> edu.mit.csail.sdg.squander.engine.Heap2Bounds.visited = new IdentityHashSet<Object>() [private]

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