Class AbstractCOptimizer
java.lang.Object
com.pnfsoftware.jeb.core.AbstractPlugin
com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.AbstractOptimizer<ICMethod>
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt.AbstractCOptimizer
- All Implemented Interfaces:
IPlugin
,ICOptimizer
,IOptimizer<ICMethod>
- Direct Known Subclasses:
AbstractCBlockOptimizer
Base class for C AST optimizers.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ICConstantFactory
protected ICElementFactory
protected ICGlobalContext
protected ICMethod
protected ICOperatorFactory
Fields inherited from class com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.AbstractOptimizer
logger
Fields inherited from interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IOptimizer
DEAD_CODE_REMOVER, DEOBFUSCATOR, PRIORITY_HIGH, PRIORITY_LOW, PRIORITY_STANDARD
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionRetrieve the optional master optimizer that manages this optimizer.protected ICMasterOptimizer
Safely retrieve a master optimizer.protected abstract int
perform()
final int
Perform the optimization pass.Methods inherited from class com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.AbstractOptimizer
addTag, getName, getPluginInformation, getPreferredExecutionStage, getPriority, getRequiredModeThreshold, getTags, getType, removeTag, setMasterOptimizer, setName, setPreferredExecutionStage, setPriority, setRequiredModeThreshold, setType
Methods inherited from class com.pnfsoftware.jeb.core.AbstractPlugin
dispose, getData, setData
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IOptimizer
getPreferredExecutionStage, getPriority, getRequiredModeThreshold, getTags, getType, setMasterOptimizer
Methods inherited from interface com.pnfsoftware.jeb.core.IPlugin
dispose, getData, getPluginInformation, setData
-
Field Details
-
m
-
g
-
ef
-
of
-
cf
-
-
Constructor Details
-
AbstractCOptimizer
public AbstractCOptimizer()
-
-
Method Details
-
getMasterOptimizer
Description copied from interface:IOptimizer
Retrieve the optional master optimizer that manages this optimizer.- Specified by:
getMasterOptimizer
in interfaceIOptimizer<ICMethod>
- Overrides:
getMasterOptimizer
in classAbstractOptimizer<ICMethod>
- Returns:
- optional reference
-
getMasterOptimizerSafe
Safely retrieve a master optimizer. IfgetMasterOptimizer()
provides one, it is returned. Else, an empty immutable generic MO is provided.- Returns:
- never null
-
performOnTarget
Description copied from interface:IOptimizer
Perform the optimization pass.- Specified by:
performOnTarget
in interfaceIOptimizer<ICMethod>
- Returns:
- the number of optimizations performed; if negative, an error has occurred and the optimizing process should be aborted
-
perform
protected abstract int perform()
-