public abstract class

AbstractOptimizer

extends Object
implements IOptimizer<T>
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.AbstractOptimizer<T>
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

Skeleton for a generic artifact optimizer.

Summary

[Expand]
Inherited Constants
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IOptimizer
Public Constructors
AbstractOptimizer(T target)
Public Methods
OptimizerClassId getClassId()
Retrieve the class id of this optimizer.
double getDefaultPriority()
Return a default priority: 0.
BasicInformation getInformation()
Retrieve basic authoring information about this information, such as name, description, version, etc.
String getName()
int getPostProcessingAction()
Get the action that should be executed after the optimizer was executed successfully and optimized code.
int getPreferredExecutionStage()
This method is used for on-demand optimizers only.
int getRequiredModeThreshold()
T getTarget()
Get the optimizer's target.
OptimizerType getType()
Retrieve the type of this optimizer.
void setPostProcessingActionFlags(int postProcActionFlags)
T setTarget(T target)
Set the optimizer's target.
Protected Methods
void setClassId(OptimizerClassId classId)
void setName(String name)
void setPreferredStage(int preferredExecStage)
Use only for type ON_DEMAND.
void setRequiredModeThreshold(int threshold)
void setType(OptimizerType type)
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IOptimizer

Public Constructors

public AbstractOptimizer (T target)

Public Methods

public OptimizerClassId getClassId ()

Retrieve the class id of this optimizer.

public double getDefaultPriority ()

Return a default priority: 0.

Returns
  • the default priority

public BasicInformation getInformation ()

Retrieve basic authoring information about this information, such as name, description, version, etc.

public String getName ()

public int getPostProcessingAction ()

Get the action that should be executed after the optimizer was executed successfully and optimized code. Post-processing actions may involve re-optimizing; if so, re-optimizations are not performed recursively, ie, post-processing actions will not trigger additional post-processing actions.

Returns
  • one of PPA_* constants; 0 means none

public int getPreferredExecutionStage ()

This method is used for on-demand optimizers only.

public int getRequiredModeThreshold ()

public T getTarget ()

Get the optimizer's target.

public OptimizerType getType ()

Retrieve the type of this optimizer.

public void setPostProcessingActionFlags (int postProcActionFlags)

public T setTarget (T target)

Set the optimizer's target.

Protected Methods

protected void setClassId (OptimizerClassId classId)

protected void setName (String name)

protected void setPreferredStage (int preferredExecStage)

Use only for type ON_DEMAND. Disregarded for other types. Leave to 0 for pure on-demand.

Parameters
preferredExecStage id such that abs(id) is in [1, 99] ; use positive value for post-stage execution, negative value for pre-stage execution

protected void setRequiredModeThreshold (int threshold)

protected void setType (OptimizerType type)