private static Expression getInversedBooleanExpression(ASTRewrite rewrite, Expression expression) { return getInversedBooleanExpression(rewrite, expression, null); } private interface SimpleNameRenameProvider {
private static Expression getInversedInfixBooleanExpression(ASTRewrite rewrite, InfixExpression expression, InfixExpression.Operator newOperator, SimpleNameRenameProvider provider) { InfixExpression newExpression = rewrite.getAST().newInfixExpression(); newExpression.setOperator(newOperator); newExpression.setLeftOperand(getInversedBooleanExpression(rewrite, expression.getLeftOperand(), provider)); newExpression.setRightOperand(getInversedBooleanExpression(rewrite, expression.getRightOperand(), provider)); return newExpression; }
private static Expression getInversedAndOrExpression(ASTRewrite rewrite, InfixExpression infixExpression, Operator newOperator, SimpleNameRenameProvider provider) { InfixExpression newExpression = rewrite.getAST().newInfixExpression(); newExpression.setOperator(newOperator); int newOperatorPrecedence = getInfixOperatorPrecedence(newOperator); // Expression leftOperand = getInversedBooleanExpression(rewrite, infixExpression.getLeftOperand(), provider); newExpression.setLeftOperand(parenthesizeIfRequired(leftOperand, newOperatorPrecedence)); Expression rightOperand = getInversedBooleanExpression(rewrite, infixExpression.getRightOperand(), provider); newExpression.setRightOperand(parenthesizeIfRequired(rightOperand, newOperatorPrecedence)); List extraOperands= infixExpression.extendedOperands(); List newExtraOperands= newExpression.extendedOperands(); for (int i= 0; i < extraOperands.size(); i++) { Expression extraOperand = getInversedBooleanExpression(rewrite, (Expression) extraOperands.get(i), provider); newExtraOperands.add(parenthesizeIfRequired(extraOperand, newOperatorPrecedence)); } return newExpression; } private static boolean getRemoveExtraParenthesisProposals(IInvocationContext context, ASTNode covering, ArrayList coveredNodes,
Expression coveredExpression= getBooleanExpression(covered); if (coveredExpression != null) { Expression inversedExpression = getInversedBooleanExpression(rewrite, coveredExpression); rewrite.replace(coveredExpression, inversedExpression, null); hasChanges = true;
final ASTRewrite rewrite= ASTRewrite.create(ast); Expression inversedExpression= getInversedBooleanExpression(rewrite, expression);
ASTRewrite rewrite = ASTRewrite.create(ast); Expression inversedExpression = getInversedBooleanExpression(rewrite, ifStatement.getExpression()); IfStatement newIf = ast.newIfStatement(); newIf.setExpression(inversedExpression);
Expression inversedExpression= getInversedBooleanExpression(rewrite, expression, provider); Expression expression= vdf.getInitializer(); if (expression != null) { rewrite.replace(expression, getInversedBooleanExpression(rewrite, expression), null);
Expression inversedExpression = getInversedBooleanExpression(rewrite, ifStatement.getExpression());
ASTRewrite rewrite = ASTRewrite.create(ast); Expression inversedExpression = getInversedBooleanExpression(rewrite, ifStatement.getExpression()); IfStatement newIf = ast.newIfStatement(); newIf.setExpression(inversedExpression);
newExpression.setExpression(getInversedBooleanExpression(rewrite, expression.getExpression())); newExpression.setThenExpression((Expression) rewrite.createCopyTarget(expression.getElseExpression())); newExpression.setElseExpression((Expression) rewrite.createCopyTarget(expression.getThenExpression()));
final ASTRewrite rewrite= ASTRewrite.create(ast); Expression inversedExpression= getInversedBooleanExpression(rewrite, parenthesizedExpression.getExpression());
return getInversedBooleanExpression(rewrite, innerExpression, provider); parenthesizedExpression.setExpression(getInversedBooleanExpression(rewrite, innerExpression, provider)); return parenthesizedExpression;