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 intoptimizeBlock(IJavaBlock b, IJavaElement parent) Optimize a block of AST code.intperform()The default implementation callsperformInternal(IJavaBlock, IJavaElement)on the input AST method, if the element to be optimized is a method.protected intperformInternal(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, setTypeMethods 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:
performin 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
-