You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2021/08/09 06:51:00 UTC
[groovy] 02/02: GROOVY-10148: Groovy should support sealed classes
(additional edge cases)
This is an automated email from the ASF dual-hosted git repository.
paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 53c568145b646fb0463e2b0979dce91d8c5cd1dc
Author: Paul King <pa...@asert.com.au>
AuthorDate: Mon Aug 9 16:50:53 2021 +1000
GROOVY-10148: Groovy should support sealed classes (additional edge cases)
---
.../org/codehaus/groovy/transform/NonSealedASTTransformation.java | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/main/java/org/codehaus/groovy/transform/NonSealedASTTransformation.java b/src/main/java/org/codehaus/groovy/transform/NonSealedASTTransformation.java
index 07aefe9..f633232 100644
--- a/src/main/java/org/codehaus/groovy/transform/NonSealedASTTransformation.java
+++ b/src/main/java/org/codehaus/groovy/transform/NonSealedASTTransformation.java
@@ -43,6 +43,14 @@ public class NonSealedASTTransformation extends AbstractASTTransformation {
if (parent instanceof ClassNode) {
ClassNode cNode = (ClassNode) parent;
+ if (cNode.isEnum()) {
+ addError("@" + NON_SEALED_CLASS.getSimpleName() + " not allowed for enum", cNode);
+ return;
+ }
+ if (cNode.isAnnotationDefinition()) {
+ addError("@" + NON_SEALED_CLASS.getSimpleName() + " not allowed for annotation definition", cNode);
+ return;
+ }
cNode.putNodeMetaData(NON_SEALED_CLASS, Boolean.TRUE);
}
}