Package soot.dexpler
Class DexArrayInitReducer
- java.lang.Object
-
- soot.Transformer
-
- soot.BodyTransformer
-
- soot.dexpler.DexArrayInitReducer
-
public class DexArrayInitReducer extends BodyTransformer
Transformer that simplifies array initializations. It converts a = 0 b = 42 c[a] = b to c[0] 42 This transformer performs copy propagation, dead assignment elimination, and unused local elimination at once for this special case. The idea is to reduce the code as much as possible for this special case before applying the more expensive other transformers.- Author:
- Steven Arzt
-
-
Constructor Summary
Constructors Constructor Description DexArrayInitReducer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidinternalTransform(Body b, String phaseName, Map<String,String> options)This method is called to perform the transformation itself.static DexArrayInitReducerv()-
Methods inherited from class soot.BodyTransformer
transform, transform, transform
-
-
-
-
Method Detail
-
v
public static DexArrayInitReducer v()
-
internalTransform
protected void internalTransform(Body b, 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:
b- 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.
-
-