3789983e89
Reviewed-by: darcy, ihse
41 lines
893 B
Java
41 lines
893 B
Java
/*
|
|
* @test /nodynamiccopyright/
|
|
* @bug 8003280
|
|
* @summary Add lambda tests
|
|
* check that generic method reference is inferred when type parameters are omitted
|
|
* @compile/fail/ref=MethodReference45.out -XDrawDiagnostics MethodReference45.java
|
|
*/
|
|
public class MethodReference45 {
|
|
|
|
static int assertionCount = 0;
|
|
|
|
static void assertTrue(boolean cond) {
|
|
assertionCount++;
|
|
if (!cond)
|
|
throw new AssertionError();
|
|
}
|
|
|
|
static class SuperFoo<X> { }
|
|
|
|
static class Foo<X extends Number> extends SuperFoo<X> { }
|
|
|
|
interface SAM1 {
|
|
void m();
|
|
}
|
|
|
|
interface SAM2 {
|
|
void m();
|
|
}
|
|
|
|
static <X extends Number> Foo<X> m() { return null; }
|
|
|
|
static void g1(SAM1 s) { }
|
|
static void g2(SAM1 s) { }
|
|
static void g2(SAM2 s) { }
|
|
|
|
void test() {
|
|
g1(MethodReference45::m);
|
|
g2(MethodReference45::m);
|
|
}
|
|
}
|