diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/JDK8034223.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/JDK8034223.java new file mode 100644 index 000000000000..f2bc3ffe91f1 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/mostSpecific/JDK8034223.java @@ -0,0 +1,18 @@ +class MS { + interface GetInt { int get(); } + interface GetInteger { Integer get(); } + + private void m(GetInt getter) { + System.out.println(getter); + } + + private void m(GetInteger getter) { + System.out.println(getter); + } + + void test(boolean cond) { + m(cond ? () -> 26 : () -> 24); + m(cond ? () -> 26 : () -> new Integer(42)); + m(cond ? () -> new Integer(26) : () -> new Integer(42)); + } +} diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/MostSpecificResolutionTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/MostSpecificResolutionTest.java index 80c8ff962c61..6b21b8c03e2c 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/MostSpecificResolutionTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/MostSpecificResolutionTest.java @@ -67,6 +67,10 @@ public class MostSpecificResolutionTest extends LightDaemonAnalyzerTestCase { doTest(); } + public void testJDK8034223() throws Exception { + doTest(); + } + private void doTest() { doTest(true); }