chord.analyses.inst
Class RelMcheckCastInst

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

public class RelMcheckCastInst
extends ProgramRel
implements ICastInstVisitor

Relation containing each tuple (m,v1,t,v2) such that method m contains a statement of the form v1 = (t) v2.

Author:
Omer Tripp (omertrip@post.tau.ac.il)

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
RelMcheckCastInst()
           
 
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 visitCastInst(joeq.Compiler.Quad.Quad q)
          Visits all cast assignment 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

RelMcheckCastInst

public RelMcheckCastInst()
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.

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.