| /* | |
| * @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; | |
| } | |
| } |