chord.analyses.var
Class RelVT

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

public class RelVT
extends ProgramRel
implements IMethodVisitor

Relation containing each tuple (v,t) such that local variable v of reference type has type t. If SSA is used (system property chord.ssa is set to true) then it is guaranteed that each local variable v has a unique type t. These types will usually be more precise than "Object".

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
RelVT()
           
 
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.
 
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

RelVT

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