if (ret instanceof IntegerLiteralExpr && ((IntegerLiteralExpr) ret).isMinValue()) {
ret = new IntegerLiteralMinValueExpr(line, column, token.endLine, token.endColumn);
} else if (ret instanceof LongLiteralExpr && ((LongLiteralExpr) ret).isMinValue()) {
ret = new LongLiteralMinValueExpr(line, column, token.endLine, token.endColumn);
} else {
ret = new UnaryExpr(line, column, token.endLine, token.endColumn, ret, op);
}
} else {
ret = new UnaryExpr(line, column, token.endLine, token.endColumn, ret, op);
}
break;
case BOOLEAN:
case BYTE:
case CHAR: