Class AbstractDInstrumenter

java.lang.Object
com.pnfsoftware.jeb.core.units.code.android.ir.AbstractDInstrumenter
All Implemented Interfaces:
IDMasterOptimizerInstrumenter

public class AbstractDInstrumenter extends Object implements IDMasterOptimizerInstrumenter
Skeleton for an IR Master Optimizer instrumenter.
  • Constructor Details

    • AbstractDInstrumenter

      public AbstractDInstrumenter()
  • Method Details

    • beforePass

      public int beforePass(IDOptimizer opt, IDMethodContext ctx)
      The default implementation returns 0 (proceed).
      Specified by:
      beforePass in interface IDMasterOptimizerInstrumenter
      Parameters:
      opt - the method optimizer
      ctx - the IR context
      Returns:
      0=no control code, let a subsequent instrumenter decide; -1=stop the entire optimization process; 1=skip this optimizer
    • afterPass

      public int afterPass(IDOptimizer opt, IDMethodContext ctx, int optcnt)
      The default implementation returns 0 (proceed).
      Specified by:
      afterPass in interface IDMasterOptimizerInstrumenter
      Parameters:
      opt - the method optimizer
      ctx - the IR context
      optcnt - the number of optimizations performed; may be 0
      Returns:
      0=no control code, let a subsequent instrumenter decide; -1=stop the entire optimization process
    • afterFailedPass

      public int afterFailedPass(IDOptimizer opt, IDMethodContext ctx, Exception ex)
      The default implementation returns 0 (proceed).
      Specified by:
      afterFailedPass in interface IDMasterOptimizerInstrumenter
      Parameters:
      opt - the method optimizer
      ctx - the IR context
      ex - the exception that was thrown by the optimizer
      Returns:
      0=no control code, let a subsequent instrumenter decide; -1=stop the entire optimization process