Package soot.dexpler

Class 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 Detail

      • DexNullArrayRefTransformer

        public DexNullArrayRefTransformer()
    • Method Detail

      • internalTransform

        protected void internalTransform​(Body body,
                                         String phaseName,
                                         Map<String,​String> options)
        Description copied from class: BodyTransformer
        This 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:
        internalTransform in class BodyTransformer
        Parameters:
        body - the body on which to apply the transformation
        phaseName - the phasename for this transform; not typically used by implementations.
        options - the actual computed options; a combination of default options and Scene specified options.