protected boolean visitCell( CellModel _cell ) throws CompilerException
{
ExpressionNode sourceExpr = _cell.getExpression();
if (null != sourceExpr) {
try {
TypedResult optimizedResult = eliminateConstantsFrom( sourceExpr, _cell.getSection() );
assert (optimizedResult.getDataType() == _cell.getDataType() || optimizedResult.getDataType() == DataType.NULL);
if (optimizedResult.hasConstantValue()) {
_cell.setExpression( null );
final Object value = optimizedResult.getConstantValue();
_cell.setConstantValue( value );
if (this.listenerSupport != null) {
this.listenerSupport.constantExpressionEliminated( _cell, value );
}
}