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