There appear to be a few related issues here:
* annotations on enum constants are not printed
* the implicit constructor for the enum has an illegal call to `super()`
$ cat A.java
enum E {
@Deprecated ONE;
}
$ javac -fullversion -printsource A.java
javac full version "14-ea+12-409"
$ cat E.java
enum E {
/*public static final*/ ONE /*enum*/ ;
private E() {
super();
}
}
$ javac E.java
E.java:6: error: call to super not allowed in enum constructor
super();
^
1 error
* additionally, subclasses of abstract enums include invalid synthetic constructors:
$ cat B.java
enum E {
ONE {
void f() {}
};
abstract void f();
}
$ javac -fullversion -printsource B.java
javac full version "14-ea+12-409"
$ cat E.java
enum E {
/*public static final*/ ONE /*enum*/ {
E() {
super();
}
void f() {
}
};
private E() {
super();
}
abstract void f();
}
$ javac E.java
E.java:5: error: invalid method declaration; return type required
E() {
^
1 error