chord.analyses.inst
Class RelMobjVarAsgnInst

java.lang.Object
  extended by chord.bddbddb.Rel
      extended by chord.project.analyses.ProgramRel
          extended by chord.analyses.inst.RelMobjVarAsgnInst
All Implemented Interfaces:
ICastInstVisitor, IClassVisitor, IMethodVisitor, IMoveInstVisitor, IPhiInstVisitor, ITask

public class RelMobjVarAsgnInst
extends ProgramRel
implements IMoveInstVisitor, IPhiInstVisitor, ICastInstVisitor

Relation containing each tuple (m,v1,v2) such that method m contains a statement of the form v1 = v2. Includes cast and phi instructions as moves.

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
RelMobjVarAsgnInst()
           
 
Method Summary
 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 visitCastInst(joeq.Compiler.Quad.Quad q)
          Visits all cast assignment statements in all methods in the program.
 void visitMoveInst(joeq.Compiler.Quad.Quad q)
          Visits all copy assignment statements in all methods in the program.
 void visitPhiInst(joeq.Compiler.Quad.Quad q)
          Visits all phi statements in all methods in the program.
 
Methods inherited from class chord.project.analyses.ProgramRel
fill, init, 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

RelMobjVarAsgnInst

public RelMobjVarAsgnInst()
Method Detail

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.

visitMoveInst

public void visitMoveInst(joeq.Compiler.Quad.Quad q)
Description copied from interface: IMoveInstVisitor
Visits all copy assignment statements in all methods in the program.

Specified by:
visitMoveInst in interface IMoveInstVisitor
Parameters:
q - A copy assignment statement.

visitPhiInst

public void visitPhiInst(joeq.Compiler.Quad.Quad q)
Description copied from interface: IPhiInstVisitor
Visits all phi statements in all methods in the program.

Specified by:
visitPhiInst in interface IPhiInstVisitor
Parameters:
q - A copy assignment statement.

visitCastInst

public void visitCastInst(joeq.Compiler.Quad.Quad q)
Description copied from interface: ICastInstVisitor
Visits all cast assignment statements in all methods in the program.

Specified by:
visitCastInst in interface ICastInstVisitor
Parameters:
q - A cast assignment statement.