ptolemy.copernicus.java
Class TokenInstanceofEliminator

java.lang.Object
  extended by soot.Transformer
      extended by soot.BodyTransformer
          extended by ptolemy.copernicus.java.TokenInstanceofEliminator
All Implemented Interfaces:
soot.HasPhaseOptions

public class TokenInstanceofEliminator
extends soot.BodyTransformer
implements soot.HasPhaseOptions

A transformer that removes unnecessary instanceof checks for tokens. This is similar to CastAndInstanceofEliminator, except here we use a stronger type inference algorithm that is aware of Ptolemy token types.

Since:
Ptolemy II 2.0
Version:
$Id: TokenInstanceofEliminator.java,v 1.44 2006/10/26 21:44:16 cxh Exp $
Author:
Stephen Neuendorffer
Accepted Rating:
Red (cxh)
Proposed Rating:
Red (cxh)

Method Summary
static void eliminateCastsAndInstanceOf(soot.Body body, java.lang.String phaseName, java.util.Set unsafeLocalSet, boolean debug)
           
 java.lang.String getDeclaredOptions()
           
 java.lang.String getDefaultOptions()
           
 java.lang.String getPhaseName()
           
protected  void internalTransform(soot.Body b, java.lang.String phaseName, java.util.Map options)
           
static TokenInstanceofEliminator v()
           
 
Methods inherited from class soot.BodyTransformer
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 TokenInstanceofEliminator 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(soot.Body b,
                                 java.lang.String phaseName,
                                 java.util.Map options)
Specified by:
internalTransform in class soot.BodyTransformer

eliminateCastsAndInstanceOf

public static void eliminateCastsAndInstanceOf(soot.Body body,
                                               java.lang.String phaseName,
                                               java.util.Set unsafeLocalSet,
                                               boolean debug)