|
1 /* |
|
2 * @test /nodynamiccopyright/ |
|
3 * @summary smoke test for functional interface annotation |
|
4 * @compile/fail/ref=FunctionalInterfaceAnno.out -XDrawDiagnostics FunctionalInterfaceAnno.java |
|
5 */ |
|
6 class FunctionalInterfaceAnno { |
|
7 @FunctionalInterface |
|
8 static class A { } //not an interface |
|
9 |
|
10 @FunctionalInterface |
|
11 static abstract class B { } //not an interface |
|
12 |
|
13 @FunctionalInterface |
|
14 enum C { } //not an interface |
|
15 |
|
16 @FunctionalInterface |
|
17 @interface D { } //not an interface |
|
18 |
|
19 @FunctionalInterface |
|
20 interface E { } //no abstracts |
|
21 |
|
22 @FunctionalInterface |
|
23 interface F { default void m() { } } //no abstracts |
|
24 |
|
25 @FunctionalInterface |
|
26 interface G { String toString(); } //no abstracts |
|
27 |
|
28 @FunctionalInterface |
|
29 interface H { void m(); void n(); } //incompatible abstracts |
|
30 |
|
31 @FunctionalInterface |
|
32 interface I { void m(); } //ok |
|
33 } |