Package soot.dexpler

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

      • DexIfTransformer

        public DexIfTransformer()
    • 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.