Skip to content

Commit 74160ad

Browse files
author
Fabrice Tiercelin
committed
Choose a better name
1 parent 05f7c44 commit 74160ad

File tree

5 files changed

+19
-15
lines changed

5 files changed

+19
-15
lines changed

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

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,7 @@ public static <T extends Expression> T as(final Expression expression, final Cla
383383
if (exprClass.isAssignableFrom(expression.getClass())) {
384384
return (T) expression;
385385
}
386+
386387
if (expression instanceof ParenthesizedExpression) {
387388
return as(((ParenthesizedExpression) expression).getExpression(), exprClass);
388389
}
@@ -679,7 +680,9 @@ public static <T extends ASTNode> T getTypedAncestor(final ASTNode node, final C
679680
if (node == null || node.getParent() == null) {
680681
return null;
681682
}
683+
682684
ASTNode parent= node.getParent();
685+
683686
if (ancestorClass.isAssignableFrom(parent.getClass())) {
684687
return (T) parent;
685688
}
@@ -698,18 +701,19 @@ public static <T extends ASTNode> T getTypedAncestor(final ASTNode node, final C
698701
* @see #getTypedAncestorOrCrash(ASTNode, Class)
699702
* @see #getTypedAncestor(ASTNode, Class)
700703
*/
701-
public static ASTNode getFirstAncestorOrNull(final ASTNode node, final Class<?>... ancestorClasses) {
704+
public static ASTNode getFirstAncestorOrNull(final ASTNode node, final Class<? extends ASTNode>... ancestorClasses) {
702705
if (ancestorClasses.length == 1) {
703706
throw new IllegalArgumentException("Please use ASTHelper.getAncestor(ASTNode, Class<?>) instead"); //$NON-NLS-1$
704707
}
708+
705709
if (node == null || node.getParent() == null || ancestorClasses.length == 0) {
706710
return null;
707711
}
712+
708713
ASTNode parent= node.getParent();
709-
for (Class<?> ancestorClass : ancestorClasses) {
710-
if (ancestorClass.isAssignableFrom(parent.getClass())) {
711-
return parent;
712-
}
714+
715+
if (instanceOf(parent, ancestorClasses)) {
716+
return parent;
713717
}
714718

715719
return getFirstAncestorOrNull(parent, ancestorClasses);
@@ -747,7 +751,7 @@ public static boolean isParent(ASTNode node, final ASTNode parent) {
747751
* @return the enclosing type of the provided node, or {@code null}
748752
*/
749753
public static ASTNode getEnclosingType(final ASTNode node) {
750-
Class<?>[] ancestorClasses= { AbstractTypeDeclaration.class, AnonymousClassDeclaration.class };
754+
Class<? extends ASTNode>[] ancestorClasses= new Class[] { AbstractTypeDeclaration.class, AnonymousClassDeclaration.class };
751755
ASTNode ancestor= getFirstAncestorOrNull(node, ancestorClasses);
752756
if (ancestor == null) {
753757
throw new IllegalStateException(node,
@@ -2331,22 +2335,22 @@ public static boolean isSameVariable(ASTNode node1, ASTNode node2) {
23312335
* @return the last parent node of the provided classes, or the current node
23322336
* otherwise
23332337
*/
2334-
public static ASTNode getMatchingParent(final ASTNode node, final Class<?>... includedClasses) {
2338+
public static ASTNode getHighestCompatibleNode(final ASTNode node, final Class<? extends ASTNode>... includedClasses) {
23352339
ASTNode parent= node.getParent();
23362340

23372341
if (instanceOf(parent, includedClasses)) {
2338-
return getMatchingParent(parent, includedClasses);
2342+
return getHighestCompatibleNode(parent, includedClasses);
23392343
}
23402344

23412345
return node;
23422346
}
23432347

2344-
private static boolean instanceOf(final ASTNode node, final Class<?>... clazzes) {
2348+
private static boolean instanceOf(final ASTNode node, final Class<? extends ASTNode>... clazzes) {
23452349
if (node == null) {
23462350
return false;
23472351
}
23482352

2349-
for (Class<?> clazz : clazzes) {
2353+
for (Class<? extends ASTNode> clazz : clazzes) {
23502354
if (clazz.isAssignableFrom(node.getClass())) {
23512355
return true;
23522356
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ private VariableNameDecider(final ASTNode scope, final int insertionPoint) {
9797
}
9898

9999
private ASTNode getNamingScope(final ASTNode scope) {
100-
Class<?>[] ancestorClasses= { MethodDeclaration.class, Initializer.class };
100+
Class<? extends ASTNode>[] ancestorClasses= new Class[] { MethodDeclaration.class, Initializer.class };
101101
ASTNode ancestor= ASTNodes.getFirstAncestorOrNull(scope, ancestorClasses);
102102
if (ancestor == null) {
103103
throw new IllegalStateException(scope, "Expected to find an ancestor among the types " //$NON-NLS-1$

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ private void extractIncrement(final Expression visited, final Expression variabl
221221
ASTNodeFactory ast= cuRewrite.getASTBuilder();
222222
TextEditGroup group= new TextEditGroup(MultiFixMessages.IncrementStatementRatherThanIncrementExpressionCleanUp_description);
223223

224-
ASTNodes.replaceButKeepComment(rewrite, ASTNodes.getMatchingParent(visited, ParenthesizedExpression.class), ast.createCopyTarget(variable), group);
224+
ASTNodes.replaceButKeepComment(rewrite, ASTNodes.getHighestCompatibleNode(visited, ParenthesizedExpression.class), ast.createCopyTarget(variable), group);
225225

226226
if (visited instanceof PostfixExpression) {
227227
Statement newAssignment= ast.newExpressionStatement(ASTNodes.createMoveTarget(rewrite, visited));

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,13 +187,13 @@ private boolean moveAssignmentBeforeIfStatement(final IfStatement node, final As
187187

188188
if (fragment != null && (fragment.getInitializer() == null || ASTNodes.isPassive(fragment.getInitializer()))) {
189189
rewrite.set(fragment, VariableDeclarationFragment.INITIALIZER_PROPERTY, assignment.getRightHandSide(), group);
190-
ASTNodes.replaceButKeepComment(rewrite, ASTNodes.getMatchingParent(assignment, ParenthesizedExpression.class), ast.createCopyTarget(lhs), group);
190+
ASTNodes.replaceButKeepComment(rewrite, ASTNodes.getHighestCompatibleNode(assignment, ParenthesizedExpression.class), ast.createCopyTarget(lhs), group);
191191
result= false;
192192
return false;
193193
}
194194

195195
if (!ASTNodes.isInElse(node)) {
196-
ASTNodes.replaceButKeepComment(rewrite, ASTNodes.getMatchingParent(assignment, ParenthesizedExpression.class), ast.createCopyTarget(lhs), group);
196+
ASTNodes.replaceButKeepComment(rewrite, ASTNodes.getHighestCompatibleNode(assignment, ParenthesizedExpression.class), ast.createCopyTarget(lhs), group);
197197
Statement newAssignment= ast.newExpressionStatement(ASTNodes.createMoveTarget(rewrite, assignment));
198198

199199
if (ASTNodes.canHaveSiblings(node)) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ private ITypeBinding getDeclaringTypeInTypeHierarchy(final ITypeBinding typeBind
285285

286286
private ITypeBinding getDeclaringTypeInTopLevelHierarchy(final String simpleName, final FqnType fqnType,
287287
final ASTNode node) {
288-
Class<?>[] ancestorClasses= { AbstractTypeDeclaration.class, AnonymousClassDeclaration.class };
288+
Class<? extends ASTNode>[] ancestorClasses= new Class[] { AbstractTypeDeclaration.class, AnonymousClassDeclaration.class };
289289
ASTNode enclosingType= ASTNodes.getFirstAncestorOrNull(node, ancestorClasses);
290290

291291
while (enclosingType != null) {

0 commit comments

Comments
 (0)