org.quilt.cl
Class MethodTransformer

java.lang.Object
  |
  +--org.quilt.cl.MethodTransformer

public class MethodTransformer
extends java.lang.Object

Optionally preprocesses a method, optionally transforms its control flow graph, optionally postprocesses it. The list of preprocessors is applied in forward order before graph transformation. The corresponding list of postprocessors is applied in reverse order after graph transformation.

Author:
Jim Dixon

Constructor Summary
MethodTransformer(java.util.List mxf, java.util.List gxf)
          Sets up method transformer, saving MethodXformer vector here and passing GraphXformer vector to that transformer.
 
Method Summary
 java.util.Hashtable getMethodHash()
          Get a reference to the hash used to share data between this and other transformers.
 org.apache.bcel.generic.MethodGen xform(org.apache.bcel.generic.ClassGen clazz, org.apache.bcel.classfile.Method orig)
          Transform a specific method, first applying preprocessors, then transforming the graph, then applying method postprocessors.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MethodTransformer

public MethodTransformer(java.util.List mxf,
                         java.util.List gxf)
Sets up method transformer, saving MethodXformer vector here and passing GraphXformer vector to that transformer.

Method Detail

getMethodHash

public java.util.Hashtable getMethodHash()
Get a reference to the hash used to share data between this and other transformers.


xform

public org.apache.bcel.generic.MethodGen xform(org.apache.bcel.generic.ClassGen clazz,
                                               org.apache.bcel.classfile.Method orig)

Transform a specific method, first applying preprocessors, then transforming the graph, then applying method postprocessors.

Parameters:
clazz - The class to which the method belongs


Copyright © 2001-2003 Apache Software Foundation. All Rights Reserved.