You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2021/08/07 19:35:54 UTC

[groovy] branch master updated: Trivial refactoring: extract `Sealed` type constant

This is an automated email from the ASF dual-hosted git repository.

sunlan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/master by this push:
     new 9bb74fa  Trivial refactoring: extract `Sealed` type constant
9bb74fa is described below

commit 9bb74fab33aacb224c22c81374bd7dbc074c9874
Author: Daniel Sun <su...@apache.org>
AuthorDate: Sun Aug 8 03:35:39 2021 +0800

    Trivial refactoring: extract `Sealed` type constant
---
 src/main/java/org/codehaus/groovy/ast/ClassHelper.java                | 2 ++
 src/main/java/org/codehaus/groovy/ast/ClassNode.java                  | 4 +---
 .../java/org/codehaus/groovy/ast/decompiled/DecompiledClassNode.java  | 4 ----
 src/main/java/org/codehaus/groovy/classgen/Verifier.java              | 3 +--
 .../org/codehaus/groovy/transform/trait/TraitASTTransformation.java   | 3 +--
 5 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/ast/ClassHelper.java b/src/main/java/org/codehaus/groovy/ast/ClassHelper.java
index 9f2db6f..c60b400 100644
--- a/src/main/java/org/codehaus/groovy/ast/ClassHelper.java
+++ b/src/main/java/org/codehaus/groovy/ast/ClassHelper.java
@@ -46,6 +46,7 @@ import groovy.lang.Tuple6;
 import groovy.lang.Tuple7;
 import groovy.lang.Tuple8;
 import groovy.lang.Tuple9;
+import groovy.transform.Sealed;
 import org.apache.groovy.util.Maps;
 import org.apache.groovy.util.concurrent.ManagedIdentityConcurrentMap;
 import org.codehaus.groovy.classgen.asm.util.TypeUtil;
@@ -139,6 +140,7 @@ public class ClassHelper {
             AUTOCLOSEABLE_TYPE = makeCached(AutoCloseable.class),
             SERIALIZABLE_TYPE = makeCached(Serializable.class),
             SERIALIZEDLAMBDA_TYPE = makeCached(SerializedLambda.class),
+            SEALED_TYPE = makeCached(Sealed.class),
 
             // uncached constants
             MAP_TYPE = makeWithoutCaching(Map.class),
diff --git a/src/main/java/org/codehaus/groovy/ast/ClassNode.java b/src/main/java/org/codehaus/groovy/ast/ClassNode.java
index a7be838..87b278f 100644
--- a/src/main/java/org/codehaus/groovy/ast/ClassNode.java
+++ b/src/main/java/org/codehaus/groovy/ast/ClassNode.java
@@ -18,7 +18,6 @@
  */
 package org.codehaus.groovy.ast;
 
-import groovy.transform.Sealed;
 import org.apache.groovy.ast.tools.ClassNodeUtils;
 import org.codehaus.groovy.GroovyBugError;
 import org.codehaus.groovy.ast.expr.BinaryExpression;
@@ -52,10 +51,10 @@ import java.util.stream.Collectors;
 
 import static java.util.Arrays.stream;
 import static org.apache.groovy.ast.tools.MethodNodeUtils.getCodeAsBlock;
+import static org.codehaus.groovy.ast.ClassHelper.SEALED_TYPE;
 import static org.codehaus.groovy.ast.ClassHelper.isObjectType;
 import static org.codehaus.groovy.ast.ClassHelper.isPrimitiveBoolean;
 import static org.codehaus.groovy.ast.ClassHelper.isPrimitiveVoid;
-import static org.codehaus.groovy.ast.ClassHelper.make;
 import static org.objectweb.asm.Opcodes.ACC_ABSTRACT;
 import static org.objectweb.asm.Opcodes.ACC_ANNOTATION;
 import static org.objectweb.asm.Opcodes.ACC_ENUM;
@@ -144,7 +143,6 @@ public class ClassNode extends AnnotatedNode {
     public static final ClassNode[] EMPTY_ARRAY = new ClassNode[0];
     public static final ClassNode THIS = new ClassNode(Object.class);
     public static final ClassNode SUPER = new ClassNode(Object.class);
-    private static final ClassNode SEALED_TYPE = make(Sealed.class);
 
     private String name;
     private int modifiers;
diff --git a/src/main/java/org/codehaus/groovy/ast/decompiled/DecompiledClassNode.java b/src/main/java/org/codehaus/groovy/ast/decompiled/DecompiledClassNode.java
index a967110..f6a81ff 100644
--- a/src/main/java/org/codehaus/groovy/ast/decompiled/DecompiledClassNode.java
+++ b/src/main/java/org/codehaus/groovy/ast/decompiled/DecompiledClassNode.java
@@ -18,7 +18,6 @@
  */
 package org.codehaus.groovy.ast.decompiled;
 
-import groovy.transform.Sealed;
 import org.codehaus.groovy.ast.AnnotatedNode;
 import org.codehaus.groovy.ast.AnnotationNode;
 import org.codehaus.groovy.ast.ClassNode;
@@ -35,8 +34,6 @@ import java.lang.reflect.Modifier;
 import java.util.List;
 import java.util.function.Supplier;
 
-import static org.codehaus.groovy.ast.ClassHelper.make;
-
 /**
  * A {@link ClassNode} kind representing the classes coming from *.class files decompiled using ASM.
  *
@@ -47,7 +44,6 @@ public class DecompiledClassNode extends ClassNode {
     private final AsmReferenceResolver resolver;
     private volatile boolean supersInitialized;
     private volatile boolean membersInitialized;
-    private static final ClassNode SEALED_TYPE = make(Sealed.class);
 
     public DecompiledClassNode(ClassStub data, AsmReferenceResolver resolver) {
         super(data.className, getFullModifiers(data), null, null, MixinNode.EMPTY_ARRAY);
diff --git a/src/main/java/org/codehaus/groovy/classgen/Verifier.java b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
index 96dac02..5425c24 100644
--- a/src/main/java/org/codehaus/groovy/classgen/Verifier.java
+++ b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
@@ -103,11 +103,11 @@ import static org.apache.groovy.ast.tools.MethodNodeUtils.getCodeAsBlock;
 import static org.apache.groovy.ast.tools.MethodNodeUtils.getPropertyName;
 import static org.apache.groovy.ast.tools.MethodNodeUtils.methodDescriptorWithoutReturnType;
 import static org.codehaus.groovy.ast.AnnotationNode.METHOD_TARGET;
+import static org.codehaus.groovy.ast.ClassHelper.SEALED_TYPE;
 import static org.codehaus.groovy.ast.ClassHelper.isObjectType;
 import static org.codehaus.groovy.ast.ClassHelper.isPrimitiveBoolean;
 import static org.codehaus.groovy.ast.ClassHelper.isPrimitiveDouble;
 import static org.codehaus.groovy.ast.ClassHelper.isPrimitiveLong;
-import static org.codehaus.groovy.ast.ClassHelper.make;
 import static org.codehaus.groovy.ast.tools.GeneralUtils.binX;
 import static org.codehaus.groovy.ast.tools.GeneralUtils.block;
 import static org.codehaus.groovy.ast.tools.GeneralUtils.bytecodeX;
@@ -159,7 +159,6 @@ public class Verifier implements GroovyClassVisitor, Opcodes {
     private static final Class<?> GENERATED_ANNOTATION = Generated.class;
     private static final Class<?> INTERNAL_ANNOTATION = Internal.class;
     private static final Class<?> TRANSIENT_ANNOTATION = Transient.class;
-    private static final ClassNode SEALED_TYPE = make(Sealed.class);
 
     // NOTE: timeStamp constants shouldn't belong to Verifier but kept here for binary compatibility
     public static final String __TIMESTAMP = "__timeStamp";
diff --git a/src/main/java/org/codehaus/groovy/transform/trait/TraitASTTransformation.java b/src/main/java/org/codehaus/groovy/transform/trait/TraitASTTransformation.java
index 3463b3e..2e46106 100644
--- a/src/main/java/org/codehaus/groovy/transform/trait/TraitASTTransformation.java
+++ b/src/main/java/org/codehaus/groovy/transform/trait/TraitASTTransformation.java
@@ -19,7 +19,6 @@
 package org.codehaus.groovy.transform.trait;
 
 import groovy.transform.CompilationUnitAware;
-import groovy.transform.Sealed;
 import org.codehaus.groovy.ast.ASTNode;
 import org.codehaus.groovy.ast.AnnotatedNode;
 import org.codehaus.groovy.ast.AnnotationNode;
@@ -105,7 +104,7 @@ public class TraitASTTransformation extends AbstractASTTransformation implements
 
     private static final ClassNode INVOKERHELPER_CLASSNODE = ClassHelper.make(InvokerHelper.class);
     private static final ClassNode OVERRIDE_CLASSNODE = ClassHelper.make(Override.class);
-    private static final ClassNode SEALED_CLASSNODE = ClassHelper.make(Sealed.class);
+    private static final ClassNode SEALED_CLASSNODE = ClassHelper.SEALED_TYPE;
 
     private SourceUnit sourceUnit;
     private CompilationUnit compilationUnit;