chord.analyses.lock
Class DomL

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.DomL
All Implemented Interfaces:
IAcqLockInstVisitor, IClassVisitor, IMethodVisitor, ITask, java.lang.Iterable<joeq.Compiler.Quad.Inst>

public class DomL
extends ProgramDom<joeq.Compiler.Quad.Inst>
implements IAcqLockInstVisitor

Domain of all lock acquire points, including monitorenter statements and entry basic blocks of synchronized methods.

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

Field Summary
protected  joeq.Class.jq_Method ctnrMethod
           
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
DomL()
           
 
Method Summary
 void init()
           
 java.lang.String toUniqueString(joeq.Compiler.Quad.Inst i)
           
 java.lang.String toXMLAttrsString(joeq.Compiler.Quad.Inst i)
          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 visitAcqLockInst(joeq.Compiler.Quad.Quad q)
          Visits all monitorenter 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

ctnrMethod

protected joeq.Class.jq_Method ctnrMethod
Constructor Detail

DomL

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

visitAcqLockInst

public void visitAcqLockInst(joeq.Compiler.Quad.Quad q)
Description copied from interface: IAcqLockInstVisitor
Visits all monitorenter statements in all methods in the program.

Specified by:
visitAcqLockInst in interface IAcqLockInstVisitor
Parameters:
q - A monitorenter statement.

toUniqueString

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

toXMLAttrsString

public java.lang.String toXMLAttrsString(joeq.Compiler.Quad.Inst i)
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:
i - A value.
Returns:
The XML attributes string of the specified value. It is the empty string by default.
See Also:
ProgramDom.saveToXMLFile()