test/tools/javac/lambda/FunctionalInterfaceAnno.java

changeset 0
959103a6100f
equal deleted inserted replaced
-1:000000000000 0:959103a6100f
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 }

mercurial