Class LocalSplitter

  extended by soot.Transformer
      extended by soot.BodyTransformer
          extended by soot.toolkits.scalar.LocalSplitter

public class LocalSplitter
extends BodyTransformer

A BodyTransformer that attemps to indentify and separate uses of a local varible that are independent of each other. Conceptually the inverse transform with respect to the LocalPacker transform. For example the code: for(int i; i < k; i++); for(int i; i < k; i++); would be transformed into: for(int i; i < k; i++); for(int j; j < k; j++);

See Also:
BodyTransformer, LocalPacker, Body

Constructor Summary
LocalSplitter(Singletons.Global g)
Method Summary
protected  void internalTransform(Body body, String phaseName, Map options)
          This method is called to perform the transformation itself.
static LocalSplitter 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

Constructor Detail


public LocalSplitter(Singletons.Global g)
Method Detail


public static LocalSplitter v()


protected void internalTransform(Body body,
                                 String phaseName,
                                 Map options)
Description copied from class: BodyTransformer
This method is called to perform the transformation itself. It is declared abstract; subclasses must implement this method by making it the entry point to their actual Body transformation.

Specified by:
internalTransform in class BodyTransformer
body - the body on which to apply the transformation
phaseName - the phasename for this transform; not typically used by implementations.
options - the actual computed options; a combination of default options and Scene specified options.