Package soot.toolkits.scalar
Class LocalSplitter
- java.lang.Object
-
- soot.Transformer
-
- soot.BodyTransformer
-
- soot.toolkits.scalar.LocalSplitter
-
public class LocalSplitter extends BodyTransformer
A BodyTransformer that attempts to identify and separate uses of a local variable 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
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanomitExceptingUnitEdgesprotected ThrowAnalysisthrowAnalysis
-
Constructor Summary
Constructors Constructor Description LocalSplitter(Singletons.Global g)LocalSplitter(ThrowAnalysis ta)LocalSplitter(ThrowAnalysis ta, boolean omitExceptingUnitEdges)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidinternalTransform(Body body, String phaseName, Map<String,String> options)This method is called to perform the transformation itself.static LocalSplitterv()-
Methods inherited from class soot.BodyTransformer
transform, transform, transform
-
-
-
-
Field Detail
-
throwAnalysis
protected ThrowAnalysis throwAnalysis
-
omitExceptingUnitEdges
protected boolean omitExceptingUnitEdges
-
-
Constructor Detail
-
LocalSplitter
public LocalSplitter(Singletons.Global g)
-
LocalSplitter
public LocalSplitter(ThrowAnalysis ta)
-
LocalSplitter
public LocalSplitter(ThrowAnalysis ta, boolean omitExceptingUnitEdges)
-
-
Method Detail
-
v
public static LocalSplitter v()
-
internalTransform
protected void internalTransform(Body body, String phaseName, Map<String,String> options)
Description copied from class:BodyTransformerThis 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:
internalTransformin classBodyTransformer- Parameters:
body- the body on which to apply the transformationphaseName- the phasename for this transform; not typically used by implementations.options- the actual computed options; a combination of default options and Scene specified options.
-
-