Package soot.dexpler
Class DexNullArrayRefTransformer
- java.lang.Object
-
- soot.Transformer
-
- soot.BodyTransformer
-
- soot.dexpler.DexNullArrayRefTransformer
-
public class DexNullArrayRefTransformer extends BodyTransformer
If Dalvik bytecode contains statements using a base array which is always null, Soot's fast type resolver will fail with the following exception: "Exception in thread " main" java.lang.RuntimeException: Base of array reference is not an array!" Those statements are replaced by a throw statement (this is what will happen in practice if the code is executed).- Author:
- alex, Steven Arzt
-
-
Constructor Summary
Constructors Constructor Description DexNullArrayRefTransformer()
-
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 DexNullArrayRefTransformerv()-
Methods inherited from class soot.BodyTransformer
transform, transform, transform
-
-
-
-
Method Detail
-
v
public static DexNullArrayRefTransformer 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.
-
-