Skip to content

Commit 3e0fe43

Browse files
author
Fabrice Tiercelin
committed
Use ASTNodes.createMoveTarget()
1 parent caa9410 commit 3e0fe43

File tree

83 files changed

+232
-196
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+232
-196
lines changed

plugin/src/main/java/org/autorefactor/jdt/core/dom/ASTRewrite.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838

3939
import org.autorefactor.environment.EventLoop;
4040
import org.autorefactor.jdt.internal.corext.dom.ASTCommentRewriter;
41+
import org.autorefactor.jdt.internal.corext.dom.ASTNodes;
4142
import org.autorefactor.jdt.internal.corext.dom.SourceLocation;
4243
import org.autorefactor.jdt.internal.corext.dom.SourceRewriter;
4344
import org.autorefactor.util.Pair;
@@ -222,7 +223,8 @@ public <T extends ASTNode> List<T> createMoveTarget(final Collection<T> nodes) {
222223
List<T> movedNodes= new ArrayList<>(nodes.size());
223224

224225
for (T astNode : nodes) {
225-
movedNodes.add(createMoveTarget(astNode));
226+
final T node= astNode;
227+
movedNodes.add(ASTNodes.createMoveTarget(this, node));
226228
}
227229

228230
return movedNodes;

plugin/src/main/java/org/autorefactor/jdt/internal/corext/dom/ASTNodeFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -980,7 +980,7 @@ public <T extends ASTNode> T createCopyTarget(final T nodeToCopy) {
980980
}
981981

982982
private <T extends ASTNode> T createMoveTarget(final T nodeToMove) {
983-
return refactorings.createMoveTarget(nodeToMove);
983+
return ASTNodes.createMoveTarget(refactorings, nodeToMove);
984984
}
985985

986986
/**

plugin/src/main/java/org/autorefactor/jdt/internal/corext/dom/ASTNodes.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.Set;
3838
import java.util.TreeSet;
3939

40+
import org.autorefactor.jdt.core.dom.ASTRewrite;
4041
import org.autorefactor.util.IllegalStateException;
4142
import org.autorefactor.util.NotImplementedException;
4243
import org.autorefactor.util.Pair;
@@ -2995,4 +2996,24 @@ public static int getNbOperands(final Expression node) {
29952996

29962997
return nbOperands;
29972998
}
2999+
3000+
/**
3001+
* Creates and returns a placeholder node where to move the source code of the
3002+
* provided node.<br>
3003+
* The placeholder node can be used like any new node created via the AST
3004+
* class.<br>
3005+
* When the document is rewritten, the source code for the provided node is
3006+
* inserted into the output document at the position corresponding to the
3007+
* placeholder (indentation is adjusted) and it is removed from the old
3008+
* location.
3009+
*
3010+
* @param <T> the type of the provided node
3011+
* @param rewrite the AST rewrite
3012+
* @param expression the node for which to create a move placeholder
3013+
* @return the new placeholder node
3014+
* @see ASTRewrite#createMoveTargetOld(ASTNode)
3015+
*/
3016+
public static <T extends ASTNode> T createMoveTarget(final ASTRewrite rewrite, final T expression) {
3017+
return rewrite.createMoveTarget(expression);
3018+
}
29983019
}

plugin/src/main/java/org/autorefactor/jdt/internal/ui/fix/AbstractCollectionMethodRatherThanLoopCleanUp.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,10 +286,10 @@ private void replaceLoopAndVariable(final Statement forNode, final Expression it
286286

287287
Statement replacement;
288288
if (previousStmtIsPreviousSibling && previousStatement instanceof VariableDeclarationStatement) {
289-
replacement= ast.declareStatement(ast.type(boolean.class.getSimpleName()), rewrite.createMoveTarget((SimpleName) initName),
289+
replacement= ast.declareStatement(ast.type(boolean.class.getSimpleName()), ASTNodes.createMoveTarget(rewrite, (SimpleName) initName),
290290
newMethod(iterable, toFind, isPositive, classesToUseWithImport, importsToAdd));
291291
} else if (!previousStmtIsPreviousSibling || previousStatement instanceof ExpressionStatement) {
292-
replacement= ast.toStatement(ast.assign(rewrite.createMoveTarget(initName), Assignment.Operator.ASSIGN, newMethod(iterable, toFind, isPositive, classesToUseWithImport, importsToAdd)));
292+
replacement= ast.toStatement(ast.assign(ASTNodes.createMoveTarget(rewrite, initName), Assignment.Operator.ASSIGN, newMethod(iterable, toFind, isPositive, classesToUseWithImport, importsToAdd)));
293293
} else {
294294
throw new NotImplementedException(forNode);
295295
}

plugin/src/main/java/org/autorefactor/jdt/internal/ui/fix/AbstractUnitTestCleanUp.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ private void refactorToAssertTrueOrFalse(final Set<String> classesToUseWithImpor
315315
String methodName= isAssertTrue ? "assertTrue" : "assertFalse"; //$NON-NLS-1$ //$NON-NLS-2$
316316

317317
rewrite.replace(nodeToReplace, invokeMethodOrStatement(nodeToReplace, ast,
318-
invokeMethod(classesToUseWithImport, importsToAdd, originalMethod, methodName, rewrite.createMoveTarget(ASTNodes.getUnparenthesedExpression(condition)), null, null, failureMessage)), null);
318+
invokeMethod(classesToUseWithImport, importsToAdd, originalMethod, methodName, ASTNodes.createMoveTarget(rewrite, ASTNodes.getUnparenthesedExpression(condition)), null, null, failureMessage)), null);
319319
}
320320

321321
private boolean maybeReplaceOrRemove(final Set<String> classesToUseWithImport, final Set<String> importsToAdd,
@@ -361,7 +361,7 @@ private boolean maybeRefactorComparison(final Set<String> classesToUseWithImport
361361
ASTRewrite rewrite= cuRewrite.getASTRewrite();
362362

363363
MethodInvocation newAssert= invokeMethod(classesToUseWithImport, importsToAdd, originalMethod,
364-
getAssertName(isAssertEquals, "Same"), rewrite.createMoveTarget(ASTNodes.getUnparenthesedExpression(actualAndExpected.getFirst())), rewrite.createMoveTarget(ASTNodes.getUnparenthesedExpression(actualAndExpected.getSecond())), //$NON-NLS-1$
364+
getAssertName(isAssertEquals, "Same"), ASTNodes.createMoveTarget(rewrite, ASTNodes.getUnparenthesedExpression(actualAndExpected.getFirst())), ASTNodes.createMoveTarget(rewrite, ASTNodes.getUnparenthesedExpression(actualAndExpected.getSecond())), //$NON-NLS-1$
365365
null, failureMessage);
366366
rewrite.replace(nodeToReplace, invokeMethodOrStatement(nodeToReplace, ast, newAssert), null);
367367
return false;
@@ -478,7 +478,7 @@ private MethodInvocation invokeAssertNull(final Set<String> classesToUseWithImpo
478478
ASTRewrite rewrite= cuRewrite.getASTRewrite();
479479

480480
String methodName= getAssertName(isPositive, "Null"); //$NON-NLS-1$
481-
Expression copyOfActual= rewrite.createMoveTarget(ASTNodes.getUnparenthesedExpression(actual));
481+
Expression copyOfActual= ASTNodes.createMoveTarget(rewrite, ASTNodes.getUnparenthesedExpression(actual));
482482
return invokeMethod(classesToUseWithImport, importsToAdd, originalMethod, methodName, copyOfActual, null, null, failureMessage);
483483
}
484484

plugin/src/main/java/org/autorefactor/jdt/internal/ui/fix/AddAllRatherThanLoopCleanUp.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,8 @@ private void replaceWithCollectionsAddAll(final Statement node, final Set<String
204204
String classname= addImport(Collections.class, classesToUseWithImport, importsToAdd);
205205
rewrite.replace(node,
206206
ast.toStatement(ast.newMethodInvocation(ast.name(classname),
207-
"addAll", addMethod.getExpression() != null ? rewrite.createMoveTarget(ASTNodes.getUnparenthesedExpression(addMethod.getExpression())) : ast.this0(), //$NON-NLS-1$
208-
rewrite.createMoveTarget(ASTNodes.getUnparenthesedExpression(iterable)))), null);
207+
"addAll", addMethod.getExpression() != null ? ASTNodes.createMoveTarget(rewrite, ASTNodes.getUnparenthesedExpression(addMethod.getExpression())) : ast.this0(), //$NON-NLS-1$
208+
ASTNodes.createMoveTarget(rewrite, ASTNodes.getUnparenthesedExpression(iterable)))), null);
209209
}
210210

211211
private int getVariableUseCount(final IVariableBinding variableBinding, final Statement toVisit) {
@@ -273,9 +273,9 @@ private void replaceWithCollectionMethod(final ASTNode toReplace, final String m
273273

274274
MethodInvocation newMethod;
275275
if (affectedCollection != null) {
276-
newMethod= ast.newMethodInvocation(rewrite.createMoveTarget(affectedCollection), methodName, rewrite.createMoveTarget(ASTNodes.getUnparenthesedExpression(data)));
276+
newMethod= ast.newMethodInvocation(ASTNodes.createMoveTarget(rewrite, affectedCollection), methodName, ASTNodes.createMoveTarget(rewrite, ASTNodes.getUnparenthesedExpression(data)));
277277
} else {
278-
newMethod= ast.newMethodInvocation(methodName, rewrite.createMoveTarget(ASTNodes.getUnparenthesedExpression(data)));
278+
newMethod= ast.newMethodInvocation(methodName, ASTNodes.createMoveTarget(rewrite, ASTNodes.getUnparenthesedExpression(data)));
279279
}
280280

281281
rewrite.replace(toReplace, ast.toStatement(newMethod), null);

plugin/src/main/java/org/autorefactor/jdt/internal/ui/fix/AddBracketsToControlStatementCleanUp.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
import org.autorefactor.jdt.core.dom.ASTRewrite;
2929
import org.autorefactor.jdt.internal.corext.dom.ASTNodeFactory;
30+
import org.autorefactor.jdt.internal.corext.dom.ASTNodes;
3031
import org.eclipse.jdt.core.dom.Block;
3132
import org.eclipse.jdt.core.dom.DoStatement;
3233
import org.eclipse.jdt.core.dom.EnhancedForStatement;
@@ -106,7 +107,7 @@ private boolean maybeAddBrackets(final Statement statement) {
106107
ASTNodeFactory ast= cuRewrite.getASTBuilder();
107108
ASTRewrite rewrite= cuRewrite.getASTRewrite();
108109

109-
Block block= ast.block(rewrite.createMoveTarget(statement));
110+
Block block= ast.block(ASTNodes.createMoveTarget(rewrite, statement));
110111
rewrite.replace(statement, block, null);
111112
return false;
112113
}

plugin/src/main/java/org/autorefactor/jdt/internal/ui/fix/AggregateConstructorRatherThanGWTMethodCleanUp.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ && maybeRefactor(node, classesToUseWithImport, importsToAdd, "Maps", LinkedHashM
152152
String classname= addImport(EnumMap.class, classesToUseWithImport, importsToAdd);
153153
Type type= ast.getAST().newParameterizedType(
154154
ast.type(classname));
155-
rewrite.replace(node, ast.new0(type, rewrite.createMoveTarget(arg)), null);
155+
final T node1= arg;
156+
rewrite.replace(node, ast.new0(type, ASTNodes.createMoveTarget(rewrite, node1)), null);
156157
importsToAdd.add(EnumMap.class.getCanonicalName());
157158
return false;
158159
}

plugin/src/main/java/org/autorefactor/jdt/internal/ui/fix/AndConditionRatherThanEmbededIfCleanUp.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,9 @@ private void replaceIfNoElseStatement(final IfStatement outerIf, final IfStateme
8585
ASTNodeFactory ast= cuRewrite.getASTBuilder();
8686
ASTRewrite rewrite= cuRewrite.getASTRewrite();
8787

88-
InfixExpression ie= ast.infixExpression(ast.parenthesizeIfNeeded(rewrite.createMoveTarget(outerIf.getExpression())), InfixExpression.Operator.CONDITIONAL_AND,
89-
ast.parenthesizeIfNeeded(rewrite.createMoveTarget(innerIf.getExpression())));
88+
InfixExpression ie= ast.infixExpression(ast.parenthesizeIfNeeded(ASTNodes.createMoveTarget(rewrite, outerIf.getExpression())), InfixExpression.Operator.CONDITIONAL_AND,
89+
ast.parenthesizeIfNeeded(ASTNodes.createMoveTarget(rewrite, innerIf.getExpression())));
9090
rewrite.replace(innerIf.getExpression(), ie, null);
91-
rewrite.replace(outerIf, rewrite.createMoveTarget(innerIf), null);
91+
rewrite.replace(outerIf, ASTNodes.createMoveTarget(rewrite, innerIf), null);
9292
}
9393
}

plugin/src/main/java/org/autorefactor/jdt/internal/ui/fix/AnnotationCleanUp.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,13 @@ public boolean visit(final NormalAnnotation node) {
8383

8484
List<MemberValuePair> values= ASTNodes.values(node);
8585
if (values.isEmpty()) {
86-
rewrite.replace(node, ast.markerAnnotation(rewrite.createMoveTarget(node.getTypeName())), null);
86+
rewrite.replace(node, ast.markerAnnotation(ASTNodes.createMoveTarget(rewrite, node.getTypeName())), null);
8787
return false;
8888
}
8989
if (values.size() == 1) {
9090
MemberValuePair pair= values.get(0);
9191
if ("value".equals(pair.getName().getIdentifier())) { //$NON-NLS-1$
92-
rewrite.replace(node, ast.singleValueAnnotation(rewrite.createMoveTarget(node.getTypeName()), rewrite.createMoveTarget(pair.getValue())), null);
92+
rewrite.replace(node, ast.singleValueAnnotation(ASTNodes.createMoveTarget(rewrite, node.getTypeName()), ASTNodes.createMoveTarget(rewrite, pair.getValue())), null);
9393
return false;
9494
}
9595
}
@@ -105,7 +105,7 @@ public boolean visit(final NormalAnnotation node) {
105105
ArrayInitializer arrayInit= (ArrayInitializer) pair.getValue();
106106
List<Expression> exprs= ASTNodes.expressions(arrayInit);
107107
if (exprs.size() == 1) {
108-
rewrite.replace(arrayInit, rewrite.createMoveTarget(exprs.get(0)), null);
108+
rewrite.replace(arrayInit, ASTNodes.createMoveTarget(rewrite, exprs.get(0)), null);
109109
result= false;
110110
}
111111
}

0 commit comments

Comments
 (0)