chord.project.analyses
Class ProgramRel

java.lang.Object
  extended by chord.bddbddb.Rel
      extended by chord.project.analyses.ProgramRel
All Implemented Interfaces:
ITask
Direct Known Subclasses:
RelAryElemE, RelAryNewInstIH, RelCHA, RelCheckExcludedT, RelClassT, RelClinitM, RelClinitTM, RelClsForNameIT, RelClsTH, RelEF, RelEV, RelExtraEntryPoints, RelHT, RelIinvkArg, RelIinvkArg0, RelIinvkRet, RelInitM, RelInstF, RelInstFldE, RelInstI, RelInstM, RelInterfaceT, RelLE, RelLI, RelLL, RelMcheckCastInst, RelMclsValAsgnInst, RelME, RelMgetClassInvkInst, RelMgetInstFldInst, RelMgetStatFldInst, RelMH, RelMI, RelML, RelMmethArg, RelMmethRet, RelMobjValAsgnInst, RelMobjVarAsgnInst, RelMP, RelMPhead, RelMPtail, RelMputInstFldInst, RelMputStatFldInst, RelMV, RelPE, RelPgetInstFldInst, RelPgetStatFldInst, RelPI, RelPL, RelPobjValAsgnInst, RelPobjVarAsgnInst, RelPostDomBB, RelPP, RelPputInstFldInst, RelPputStatFldInst, RelPrivateM, RelScopeExcludedM, RelScopeExcludedT, RelSpecIM, RelStatF, RelStatFldE, RelStatIM, RelStatM, RelStatTF, RelStatTM, RelSub, RelSuccBB, RelSyncLM, RelSyncLV, RelSyncM, RelThisMV, RelTM, RelVirtIM, RelVT, RelWriteE

public class ProgramRel
extends Rel
implements ITask

Generic implementation of a program relation (a specialized kind of Java task).

A program relation is a relation over one or more program domains.

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
protected  java.lang.Object[] consumes
           
 
Fields inherited from class chord.bddbddb.Rel
bdd, domBdds, domIdxs, doms, factory, iterBdd, name, numDoms, sign
 
Constructor Summary
ProgramRel()
           
 
Method Summary
 void fill()
           
 void init()
           
 void load()
           
 void print()
           
 void run()
          Executes this analysis in a "classic" project.
 void run(java.lang.Object ctrl, IStepCollection sc)
          Executes this analysis in a "modern" project.
 void save()
           
 void skip(java.lang.Object elem, ProgramDom dom)
           
 java.lang.String 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
 

Field Detail

consumes

protected java.lang.Object[] consumes
Constructor Detail

ProgramRel

public ProgramRel()
Method Detail

run

public void run()
Description copied from interface: ITask
Executes this analysis in a "classic" project. This method must usually not be called directly. The correct way to call it is to call ClassicProject.runTask(String) or ClassicProject.runTask(ITask), providing this analysis either by its name or its object.

Specified by:
run in interface ITask

run

public void run(java.lang.Object ctrl,
                IStepCollection sc)
Description copied from interface: ITask
Executes this analysis in a "modern" project. This method must usually not be called directly.

Specified by:
run in interface ITask

init

public void init()

save

public void save()

load

public void load()

fill

public void fill()

print

public void print()
Overrides:
print in class Rel

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

skip

public void skip(java.lang.Object elem,
                 ProgramDom dom)