chord.analyses.inst
Class RelMgetClassInvkInst

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

public class RelMgetClassInvkInst
extends ProgramRel
implements IInvokeInstVisitor

Relation containing each tuple (m,i) such that method m contains a statement i invoking instance method getClass() defined in class java.lang.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
RelMgetClassInvkInst()
           
 
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 visitInvokeInst(joeq.Compiler.Quad.Quad q)
          Visits all method invocation 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

RelMgetClassInvkInst

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

visitInvokeInst

public void visitInvokeInst(joeq.Compiler.Quad.Quad q)
Description copied from interface: IInvokeInstVisitor
Visits all method invocation statements in all methods in the program.

Specified by:
visitInvokeInst in interface IInvokeInstVisitor
Parameters:
q - A method call statement.