ptolemy.copernicus.java
Class FinalFieldUnfinalizer

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

public class FinalFieldUnfinalizer
extends soot.SceneTransformer
implements soot.HasPhaseOptions

The code generator generates fields that are final. These fields are used by the code generator to propagate final information, so that Soot's constant optimization will inline those fields. Sun's JVM ignores the final specifier on these fields, but other JVMs do not, and complain that fields referencing objects are final and not initialized properly. This class removes the unnecessary final specifiers.

Since:
Ptolemy II 4.0
Version:
$Id: FinalFieldUnfinalizer.java,v 1.17 2005/07/08 19:57:03 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 FinalFieldUnfinalizer 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 FinalFieldUnfinalizer 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