jist.swans
Class Rewriter

java.lang.Object
  extended by jist.swans.Rewriter
All Implemented Interfaces:
JistAPI.CustomRewriter

public class Rewriter
extends java.lang.Object
implements JistAPI.CustomRewriter

Add-on SWANS-specific JiST rewriter module.

Since:
SWANS1.0
Version:
$Id: Rewriter.java,v 1.19 2005/03/13 16:11:54 barr Exp $
Author:
Rimon Barr <barr+jist@cs.cornell.edu>

Nested Class Summary
private static class Rewriter.ModifyTypeInfo
          Used by ModifyTypeTraversal to guide modification.
static class Rewriter.ModifyTypeTraversal
          Class traversal that substitutes types in all the common places.
 
Field Summary
private static java.lang.String[] ignoredPackages
          Class beginning with these strings are ignored.
protected  Rewriter.ModifyTypeInfo[] typeModifications
           
 
Constructor Summary
Rewriter()
           
 
Method Summary
static boolean isIgnored(java.lang.String classname)
          Whether class is ignored by SWANS rewriter.
 org.apache.bcel.classfile.JavaClass process(org.apache.bcel.classfile.JavaClass jcl)
          Perform rewriter pass of BCEL JavaClass object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ignoredPackages

private static final java.lang.String[] ignoredPackages
Class beginning with these strings are ignored. The JiST ignored classes do not even arrive at this filter.


typeModifications

protected Rewriter.ModifyTypeInfo[] typeModifications
Constructor Detail

Rewriter

public Rewriter()
Method Detail

process

public org.apache.bcel.classfile.JavaClass process(org.apache.bcel.classfile.JavaClass jcl)
                                            throws java.lang.ClassNotFoundException
Perform rewriter pass of BCEL JavaClass object.

Specified by:
process in interface JistAPI.CustomRewriter
Parameters:
jcl - BCEL JavaClass object to rewrite
Returns:
rewritten/transformed BCEL JavaClass object
Throws:
java.lang.ClassNotFoundException

isIgnored

public static boolean isIgnored(java.lang.String classname)
Whether class is ignored by SWANS rewriter.

Parameters:
classname - qualified name of class to check
Returns:
whether class is ignored by SWANS rewriter