ptolemy.copernicus.kernel
Class SideEffectAnalysis

java.lang.Object
  extended by ptolemy.copernicus.kernel.SideEffectAnalysis

public class SideEffectAnalysis
extends java.lang.Object

An analysis that determines which methods in a given call graph have no side effects.

Since:
Ptolemy II 4.0
Version:
$Id: SideEffectAnalysis.java,v 1.43 2006/10/25 00:17:26 cxh Exp $
Author:
Steve Neuendorffer
Accepted Rating:
Red (cxh)
Proposed Rating:
Red (cxh)

Constructor Summary
SideEffectAnalysis()
           
 
Method Summary
 java.util.Set getSideEffects(soot.SootMethod method)
          Return the set of fields that the given method assigns to, or null if the side effects are unknown.
 boolean hasSideEffects(soot.SootMethod method)
          Return true if the given method has any side effects.
 boolean hasSideEffects(soot.SootMethod method, soot.SootField field)
          Return true if the given method has any side effects on the given field.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SideEffectAnalysis

public SideEffectAnalysis()
Method Detail

getSideEffects

public java.util.Set getSideEffects(soot.SootMethod method)
Return the set of fields that the given method assigns to, or null if the side effects are unknown.


hasSideEffects

public boolean hasSideEffects(soot.SootMethod method)
Return true if the given method has any side effects. i.e. it assigns to any fields or arrays.


hasSideEffects

public boolean hasSideEffects(soot.SootMethod method,
                              soot.SootField field)
Return true if the given method has any side effects on the given field. i.e. it assigns to the given field.