chord.analyses.reflect
Class ObjNewInstAnalysis

java.lang.Object
  extended by chord.project.analyses.JavaAnalysis
      extended by chord.analyses.reflect.ObjNewInstAnalysis
All Implemented Interfaces:
ITask

public class ObjNewInstAnalysis
extends JavaAnalysis

Analysis producing the following two relations: - objNewInstIH: Relation containing each tuple (i,h) such that call site i calling method "Object newInstance()" defined in class "java.lang.Class" is treated as object allocation site h. - objNewInstIM: Relation containing each tuple (i,m) such that call site i calling method "Object newInstance()" defined in class "java.lang.Class" is treated as calling the nullary constructor m on the freshly created object.

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

Field Summary
 
Fields inherited from class chord.project.analyses.JavaAnalysis
consumes, controls, name, produces
 
Constructor Summary
ObjNewInstAnalysis()
           
 
Method Summary
 void run()
          Executes this analysis in a "classic" project.
 
Methods inherited from class chord.project.analyses.JavaAnalysis
getName, run, setName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ObjNewInstAnalysis

public ObjNewInstAnalysis()
Method Detail

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
Overrides:
run in class JavaAnalysis