chord.analyses.inst
Class RelPputStatFldInst

java.lang.Object
  extended by chord.bddbddb.Rel
      extended by chord.project.analyses.ProgramRel
          extended by chord.analyses.inst.RelPputStatFldInst
All Implemented Interfaces:
IClassVisitor, IHeapInstVisitor, IMethodVisitor, ITask

public class RelPputStatFldInst
extends ProgramRel
implements IHeapInstVisitor

Relation containing each tuple (p,f,v) such that the statement at program point p is of the form f = v.

Author:
Mayur Naik (mhn@cs.stanford.edu)

Nested Class Summary
 
Nested classes/interfaces inherited from class chord.bddbddb.Rel
Rel.AryNIterable, Rel.HextIterable<T0,T1,T2,T3,T4,T5>, Rel.IntAryNIterable, Rel.IntHextIterable, Rel.IntPairIterable, Rel.IntPentIterable, Rel.IntQuadIterable, Rel.IntTrioIterable, Rel.PairIterable<T0,T1>, Rel.PentIterable<T0,T1,T2,T3,T4>, Rel.QuadIterable<T0,T1,T2,T3>, Rel.RelView, Rel.SelfIterable<T>, Rel.TrioIterable<T0,T1,T2>, Rel.TupleIterator<T>
 
Field Summary
 
Fields inherited from class chord.project.analyses.ProgramRel
consumes
 
Fields inherited from class chord.bddbddb.Rel
bdd, domBdds, domIdxs, doms, factory, iterBdd, name, numDoms, sign
 
Constructor Summary
RelPputStatFldInst()
           
 
Method Summary
 void init()
           
 void visit(joeq.Class.jq_Class c)
          Visits all classes in the program.
 void visit(joeq.Class.jq_Method m)
          Visits all methods of all classes in the program.
 void visitHeapInst(joeq.Compiler.Quad.Quad q)
          Visits all heap accessing statements in all methods in the program.
 
Methods inherited from class chord.project.analyses.ProgramRel
fill, load, print, run, run, save, skip, toString
 
Methods inherited from class chord.bddbddb.Rel
add, add, add, add, add, add, add, add, add, add, add, add, add, add, checkRange, checkRange, close, contains, contains, contains, contains, contains, contains, contains, contains, contains, getAry1ValTuples, getAry2IntTuples, getAry2ValTuples, getAry3IntTuples, getAry3ValTuples, getAry4IntTuples, getAry4ValTuples, getAry5IntTuples, getAry5ValTuples, getAry6IntTuples, getAry6ValTuples, getAryNIntTuples, getAryNValTuples, getDoms, getName, getSign, getView, initialize, isOpen, load, one, print, print, remove, remove, remove, remove, save, setDoms, setName, setSign, setSign, setSign, size, zero
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface chord.project.ITask
getName, setName
 

Constructor Detail

RelPputStatFldInst

public RelPputStatFldInst()
Method Detail

init

public void init()
Overrides:
init in class ProgramRel

visit

public void visit(joeq.Class.jq_Class c)
Description copied from interface: IClassVisitor
Visits all classes in the program.

Specified by:
visit in interface IClassVisitor
Parameters:
c - A class.

visit

public void visit(joeq.Class.jq_Method m)
Description copied from interface: IMethodVisitor
Visits all methods of all classes in the program.

Specified by:
visit in interface IMethodVisitor
Parameters:
m - A method.

visitHeapInst

public void visitHeapInst(joeq.Compiler.Quad.Quad q)
Description copied from interface: IHeapInstVisitor
Visits all heap accessing statements in all methods in the program.

Specified by:
visitHeapInst in interface IHeapInstVisitor
Parameters:
q - A heap accessing statement.