# Class: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.opt.AbstractEStatementOptimizer

Skeleton for an [IRE](IRE) [statement](EStatement) optimizer.

## Constructor: AbstractEStatementOptimizer
- parameter: `dataChainsUpdatePolicy`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.opt.DataChainsUpdatePolicy`

Description: 
parameter: dataChainsUpdatePolicy: statement optimizers CANNOT use the            [DataChainsUpdatePolicy#UPDATE_IF_REQUIRED](DataChainsUpdatePolicy#UPDATE_IF_REQUIRED) policy

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

Description: Attempt to optimize a statement. Sub\-expressions may be examined. The implementor should not attempt to modify parent or cousins expressions.
parameter: stm: the statement to be optimized
return: the new, optimized statement, which will count for one optimization \(the provided         statement may be returned\); null if the statement was not optimized

## Protected Method: perform
- return type: `int`


