ptolemy.copernicus.java
Class UnreachableMethodRemover

java.lang.Object
  extended by soot.Transformer
      extended by soot.SceneTransformer
          extended by ptolemy.copernicus.java.UnreachableMethodRemover
All Implemented Interfaces:
soot.HasPhaseOptions

public class UnreachableMethodRemover
extends soot.SceneTransformer
implements soot.HasPhaseOptions

A transformer that removes methods that are not reachable. Note that this is a fairly braindead implementation. Specifically, it does not attempt any Variable Type Analysis to reduce what methods may be called. However, for the purposes of code generation, we will have already done most of the interesting type analysis by the time this runs, so it is not really a big deal.

Since:
Ptolemy II 2.0
Version:
$Id: UnreachableMethodRemover.java,v 1.44 2006/10/25 00:17:28 cxh Exp $
Author:
Stephen Neuendorffer
Accepted Rating:
Red (cxh)
Proposed Rating:
Red (cxh)

Method Summary
 java.lang.String getDeclaredOptions()
           
 java.lang.String getDefaultOptions()
           
 java.lang.String getPhaseName()
           
protected  void internalTransform(java.lang.String phaseName, java.util.Map options)
           
static UnreachableMethodRemover v()
           
 
Methods inherited from class soot.SceneTransformer
transform, transform, transform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

v

public static UnreachableMethodRemover v()

getPhaseName

public java.lang.String getPhaseName()
Specified by:
getPhaseName in interface soot.HasPhaseOptions

getDefaultOptions

public java.lang.String getDefaultOptions()
Specified by:
getDefaultOptions in interface soot.HasPhaseOptions

getDeclaredOptions

public java.lang.String getDeclaredOptions()
Specified by:
getDeclaredOptions in interface soot.HasPhaseOptions

internalTransform

protected void internalTransform(java.lang.String phaseName,
                                 java.util.Map options)
Specified by:
internalTransform in class soot.SceneTransformer