Class 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$
    Author:
    Steve Neuendorffer
    Pt.AcceptedRating:
    Red (cxh)
    Pt.ProposedRating:
    Red (cxh)
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.