Class AbstractJBlockOptimizer
java.lang.Object
com.pnfsoftware.jeb.core.AbstractPlugin
com.pnfsoftware.jeb.core.units.code.java.AbstractJOptimizer
com.pnfsoftware.jeb.core.units.code.java.AbstractJBlockOptimizer
- All Implemented Interfaces:
IPlugin
,IJOptimizer
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a standard optimizer.Create an optimizer.AbstractJBlockOptimizer
(JOptimizerType type, String name) Create an optimizer. -
Method Summary
Modifier and TypeMethodDescriptionabstract int
optimizeBlock
(IJavaBlock b, IJavaElement parent) Optimize a block of AST code.int
perform()
The default implementation callsperformInternal(IJavaBlock, IJavaElement)
on the input AST method, if the element to be optimized is a method.protected int
performInternal
(IJavaBlock b, IJavaElement parent) The default implementation callsoptimizeBlock(IJavaBlock, IJavaElement)
on all blocks of the AST method to be optimized.Methods inherited from class com.pnfsoftware.jeb.core.units.code.java.AbstractJOptimizer
getName, getPluginInformation, getPriority, getType, isEnabled, perform, setEnabled, setName, setPriority, setType
Methods inherited from class com.pnfsoftware.jeb.core.AbstractPlugin
dispose, getData, setData
-
Constructor Details
-
AbstractJBlockOptimizer
public AbstractJBlockOptimizer()Create a standard optimizer. -
AbstractJBlockOptimizer
Create an optimizer.- Parameters:
type
-
-
AbstractJBlockOptimizer
Create an optimizer.- Parameters:
type
-name
-
-
-
Method Details
-
perform
public int perform()The default implementation callsperformInternal(IJavaBlock, IJavaElement)
on the input AST method, if the element to be optimized is a method.It may be overridden, although it is not recommended.
- Specified by:
perform
in classAbstractJOptimizer
- Returns:
- the number of optimizations performed, 0 if none
-
performInternal
The default implementation callsoptimizeBlock(IJavaBlock, IJavaElement)
on all blocks of the AST method to be optimized. The method tree is visited in depth, blocks are optimized post-visit.It may be overridden, although it is not recommended.
- Parameters:
b
- the current block to optimizeparent
- the parent of the block to be optimized(- Returns:
- number of optimizations performed
-
optimizeBlock
Optimize a block of AST code. Optimizers must implement this method.- Parameters:
b
- block to be optimizedparent
- the parent element of the block to be optimized- Returns:
- number of optimizations performed
-