| /* | |
| * @test /nodynamiccopyright/ | |
| * @summary smoke test for functional interface annotation | |
| * @compile/fail/ref=FunctionalInterfaceAnno.out -XDrawDiagnostics FunctionalInterfaceAnno.java | |
| */ | |
| class FunctionalInterfaceAnno { | |
| @FunctionalInterface | |
| static class A { } //not an interface | |
| @FunctionalInterface | |
| static abstract class B { } //not an interface | |
| @FunctionalInterface | |
| enum C { } //not an interface | |
| @FunctionalInterface | |
| @interface D { } //not an interface | |
| @FunctionalInterface | |
| interface E { } //no abstracts | |
| @FunctionalInterface | |
| interface F { default void m() { } } //no abstracts | |
| @FunctionalInterface | |
| interface G { String toString(); } //no abstracts | |
| @FunctionalInterface | |
| interface H { void m(); void n(); } //incompatible abstracts | |
| @FunctionalInterface | |
| interface I { void m(); } //ok | |
| } |