Thu, 07 Mar 2013 10:04:28 +0000
8009138: javac, equals-hashCode warning tuning
Reviewed-by: mcimadamore
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
10 @FunctionalInterface
11 static abstract class B { } //not an interface
13 @FunctionalInterface
14 enum C { } //not an interface
16 @FunctionalInterface
17 @interface D { } //not an interface
19 @FunctionalInterface
20 interface E { } //no abstracts
22 @FunctionalInterface
23 interface F { default void m() { } } //no abstracts
25 @FunctionalInterface
26 interface G { String toString(); } //no abstracts
28 @FunctionalInterface
29 interface H { void m(); void n(); } //incompatible abstracts
31 @FunctionalInterface
32 interface I { void m(); } //ok
33 }