ensure functional type for formal parameters lambda is valid after method reference replacement (IDEA-135053)

This commit is contained in:
Anna Kozlova
2015-01-08 19:47:01 +01:00
parent 3d9f911dc3
commit fcb252d25e
3 changed files with 41 additions and 6 deletions

View File

@@ -0,0 +1,16 @@
// "Replace lambda with method reference" "true"
import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.function.Supplier;
class Test {
public Test(String s) {}
public static void define(Supplier<?> moduleConstructor){}
public static void define(Function<?, ?> moduleConstructor){}
public static void define(BiFunction<?, ?, ?> moduleConstructor){}
{
define((Function<String, Object>) Test::new);
}
}

View File

@@ -0,0 +1,16 @@
// "Replace lambda with method reference" "true"
import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.function.Supplier;
class Test {
public Test(String s) {}
public static void define(Supplier<?> moduleConstructor){}
public static void define(Function<?, ?> moduleConstructor){}
public static void define(BiFunction<?, ?, ?> moduleConstructor){}
{
define((String s) -> new Test<caret>(s));
}
}