chord.project.analyses
Class JavaAnalysis

java.lang.Object
  extended by chord.project.analyses.JavaAnalysis
All Implemented Interfaces:
ITask
Direct Known Subclasses:
BasicDynamicAnalysis, CIAliasAnalysis, CICGAnalysis, ConNewInstAnalysis, CSAliasAnalysis, CSCGAnalysis, CtxtsAnalysis, DataraceAnalysis, DeadlockAnalysis, DlogAnalysis, ObjNewInstAnalysis, RHSAnalysis, ThreadsAnalysis

public class JavaAnalysis
extends java.lang.Object
implements ITask

Generic implementation of a Java task (a program analysis expressed in Java).

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

Field Summary
protected  java.lang.Object[] consumes
           
protected  java.lang.Object[] controls
           
protected  java.lang.String name
           
protected  java.lang.Object[] produces
           
 
Constructor Summary
JavaAnalysis()
           
 
Method Summary
 java.lang.String getName()
          Provides the name of this analysis.
 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 setName(java.lang.String name)
          Sets the name of this analysis.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

consumes

protected java.lang.Object[] consumes

produces

protected java.lang.Object[] produces

controls

protected java.lang.Object[] controls
Constructor Detail

JavaAnalysis

public JavaAnalysis()
Method Detail

setName

public void setName(java.lang.String name)
Description copied from interface: ITask
Sets the name of this analysis.

Specified by:
setName in interface ITask
Parameters:
name - A name unique across all analyses included in a Chord project.

getName

public java.lang.String getName()
Description copied from interface: ITask
Provides the name of this analysis.

Specified by:
getName in interface ITask
Returns:
The name of this analysis.

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

toString

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