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 2f0d56631fbe..733b4a61ce6f 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/ReplaceInefficientStreamCountInspection.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/ReplaceInefficientStreamCountInspection.java @@ -192,7 +192,7 @@ public class ReplaceInefficientStreamCountInspection extends BaseJavaBatchLocalI if(parameterList != null) { ct.delete(parameterList); } - String replacementText = (addCast ? "(long) " : "") + ct.text(qualifierCall); + String replacementText = (addCast ? "(long) " : "") + ct.text(methodExpression)+"()"; PsiElement replacement = ct.replaceAndRestoreComments(toReplace, factory.createExpressionFromText(replacementText, countCall)); if (replacement instanceof PsiTypeCastExpression && RedundantCastUtil.isCastRedundant((PsiTypeCastExpression)replacement)) { RedundantCastUtil.removeCast((PsiTypeCastExpression)replacement); diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/java18api/Java8ReplaceMapGetInspection.java b/java/java-analysis-impl/src/com/intellij/codeInspection/java18api/Java8ReplaceMapGetInspection.java index 82e58f2e212f..b2fb4b0a843b 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/java18api/Java8ReplaceMapGetInspection.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/java18api/Java8ReplaceMapGetInspection.java @@ -247,7 +247,7 @@ public class Java8ReplaceMapGetInspection extends BaseJavaBatchLocalInspectionTo PsiExpression defaultValue = assignment.getRExpression(); if (!ExpressionUtils.isSimpleExpression(defaultValue)) return; methodExpression.handleElementRename("getOrDefault"); - getCall.getArgumentList().add(ct.markUsed(defaultValue)); + getCall.getArgumentList().add(ct.markUnchanged(defaultValue)); } else { PsiExpression lambdaCandidate = extractLambdaCandidate(thenBranch, methodExpression.getQualifierExpression(), args[0], value); if (lambdaCandidate == null) return; diff --git a/java/java-tests/testData/inspection/inefficientStreamCount/afterStreamCountCastToInt.java b/java/java-tests/testData/inspection/inefficientStreamCount/afterStreamCountCastToInt.java index d6d375645018..568a58e58e3b 100644 --- a/java/java-tests/testData/inspection/inefficientStreamCount/afterStreamCountCastToInt.java +++ b/java/java-tests/testData/inspection/inefficientStreamCount/afterStreamCountCastToInt.java @@ -4,6 +4,7 @@ import java.util.Arrays; class Test { int cnt() { - return Arrays.asList('d', 'e', 'f').size(/*inside*/); + /*inside*/ + return Arrays.asList('d', 'e', 'f').size(); } } \ No newline at end of file diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/CommentTracker.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/CommentTracker.java index 9ac302671c2c..ebd4cbb0881a 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/CommentTracker.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/CommentTracker.java @@ -34,7 +34,8 @@ public class CommentTracker { private List comments = new ArrayList<>(); /** - * Marks the element as used and returns its text. The comments from used elements will not be extracted. + * Marks the element as unchanged and returns its text. The unchanged elements are assumed to be preserved + * in the resulting code as is, so the comments from them will not be extracted. * * @param element element to return the text * @return a text to be inserted into refactored code @@ -46,13 +47,14 @@ public class CommentTracker { } /** - * Marks the element as used and returns it. The comments from used elements will not be extracted. + * Marks the element as unchanged and returns it. The unchanged elements are assumed to be preserved + * in the resulting code as is, so the comments from them will not be extracted. * * @param element element to mark * @param the type of the element * @return the passed argument */ - public @NotNull T markUsed(@NotNull T element) { + public @NotNull T markUnchanged(@NotNull T element) { checkState(); ignoredParents.add(element); return element; @@ -95,7 +97,7 @@ public class CommentTracker { } /** - * Replaces given PsiElement collecting all the comments inside it and restore comments putting them + * Replaces given PsiElement collecting all the comments inside it and restores comments putting them * to the appropriate place before replaced element. * *

After calling this method the tracker cannot be used anymore.