Package soot.dexpler
Class DexNullThrowTransformer
- java.lang.Object
-
- soot.Transformer
-
- soot.BodyTransformer
-
- soot.dexpler.DexNullThrowTransformer
-
public class DexNullThrowTransformer extends BodyTransformer
Some Android applications throw null references, e.g., a = null; throw a; This will make unit graph construction fail as no targets of the throw statement can be found. We therefore replace such statements with direct NullPointerExceptions which would happen at runtime anyway.- Author:
- Steven Arzt
-
-
Constructor Summary
Constructors Constructor Description DexNullThrowTransformer()
-
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 DexNullThrowTransformerv()-
Methods inherited from class soot.BodyTransformer
transform, transform, transform
-
-
-
-
Method Detail
-
v
public static DexNullThrowTransformer 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.
-
-