Search in sources :

Example 46 with Assignment

use of org.eclipse.jdt.core.dom.Assignment in project Main by SpartanRefactoring.

the class AssignmentOperatorBloater method tip.

@Override
public Tip tip(final Assignment ¢) {
    return new Tip(description(¢), getClass(), ¢) {

        @Override
        public void go(final ASTRewrite r, final TextEditGroup g) {
            // TODO Ori Roth: use class subject
            final InfixExpression e = ¢.getAST().newInfixExpression();
            e.setLeftOperand(copy.of(left(¢)));
            e.setRightOperand(make.plant(copy.of(right(¢))).into(e));
            e.setOperator(op.assign2infix(¢.getOperator()));
            final Assignment a = ¢.getAST().newAssignment();
            a.setLeftHandSide(copy.of(left(¢)));
            a.setRightHandSide(fix(e, left(¢).resolveTypeBinding()));
            a.setOperator(Operator.ASSIGN);
            r.replace(¢, a, g);
        }
    };
}
Also used : Assignment(org.eclipse.jdt.core.dom.Assignment)

Aggregations

Assignment (org.eclipse.jdt.core.dom.Assignment)46 Expression (org.eclipse.jdt.core.dom.Expression)26 AST (org.eclipse.jdt.core.dom.AST)21 ASTNode (org.eclipse.jdt.core.dom.ASTNode)20 VariableDeclarationExpression (org.eclipse.jdt.core.dom.VariableDeclarationExpression)20 VariableDeclarationFragment (org.eclipse.jdt.core.dom.VariableDeclarationFragment)19 SimpleName (org.eclipse.jdt.core.dom.SimpleName)18 CastExpression (org.eclipse.jdt.core.dom.CastExpression)16 ITypeBinding (org.eclipse.jdt.core.dom.ITypeBinding)15 ParenthesizedExpression (org.eclipse.jdt.core.dom.ParenthesizedExpression)15 InfixExpression (org.eclipse.jdt.core.dom.InfixExpression)13 PrefixExpression (org.eclipse.jdt.core.dom.PrefixExpression)13 MethodDeclaration (org.eclipse.jdt.core.dom.MethodDeclaration)12 ASTRewrite (org.eclipse.jdt.core.dom.rewrite.ASTRewrite)12 ExpressionStatement (org.eclipse.jdt.core.dom.ExpressionStatement)11 ConditionalExpression (org.eclipse.jdt.core.dom.ConditionalExpression)10 VariableDeclarationStatement (org.eclipse.jdt.core.dom.VariableDeclarationStatement)10 IVariableBinding (org.eclipse.jdt.core.dom.IVariableBinding)9 LambdaExpression (org.eclipse.jdt.core.dom.LambdaExpression)9 MethodInvocation (org.eclipse.jdt.core.dom.MethodInvocation)9