jdk-24/test/langtools/tools/javac/lambda/MethodReference37.java
2017-09-12 19:03:39 +02:00

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;
}
}