diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA123848.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA123848.java new file mode 100644 index 000000000000..0d1cec6f3c21 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newLambda/IDEA123848.java @@ -0,0 +1,27 @@ +import java.util.*; + +import static java.util.stream.Collectors.groupingBy; +import static java.util.stream.Collectors.mapping; +import static java.util.stream.Collectors.toList; + +class Test { + + private static void run() { + List list = Arrays.asList(new R()); + + System.out.println( + list.stream() + .collect(groupingBy(r -> r.get(String.class), mapping(r -> r.get(String.class),toList()) + )) + ); + } + + static class R { + T get(Class clazz) { + if (clazz == String.class) + return (T) "string"; + + throw new IllegalArgumentException(); + } + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/NewLambdaHighlightingTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/NewLambdaHighlightingTest.java index fa13181d7a22..5e21a82fa200 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/NewLambdaHighlightingTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/NewLambdaHighlightingTest.java @@ -194,6 +194,10 @@ public class NewLambdaHighlightingTest extends LightDaemonAnalyzerTestCase { doTest(); } + public void testIDEA123848() throws Exception { + doTest(); + } + private void doTest() { doTest(false); }