chord.analyses.lock
Class DomR

java.lang.Object
  extended by chord.util.IndexMap<T>
      extended by chord.bddbddb.Dom<T>
          extended by chord.project.analyses.ProgramDom<joeq.Compiler.Quad.Inst>
              extended by chord.analyses.lock.DomR
All Implemented Interfaces:
IClassVisitor, IMethodVisitor, IRelLockInstVisitor, ITask, java.lang.Iterable<joeq.Compiler.Quad.Inst>

public class DomR
extends ProgramDom<joeq.Compiler.Quad.Inst>
implements IRelLockInstVisitor

Domain of all lock release points, including monitorexit statements and exit basic blocks of synchronized methods.

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

Field Summary
protected  DomM domM
           
 
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
DomR()
           
 
Method Summary
 void init()
           
 java.lang.String toUniqueString(joeq.Compiler.Quad.Inst o)
           
 java.lang.String toXMLAttrsString(joeq.Compiler.Quad.Inst o)
          Provides the XML attributes string of the specified value.
 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 visitRelLockInst(joeq.Compiler.Quad.Quad q)
          Visits all monitorexit statements in all methods in the program.
 
Methods inherited from class chord.project.analyses.ProgramDom
fill, run, run, save, saveToXMLFile, toString, 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
 

Field Detail

domM

protected DomM domM
Constructor Detail

DomR

public DomR()
Method Detail

init

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

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.

visitRelLockInst

public void visitRelLockInst(joeq.Compiler.Quad.Quad q)
Description copied from interface: IRelLockInstVisitor
Visits all monitorexit statements in all methods in the program.

Specified by:
visitRelLockInst in interface IRelLockInstVisitor
Parameters:
q - A monitorexit statement.

toUniqueString

public java.lang.String toUniqueString(joeq.Compiler.Quad.Inst o)
Overrides:
toUniqueString in class Dom<joeq.Compiler.Quad.Inst>

toXMLAttrsString

public java.lang.String toXMLAttrsString(joeq.Compiler.Quad.Inst o)
Description copied from class: ProgramDom
Provides the XML attributes string of the specified value. Subclasses may override this method if necessary.

Overrides:
toXMLAttrsString in class ProgramDom<joeq.Compiler.Quad.Inst>
Parameters:
o - A value.
Returns:
The XML attributes string of the specified value. It is the empty string by default.
See Also:
ProgramDom.saveToXMLFile()