diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/ReplaceInefficientStreamCountInspection.java b/java/java-analysis-impl/src/com/intellij/codeInspection/ReplaceInefficientStreamCountInspection.java index dcdf5af2e16f..2f0d56631fbe 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/ReplaceInefficientStreamCountInspection.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/ReplaceInefficientStreamCountInspection.java @@ -188,6 +188,10 @@ public class ReplaceInefficientStreamCountInspection extends BaseJavaBatchLocalI } } CommentTracker ct = new CommentTracker(); + PsiReferenceParameterList parameterList = methodExpression.getParameterList(); + if(parameterList != null) { + ct.delete(parameterList); + } String replacementText = (addCast ? "(long) " : "") + ct.text(qualifierCall); PsiElement replacement = ct.replaceAndRestoreComments(toReplace, factory.createExpressionFromText(replacementText, countCall)); if (replacement instanceof PsiTypeCastExpression && RedundantCastUtil.isCastRedundant((PsiTypeCastExpression)replacement)) { diff --git a/java/java-tests/testData/inspection/inefficientStreamCount/afterStreamCountParameter.java b/java/java-tests/testData/inspection/inefficientStreamCount/afterStreamCountParameter.java new file mode 100644 index 000000000000..6a59cc5a2782 --- /dev/null +++ b/java/java-tests/testData/inspection/inefficientStreamCount/afterStreamCountParameter.java @@ -0,0 +1,12 @@ +// "Replace Collection.stream().count() with Collection.size()" "true" + +import java.util.ArrayList; +import java.util.List; + +public class Main { + public static long test() { + List s = new ArrayList<>(); + /* unused parameter */ + return (long) s.size(); + } +} diff --git a/java/java-tests/testData/inspection/inefficientStreamCount/beforeStreamCountParameter.java b/java/java-tests/testData/inspection/inefficientStreamCount/beforeStreamCountParameter.java new file mode 100644 index 000000000000..8dec3f0a76a1 --- /dev/null +++ b/java/java-tests/testData/inspection/inefficientStreamCount/beforeStreamCountParameter.java @@ -0,0 +1,11 @@ +// "Replace Collection.stream().count() with Collection.size()" "true" + +import java.util.ArrayList; +import java.util.List; + +public class Main { + public static long test() { + List s = new ArrayList<>(); + return s.stream().count(); + } +}