// let it affect the propagated type when it would result in a loss
// of precision.
overrideExpression(is.getExpression(), is.getType().getType(), false);
}
} else if (condition instanceof PrefixExpression) {
PrefixExpression prefix = (PrefixExpression) condition;
if (prefix.getOperator().getType() == TokenType.BANG) {
propagateTrueState(prefix.getOperand());
}
} else if (condition instanceof ParenthesizedExpression) {
propagateFalseState(((ParenthesizedExpression) condition).getExpression());
}
}