From 80542d8cec05a14e8ff5aa5ef2ff5f3b7b244530 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Fri, 5 Apr 2019 15:20:44 +0200 Subject: [PATCH] IG: make inspection even more relaxed (IDEA-CR-45927) --- .../siyeh/ig/style/ChainedMethodCallInspection.java | 10 ++++------ .../style/chained_method_call/ChainedMethodCall.java | 9 +++++++++ .../ig/style/ChainedMethodCallInspectionTest.java | 8 ++++++++ 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/style/ChainedMethodCallInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/style/ChainedMethodCallInspection.java index 54803e41a129..7006b762c7a7 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/style/ChainedMethodCallInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/style/ChainedMethodCallInspection.java @@ -121,12 +121,10 @@ public class ChainedMethodCallInspection extends BaseInspection { return; } } - else { - PsiClass callClass = PsiUtil.resolveClassInClassTypeOnly(expression.getType()); - PsiClass qualifierClass = PsiUtil.resolveClassInClassTypeOnly(qualifier.getType()); - if (qualifierClass == null || qualifierClass.equals(callClass)) { - return; - } + PsiClass callClass = PsiUtil.resolveClassInClassTypeOnly(expression.getType()); + PsiClass qualifierClass = PsiUtil.resolveClassInClassTypeOnly(qualifier.getType()); + if (qualifierClass == null || qualifierClass.equals(callClass)) { + return; } } registerMethodCallError(expression); diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/style/chained_method_call/ChainedMethodCall.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/style/chained_method_call/ChainedMethodCall.java index be1b3906ab37..306611b38744 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/style/chained_method_call/ChainedMethodCall.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/style/chained_method_call/ChainedMethodCall.java @@ -1,5 +1,8 @@ package com.siyeh.igtest.bugs; +import java.util.List; +import java.util.stream.*; + public class ChainedMethodCall { private X baz = new X().foo().bar(); public void baz(){ @@ -19,4 +22,10 @@ public class ChainedMethodCall { return new X(); } } + + List streaming(List list, Object[] foo) { + Object[] objects = Stream.of(foo).distinct().toArray(); + Object[] objects2 = Stream.of(foo).parallel().distinct().toArray(); + return list.stream().filter(s -> s.length() < 3).collect(Collectors.toList()); + } } diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/style/ChainedMethodCallInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/style/ChainedMethodCallInspectionTest.java index dc6b29eddb9f..2cc7abbae07e 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/style/ChainedMethodCallInspectionTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/style/ChainedMethodCallInspectionTest.java @@ -2,7 +2,9 @@ package com.siyeh.ig.style; import com.intellij.codeInspection.InspectionProfileEntry; +import com.intellij.testFramework.LightProjectDescriptor; import com.siyeh.ig.LightInspectionTestCase; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** @@ -19,4 +21,10 @@ public class ChainedMethodCallInspectionTest extends LightInspectionTestCase { protected InspectionProfileEntry getInspection() { return new ChainedMethodCallInspection(); } + + @NotNull + @Override + protected LightProjectDescriptor getProjectDescriptor() { + return JAVA_8; + } }