From 86b7bcfe0ad75c3cec38025ae0d07d4a9f7a4c56 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Fri, 17 Feb 2017 12:15:58 +0700 Subject: [PATCH] IDEA-168296 Comments are duplicated when I replace Map.entrySet() loop with Map.forEach --- .../codeInspection/java18api/Java8MapForEachInspection.java | 2 +- .../testData/inspection/java8MapForEach/afterForEach.java | 6 ++++++ .../testData/inspection/java8MapForEach/beforeForEach.java | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/codeInspection/java18api/Java8MapForEachInspection.java b/java/java-impl/src/com/intellij/codeInspection/java18api/Java8MapForEachInspection.java index f5b15d6a28b4..91b2e197f861 100644 --- a/java/java-impl/src/com/intellij/codeInspection/java18api/Java8MapForEachInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/java18api/Java8MapForEachInspection.java @@ -191,7 +191,7 @@ public class Java8MapForEachInspection extends BaseJavaBatchLocalInspectionTool LambdaRefactoringUtil.simplifyToExpressionLambda(newLambda); entrySetCall.getArgumentList().add(newLambda); ExpressionUtils.bindCallTo(entrySetCall, "forEach"); - return entrySetCall.getText(); + return ct.text(entrySetCall); } private static void fixInForeach(PsiForeachStatement loop) { diff --git a/java/java-tests/testData/inspection/java8MapForEach/afterForEach.java b/java/java-tests/testData/inspection/java8MapForEach/afterForEach.java index b2925561df4f..2d69e718fea6 100644 --- a/java/java-tests/testData/inspection/java8MapForEach/afterForEach.java +++ b/java/java-tests/testData/inspection/java8MapForEach/afterForEach.java @@ -86,4 +86,10 @@ public class Test { System.out.println(str + ":" + num); }); } + + void forEach(Map map) { + map.forEach((key, value) -> { + //long comment + }); + } } diff --git a/java/java-tests/testData/inspection/java8MapForEach/beforeForEach.java b/java/java-tests/testData/inspection/java8MapForEach/beforeForEach.java index 77a27e10fe2c..3f28804c0384 100644 --- a/java/java-tests/testData/inspection/java8MapForEach/beforeForEach.java +++ b/java/java-tests/testData/inspection/java8MapForEach/beforeForEach.java @@ -108,4 +108,10 @@ public class Test { System.out.println(str + ":" + num); } } + + void forEach(Map map) { + for (Map.Entry entry : map.entrySet()) { + //long comment + } + } }