Class AbstractCStatementOptimizer
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
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt.AbstractCBlockOptimizer
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt.AbstractCStatementOptimizer
- All Implemented Interfaces:
IPlugin,ICOptimizer,IOptimizer<ICMethod>
Specialized base optimizer for C statements. Every statement contained in the AST method is
provided to
optimizeStatement(ICStatement).-
Field Summary
Fields inherited from class com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt.AbstractCOptimizer
cf, ef, g, m, ofFields inherited from class com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.AbstractOptimizer
loggerFields 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 TypeMethodDescriptionprotected intThe default implementation iterates over each statement of the block and callsoptimizeStatement(ICStatement).protected abstract ICStatementOptimize a statement.Methods inherited from class com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt.AbstractCBlockOptimizer
getNextSiblingStatement, optimizeBlock, perform, performOnMethoBlocksRecursivivelyMethods inherited from class com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt.AbstractCOptimizer
getMasterOptimizer, getMasterOptimizerSafe, performOnTargetMethods 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, setTypeMethods inherited from class com.pnfsoftware.jeb.core.AbstractPlugin
dispose, getData, setDataMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IOptimizer
getPreferredExecutionStage, getPriority, getRequiredModeThreshold, getTags, getType, setMasterOptimizerMethods inherited from interface com.pnfsoftware.jeb.core.IPlugin
dispose, getData, getPluginInformation, setData
-
Constructor Details
-
AbstractCStatementOptimizer
public AbstractCStatementOptimizer()Create a statement optimizer.
-
-
Method Details
-
optimizeBlock
The default implementation iterates over each statement of the block and callsoptimizeStatement(ICStatement). Most sub-classes should not override this method.- Specified by:
optimizeBlockin classAbstractCBlockOptimizer- Parameters:
b- CBlock- Returns:
- the number of optimizations done
-
optimizeStatement
Optimize a statement.- Parameters:
stm- the statement to optimize- Returns:
- a non-statement if it was optimized; null means the statement was not optimized
-