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:
Maurizio Cimadamore 2013-07-17 14:09:46 +01:00
parent 941752ea25
commit 99b0413d48
16 changed files with 360 additions and 83 deletions

View 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!)
}
}