3789983e89
Reviewed-by: darcy, ihse
41 lines
896 B
Java
41 lines
896 B
Java
/*
|
|
* @test /nodynamiccopyright/
|
|
* @bug 8003280 8081271
|
|
* @summary Add lambda tests
|
|
* spurious exceptions when checking references to inner constructors where
|
|
* the enclosing class is not defined in any outer context
|
|
* @compile/fail/ref=MethodReference37.out -XDrawDiagnostics MethodReference37.java
|
|
*/
|
|
|
|
class MethodReference37 {
|
|
|
|
interface SAM1<R> {
|
|
R invoke();
|
|
}
|
|
|
|
interface SAM2<R, A> {
|
|
R invoke(A a);
|
|
}
|
|
|
|
static class Outer {
|
|
class Inner { }
|
|
|
|
void test1() {
|
|
SAM2<Inner, Outer> sam = Inner::new;
|
|
}
|
|
|
|
void test2() {
|
|
SAM1<Inner> sam0 = Inner::new;
|
|
SAM2<Inner, Outer> sam1 = Inner::new;
|
|
}
|
|
}
|
|
|
|
static void test1() {
|
|
SAM2<Outer.Inner, Outer> sam = Outer.Inner::new;
|
|
}
|
|
|
|
void test2() {
|
|
SAM2<Outer.Inner, Outer> sam1 = Outer.Inner::new;
|
|
}
|
|
}
|