| java.lang.Object | ||||
| ↳ | com.pnfsoftware.jeb.core.AbstractPlugin | |||
| ↳ | com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.AbstractOptimizer<T extends com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IOptimizerTarget> | |||
| ↳ | com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt.AbstractCOptimizer | |||
| ↳ | com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt.AbstractCBlockOptimizer | |||
Known Direct Subclasses
|
Perform a recursive optimizer on ICBlock. The policy is recurse first, so optimizer is
done as post-treatment.
|
[Expand]
Inherited Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From interface
com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IOptimizer
| |||||||||||
|
[Expand]
Inherited Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt.AbstractCOptimizer
| |||||||||||
From class
com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.AbstractOptimizer
| |||||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| AbstractCBlockOptimizer() | |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| final int | performOnMethoBlocksRecursivively() | ||||||||||
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| ICStatement | getNextSiblingStatement(int statementIndex, ICBlock block, ICStatement blockNextSiblingStm) | ||||||||||
| abstract int |
optimizeBlock(ICBlock b)
Attempt to optimize CBlock.
| ||||||||||
| int |
optimizeBlock(ICBlock b, ICCompound parent, ICStatement blockNextStm)
Attempt to optimize CBlock, with some contextual information provided.
| ||||||||||
| int |
perform()
Can be overridden.
| ||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt.AbstractCOptimizer
| |||||||||||
From class
com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.AbstractOptimizer
| |||||||||||
From class
com.pnfsoftware.jeb.core.AbstractPlugin
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
com.pnfsoftware.jeb.core.IPlugin
| |||||||||||
From interface
com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IOptimizer
| |||||||||||
Attempt to optimize CBlock. Sub-expressions may be examined. The implementor should not attempt to modify parent or siblings CBlocks.
| b | CBlock |
|---|
Attempt to optimize CBlock, with some contextual information provided. Sub-expressions may be examined. The implementor should not attempt to modify parent or siblings CBlocks.
| parent | the parent compound statement |
|---|---|
| blockNextStm | the next statement (i.e. the next sibling statement in the AST, not control-flow related) |
Can be overridden. The default implementation simply calls performOnMethoBlocksRecursivively().