| /* | |
| * @test /nodynamiccopyright/ | |
| * @bug 8347530 | |
| * @summary Improve error message with invalid permits clauses | |
| * @compile/fail/ref=T8347530.out -XDrawDiagnostics T8347530.java | |
| */ | |
| class T8347530 { | |
| // sealed interfaces | |
| sealed interface A0 permits B0 {} | |
| class B0 {} // class {0} must implement sealed interface | |
| sealed interface A1 permits B1 {} | |
| record B1() {} // record {0} must implement sealed interface | |
| sealed interface A2 permits B2 {} | |
| enum B2 {} // enum {0} must implement sealed interface | |
| sealed interface A3 permits B3 {} | |
| interface B3 {} // interface {0} must implement sealed interface | |
| // sealed classes | |
| sealed class C0 permits S0 {} | |
| class S0 {} // class {0} must extend sealed class | |
| // record cannot extend other classes in general | |
| // enums cannot extend other classes in general | |
| // interfaces cannot extend other classes in general | |
| } |