mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-15 16:44:36 +02:00
8016175: Add bottom-up type-checking support for unambiguous method references
Type-checking of non-overloaded method references should be independent from target-type Reviewed-by: jjg, vromero
This commit is contained in:
parent
941752ea25
commit
99b0413d48
16 changed files with 360 additions and 83 deletions
26
langtools/test/tools/javac/lambda/MethodReference71.java
Normal file
26
langtools/test/tools/javac/lambda/MethodReference71.java
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
* @test /nodynamiccopyright/
|
||||
* @bug 8016175
|
||||
* @summary Add bottom-up type-checking support for unambiguous method references
|
||||
* @compile/fail/ref=MethodReference71.out -XDrawDiagnostics MethodReference71.java
|
||||
*/
|
||||
class MethodReference71 {
|
||||
interface F<X> {
|
||||
void m(X x);
|
||||
}
|
||||
|
||||
interface G<X> {
|
||||
Integer m(X x);
|
||||
}
|
||||
|
||||
void m1(Integer i) { }
|
||||
void m2(Integer... i) { }
|
||||
|
||||
<Z> void g(F<Z> f) { }
|
||||
<Z> void g(G<Z> g) { }
|
||||
|
||||
void test() {
|
||||
g(this::m1); //ok
|
||||
g(this::m2); //ambiguous (stuck!)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue