public abstract class

AbstractCStatementOptimizer

extends AbstractCBlockOptimizer
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
           ↳ com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt.AbstractCStatementOptimizer

Class Overview

Specialized base optimizer for C statements. Every statement contained in the AST method is provided to optimizeStatement(ICStatement).

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
AbstractCStatementOptimizer()
Protected Methods
int optimizeBlock(ICBlock b)
The default implementation iterates over each statement of the block and calls optimizeStatement(ICStatement).
abstract ICStatement optimizeStatement(ICStatement stm)
Optimize a
[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 AbstractCStatementOptimizer ()

Protected Methods

protected int optimizeBlock (ICBlock b)

The default implementation iterates over each statement of the block and calls optimizeStatement(ICStatement). Most sub-classes should not override this method.

Parameters
b CBlock
Returns
  • the number of optimizations done

protected abstract ICStatement optimizeStatement (ICStatement stm)

Optimize a

Parameters
stm the statement to optimize
Returns
  • a non-statement if it was optimized; null means the statement was not optimized