chord.analyses.var
Class DomV

java.lang.Object
  extended by chord.util.IndexMap<T>
      extended by chord.bddbddb.Dom<T>
          extended by chord.project.analyses.ProgramDom<joeq.Compiler.Quad.RegisterFactory.Register>
              extended by chord.analyses.var.DomV
All Implemented Interfaces:
IClassVisitor, IMethodVisitor, ITask, java.lang.Iterable<joeq.Compiler.Quad.RegisterFactory.Register>

public class DomV
extends ProgramDom<joeq.Compiler.Quad.RegisterFactory.Register>
implements IMethodVisitor

Domain of local variables of reference type.

Each local variable declared in each block of each method is represented by a unique element in this domain. Local variables that have the same name but are declared in different methods or in different blocks of the same method are represented by different elements in this domain.

The set of local variables of a method is the disjoint union of its argument variables and its temporary variables. All local variables of the same method are assigned contiguous indices in this domain. The argument variables are assigned contiguous indices in order followed by the temporary variables.

Author:
Mayur Naik (mhn@cs.stanford.edu)

Field Summary
 
Fields inherited from class chord.project.analyses.ProgramDom
consumes
 
Fields inherited from class chord.bddbddb.Dom
name
 
Fields inherited from class chord.util.IndexMap
hmap, list
 
Constructor Summary
DomV()
           
 
Method Summary
 joeq.Class.jq_Method getMethod(joeq.Compiler.Quad.RegisterFactory.Register v)
           
 void init()
           
 java.lang.String toUniqueString(joeq.Compiler.Quad.RegisterFactory.Register v)
           
 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.ProgramDom
fill, run, run, save, saveToXMLFile, toString, toXMLAttrsString, toXMLElemsString
 
Methods inherited from class chord.bddbddb.Dom
equals, getName, hashCode, print, print, save, setName, toUniqueString
 
Methods inherited from class chord.util.IndexMap
add, addAll, clear, contains, get, getOrAdd, indexOf, iterator, size
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface chord.project.ITask
getName, setName
 

Constructor Detail

DomV

public DomV()
Method Detail

init

public void init()
Overrides:
init in class ProgramDom<joeq.Compiler.Quad.RegisterFactory.Register>

getMethod

public joeq.Class.jq_Method getMethod(joeq.Compiler.Quad.RegisterFactory.Register v)

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.

toUniqueString

public java.lang.String toUniqueString(joeq.Compiler.Quad.RegisterFactory.Register v)
Overrides:
toUniqueString in class Dom<joeq.Compiler.Quad.RegisterFactory.Register>