Package soot.dexpler

Class TrapMinimizer


  • public class TrapMinimizer
    extends TrapTransformer
    Transformer that splits traps for Dalvik whenever a statements within the trap cannot reach the trap's handler. Before: trap from label1 to label2 with handler label1: stmt1 ----> handler stmt2 stmt3 ----> handler label2: After: trap from label1 to label2 with handler trap from label3 to label4 with handler label1: stmt1 ----> handler label2: stmt2 label3: stmt3 ----> handler label4:
    Author:
    Alexandre Bartel
    • 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.