From b210302118682498084150a12352bd09c2e82f1a Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Fri, 3 Feb 2017 16:18:48 +0300 Subject: [PATCH] SimplifyStreamApiCallChainsInspection: fixed toArray conversion --- .../SimplifyStreamApiCallChainsInspection.java | 1 + .../inspection/streamApiCallChains/beforeToArrayMap.java | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 java/java-tests/testData/inspection/streamApiCallChains/beforeToArrayMap.java diff --git a/java/java-impl/src/com/intellij/codeInspection/SimplifyStreamApiCallChainsInspection.java b/java/java-impl/src/com/intellij/codeInspection/SimplifyStreamApiCallChainsInspection.java index a8c91b897d40..2983241d3a35 100644 --- a/java/java-impl/src/com/intellij/codeInspection/SimplifyStreamApiCallChainsInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/SimplifyStreamApiCallChainsInspection.java @@ -855,6 +855,7 @@ public class SimplifyStreamApiCallChainsInspection extends BaseJavaBatchLocalIns static CallHandler handler() { return CallHandler.of(TO_ARRAY, methodCall -> { + if (!COLLECTION_STREAM.test(getQualifierMethodCall(methodCall))) return null; PsiArrayType type = getArrayType(methodCall); if (type == null) return null; String replacement = type.equalsToText(CommonClassNames.JAVA_LANG_OBJECT + "[]") ? "" : diff --git a/java/java-tests/testData/inspection/streamApiCallChains/beforeToArrayMap.java b/java/java-tests/testData/inspection/streamApiCallChains/beforeToArrayMap.java new file mode 100644 index 000000000000..1402d359a999 --- /dev/null +++ b/java/java-tests/testData/inspection/streamApiCallChains/beforeToArrayMap.java @@ -0,0 +1,9 @@ +// "Replace 'collection.stream().toArray()' with 'collection.toArray()'" "false" + +import java.util.*; + +class Test { + public void testToArray(List data) { + Object[] array = data.stream().map(x -> x).toArray(); + } +} \ No newline at end of file