34 lines
871 B
Java
34 lines
871 B
Java
|
/*
|
||
|
* @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
|
||
|
}
|