public abstract class

AbstractCElementOptimizer

extends AbstractCBlockOptimizer
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.AbstractPlugin
     ↳ com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.AbstractOptimizer<T>
       ↳ 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.AbstractCElementOptimizer

Class Overview

Perform a recursive optimizer on IElement. The policy is recurse first, so optimizer is done as post-treatment.

Summary

[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
AbstractCElementOptimizer()
AbstractCElementOptimizer(boolean innerReplacement)
Protected Methods
int optimizeBlock(ICBlock b)
Attempt to optimize CBlock.
ICElement optimizeElement(ICElement e, ICElement parent)
abstract ICElement optimizeElement(ICElement e)
int optimizeElements(ICElement parent)
[Expand]
Inherited Methods
From class com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt.AbstractCBlockOptimizer
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

Public Constructors

public AbstractCElementOptimizer ()

public AbstractCElementOptimizer (boolean innerReplacement)

Protected Methods

protected int optimizeBlock (ICBlock b)

Attempt to optimize CBlock. Sub-expressions may be examined. The implementor should not attempt to modify parent or cousins CBlocks.

Parameters
b CBlock
Returns
  • the number of optimizations done

protected ICElement optimizeElement (ICElement e, ICElement parent)

protected abstract ICElement optimizeElement (ICElement e)

protected int optimizeElements (ICElement parent)