testdata for IDEA-102800
authorAnna Kozlova <anna.kozlova@jetbrains.com>
Mon, 8 Sep 2014 11:23:00 +0000 (15:23 +0400)
committerAnna Kozlova <anna.kozlova@jetbrains.com>
Mon, 8 Sep 2014 11:37:38 +0000 (15:37 +0400)
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/overloadResolution/IDEA102800.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/OverloadResolutionTest.java

diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/overloadResolution/IDEA102800.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/overloadResolution/IDEA102800.java
new file mode 100644 (file)
index 0000000..7c2cc7b
--- /dev/null
@@ -0,0 +1,31 @@
+import java.util.function.IntFunction;
+import java.util.function.IntUnaryOperator;
+import java.util.function.Supplier;
+import java.util.stream.IntStream;
+import java.util.stream.Stream;
+
+class Test {
+
+  interface IntStream1 {
+    Stream<Integer> map(IntFunction<Integer> mapper);
+    IntStream1 map(IntUnaryOperator mapper);
+
+    Stream<Integer> boxed();
+  }
+
+  void fooBar(IntStream1 instr){
+    Supplier<Stream<Integer>> si = () -> instr.map ((i) -> (( <error descr="Operator '%' cannot be applied to '<lambda parameter>', 'int'">i % 2</error>) == 0) ? i : <error descr="Incompatible types. Found: '<lambda parameter>', required: '<lambda parameter>'">-i</error>).boxed();
+    System.out.println(si);
+    Supplier<Stream<Integer>> si1 = () -> instr.map <error descr="Ambiguous method call: both 'IntStream1.map(IntFunction<Integer>)' and 'IntStream1.map(IntUnaryOperator)' match">(null)</error>.boxed();
+    System.out.println(si1);
+  }
+}
+
+class TestInitial {
+  void fooBar(){
+    Supplier<Stream<Integer>> si = () -> IntStream.range(0, 20).map((i) -> ((i % 2) == 0) ? i : -i).boxed();
+    System.out.println(si);
+  }
+}
+
+
index 3ccc97d69c17d4f54efd8be5eabb8f2b167049a1..0e5c5a2f3d78783a177e4ba23df8e023b49bec34 100644 (file)
@@ -43,6 +43,10 @@ public class OverloadResolutionTest extends LightDaemonAnalyzerTestCase {
     doTest();
   }
 
+  public void testIDEA102800() throws Exception {
+    doTest();
+  }
+
   private void doTest() {
     doTest(true);
   }