# Class: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.opt.AbstractCStatementOptimizer

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

## Constructor: AbstractCStatementOptimizer

Description: Create a statement optimizer.

## Protected Method: optimizeBlock
- parameter: `b`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICBlock`
- return type: `int`

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

## Protected Method: optimizeStatement
- parameter: `stm`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICStatement`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICStatement`

Description: Optimize a statement.
parameter: stm: the statement to optimize
return: a non\-statement if it was optimized; null means the statement was not optimized

