From 3b3006c187c0a210b3e5d9c0edb6890bd6bb5d7e Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Thu, 22 Aug 2019 12:17:53 +0700 Subject: [PATCH] IDEA-221011 Incorrect "Always false" warning inside Collectors.toMap collector GitOrigin-RevId: dc4750b8961aa2ec4d5c929a2a5944ec20b082d1 --- .../codeInspection/dataFlow/inliner/StreamChainInliner.java | 3 ++- .../inspection/dataFlow/fixture/StreamToMapInlining.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inliner/StreamChainInliner.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inliner/StreamChainInliner.java index 7ef6750d804a..1521d39ec3c4 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inliner/StreamChainInliner.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inliner/StreamChainInliner.java @@ -665,8 +665,9 @@ public class StreamChainInliner implements CallInliner { if (myMerger != null) { builder.pushUnknown() .ifConditionIs(true) + .pop() .push(builder.getFactory().getFactValue(DfaFactType.NULLABILITY, DfaNullability.NOT_NULL)) - .swap() + .dup() .invokeFunction(2, myMerger) .end(); } diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/StreamToMapInlining.java b/java/java-tests/testData/inspection/dataFlow/fixture/StreamToMapInlining.java index f3e6ce78074e..1d0a2f2b13b0 100644 --- a/java/java-tests/testData/inspection/dataFlow/fixture/StreamToMapInlining.java +++ b/java/java-tests/testData/inspection/dataFlow/fixture/StreamToMapInlining.java @@ -19,7 +19,7 @@ class MyClass { if (key1.size() > 1) { newValues = key1; newValues.addAll(key2); - } else if (key2.size() > 1) { + } else if (key2.size() > 1) { newValues = key2; newValues.addAll(key1); } else {