chord.analyses.method
Class DomM

java.lang.Object
  extended by chord.util.IndexMap<T>
      extended by chord.bddbddb.Dom<T>
          extended by chord.project.analyses.ProgramDom<joeq.Class.jq_Method>
              extended by chord.analyses.method.DomM
All Implemented Interfaces:
IClassVisitor, IMethodVisitor, ITask, java.lang.Iterable<joeq.Class.jq_Method>

public class DomM
extends ProgramDom<joeq.Class.jq_Method>
implements IMethodVisitor

Domain of methods.

The 0th element in this domain is the main method of the program.

The 1st element in this domain is the start() method of class java.lang.Thread, if this method is reachable from the main method of the program.

The above two methods are the entry-point methods of the implicitly created main thread and each explicitly created thread, respectively. Due to Chord's emphasis on concurrency, these methods are referenced frequently by various pre-defined program analyses expressed in Datalog, and giving them special indices makes it convenient to reference them in those analyses.

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
DomM()
           
 
Method Summary
 void init()
           
 java.lang.String toXMLAttrsString(joeq.Class.jq_Method m)
          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.
 
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, 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

DomM

public DomM()
Method Detail

init

public void init()
Overrides:
init in class ProgramDom<joeq.Class.jq_Method>

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.

toXMLAttrsString

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