Package soot.dexpler
Class DexIfTransformer
- java.lang.Object
-
- soot.Transformer
-
- soot.BodyTransformer
-
- soot.dexpler.DexTransformer
-
- soot.dexpler.AbstractNullTransformer
-
- soot.dexpler.DexIfTransformer
-
public class DexIfTransformer extends AbstractNullTransformer
BodyTransformer to find and change definition of locals used within an if which contains a condition involving two locals ( and not only one local as in DexNullTransformer). It this case, if any of the two locals leads to an object being def or used, all the appropriate defs of the two locals are updated to reflect the use of objects (i.e: 0s are replaced by nulls).
-
-
Constructor Summary
Constructors Constructor Description DexIfTransformer()
-
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 DexIfTransformerv()-
Methods inherited from class soot.dexpler.AbstractNullTransformer
isObject, isZeroComparison, replaceWithNull
-
Methods inherited from class soot.dexpler.DexTransformer
collectDefinitionsWithAliases, findArrayType
-
Methods inherited from class soot.BodyTransformer
transform, transform, transform
-
-
-
-
Method Detail
-
v
public static DexIfTransformer 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.
-
-