| /* |
| * @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 |
| } |