Package soot.dexpler

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

      • DexNullThrowTransformer

        public DexNullThrowTransformer()
    • Method Detail

      • internalTransform

        protected void internalTransform​(Body b,
                                         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:
        b - 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.