From c3e57bf91188fb5613e5f07682648f26227f4c0f Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Wed, 28 Sep 2016 12:00:30 +0700 Subject: [PATCH] Java8CollectionsApiInspection: access modifiers, cosmetic, more comments in tests (IDEA-CR-14084) --- .../Java8CollectionsApiInspection.java | 22 +++++++++---------- .../afterIteratorRemoveFor.java | 3 +++ .../beforeIteratorRemoveFor.java | 3 +++ 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/java18api/Java8CollectionsApiInspection.java b/java/java-analysis-impl/src/com/intellij/codeInspection/java18api/Java8CollectionsApiInspection.java index b23316268de0..2bee199a292f 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/java18api/Java8CollectionsApiInspection.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/java18api/Java8CollectionsApiInspection.java @@ -572,14 +572,14 @@ public class Java8CollectionsApiInspection extends BaseJavaBatchLocalInspectionT @NotNull @Override public String getName() { - return QuickFixBundle.message("java.8.collections.api.inspection.remove.fix.name"); + return getFamilyName(); } @Nls @NotNull @Override public String getFamilyName() { - return getName(); + return QuickFixBundle.message("java.8.collections.api.inspection.remove.fix.name"); } @Override @@ -607,9 +607,7 @@ public class Java8CollectionsApiInspection extends BaseJavaBatchLocalInspectionT if(condition == null) return; if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return; String replacement = (declaration.myCollection == null ? "" : declaration.myCollection.getText() + ".") + - "removeIf(" + - LambdaUtil.createLambda(variable, condition) + - ");"; + "removeIf(" + LambdaUtil.createLambda(variable, condition) + ");"; Collection comments = ContainerUtil.map(PsiTreeUtil.findChildrenOfType(loop, PsiComment.class), comment -> (PsiComment)comment.copy()); PsiElement result = loop.replace(JavaPsiFacade.getElementFactory(project).createStatementFromText(replacement, loop)); @@ -620,11 +618,11 @@ public class Java8CollectionsApiInspection extends BaseJavaBatchLocalInspectionT } } - static class IteratorDeclaration { - private final @NotNull PsiVariable myIterator; + private static class IteratorDeclaration { + private final @NotNull PsiLocalVariable myIterator; private final @Nullable PsiExpression myCollection; - private IteratorDeclaration(@NotNull PsiVariable iterator, @Nullable PsiExpression collection) { + private IteratorDeclaration(@NotNull PsiLocalVariable iterator, @Nullable PsiExpression collection) { myIterator = iterator; myCollection = collection; } @@ -649,8 +647,8 @@ public class Java8CollectionsApiInspection extends BaseJavaBatchLocalInspectionT PsiDeclarationStatement declaration = (PsiDeclarationStatement)statement; if(declaration.getDeclaredElements().length != 1) return null; PsiElement element = declaration.getDeclaredElements()[0]; - if(!(element instanceof PsiVariable)) return null; - PsiVariable var = (PsiVariable)element; + if(!(element instanceof PsiLocalVariable)) return null; + PsiLocalVariable var = (PsiLocalVariable)element; if(!isIteratorMethodCall(var.getInitializer(), "next")) return null; return var; } @@ -661,8 +659,8 @@ public class Java8CollectionsApiInspection extends BaseJavaBatchLocalInspectionT PsiDeclarationStatement declaration = (PsiDeclarationStatement)statement; if(declaration.getDeclaredElements().length != 1) return null; PsiElement element = declaration.getDeclaredElements()[0]; - if(!(element instanceof PsiVariable)) return null; - PsiVariable variable = (PsiVariable)element; + if(!(element instanceof PsiLocalVariable)) return null; + PsiLocalVariable variable = (PsiLocalVariable)element; PsiExpression initializer = variable.getInitializer(); if(!(initializer instanceof PsiMethodCallExpression)) return null; PsiMethodCallExpression call = (PsiMethodCallExpression)initializer; diff --git a/java/java-tests/testData/inspection/java8CollectionsApi/afterIteratorRemoveFor.java b/java/java-tests/testData/inspection/java8CollectionsApi/afterIteratorRemoveFor.java index 7e4741a3599e..390fef440bfb 100644 --- a/java/java-tests/testData/inspection/java8CollectionsApi/afterIteratorRemoveFor.java +++ b/java/java-tests/testData/inspection/java8CollectionsApi/afterIteratorRemoveFor.java @@ -3,6 +3,9 @@ import java.util.*; public class Main { public void removeEmpty(List list) throws Exception { + // iterate over list +// if it's empty +/* remove! */ list.removeIf(String::isEmpty); } } \ No newline at end of file diff --git a/java/java-tests/testData/inspection/java8CollectionsApi/beforeIteratorRemoveFor.java b/java/java-tests/testData/inspection/java8CollectionsApi/beforeIteratorRemoveFor.java index 5b2aed95e73c..4ba161a8d4f5 100644 --- a/java/java-tests/testData/inspection/java8CollectionsApi/beforeIteratorRemoveFor.java +++ b/java/java-tests/testData/inspection/java8CollectionsApi/beforeIteratorRemoveFor.java @@ -4,8 +4,11 @@ import java.util.*; public class Main { public void removeEmpty(List list) throws Exception { for(Iterator it = list.iterator(); it.hasNext();) { + // iterate over list String str = it.next(); + // if it's empty if(str.isEmpty()) { + /* remove! */ it.remove(); } }