Private06.java revision 2839:592d64800143
1299425Smm/* @test   /nodynamiccopyright/
2299425Smm * @bug    8071453
3299425Smm * @author sadayapalam
4299425Smm * @summary Test that a lone private interface method cannot supply the SAM.
5299425Smm * @compile/fail/ref=Private06.out -XDrawDiagnostics Private06.java
6299425Smm */
7299425Smm
8299425Smmpublic class Private06 {
9299425Smm    @FunctionalInterface
10299425Smm    interface NAFI {
11299425Smm        private void foo() {
12299425Smm        }
13299425Smm    }
14299425Smm
15299425Smm    @FunctionalInterface
16299425Smm    interface FI {
17299425Smm        void foo(NAFI nafi);
18299425Smm    }
19299425Smm
20299425Smm    public static void main(String [] args) {
21299425Smm        Private06.NAFI nafi = () -> {};
22299425Smm        Private06.FI fi = Private06.NAFI::foo; // OK.
23299425Smm    }
24299425Smm}
25299425Smm
26299425Smmclass Private06_01 {
27299425Smm    public static void main(String [] args) {
28299425Smm        Private06.FI fi = Private06.NAFI::foo; // NOT OK.
29299425Smm    }
30299425Smm}
31299425Smm