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 2020/09/12 16:26:22 UTC

[groovy] 09/19: minor refactor

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

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

commit 0d7f98f272c3293e1d1d76975c6a39cb928a5eab
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Tue Aug 25 11:26:04 2020 -0500

    minor refactor
    
    (cherry picked from commit e4b4a54470857fa1d1c57b4d0427cce57b2e06b2)
---
 .../groovy/transform/ASTTestTransformation.groovy  | 66 ++++++++++------------
 src/main/java/groovy/transform/ASTTest.java        |  8 +--
 .../codehaus/groovy/ast/expr/FieldExpression.java  | 10 ++--
 src/spec/test/DifferencesFromJavaTest.groovy       | 63 ++++++++++-----------
 src/spec/test/TestingASTTransformsTest.groovy      |  5 --
 src/test/gls/innerClass/InnerClassTest.groovy      |  6 --
 src/test/groovy/bugs/Groovy8002.groovy             |  1 -
 src/test/groovy/bugs/Groovy8169.groovy             |  1 -
 .../groovy/bugs/ImportNodeLineNumberTest.groovy    | 48 +++++++++-------
 .../transform/AnnotationCollectorLegacyTest.groovy |  6 +-
 .../transform/AnnotationCollectorTest.groovy       |  6 +-
 .../groovy/transform/AutoFinalTransformTest.groovy |  8 +--
 .../groovy/transform/DelegateTransformTest.groovy  | 17 +++---
 .../transform/TupleConstructorTransformTest.groovy |  2 -
 .../traitx/TraitASTTransformationTest.groovy       |  6 +-
 15 files changed, 114 insertions(+), 139 deletions(-)

diff --git a/src/main/groovy/org/codehaus/groovy/transform/ASTTestTransformation.groovy b/src/main/groovy/org/codehaus/groovy/transform/ASTTestTransformation.groovy
index ca675fb..15ca578 100644
--- a/src/main/groovy/org/codehaus/groovy/transform/ASTTestTransformation.groovy
+++ b/src/main/groovy/org/codehaus/groovy/transform/ASTTestTransformation.groovy
@@ -46,14 +46,15 @@ import static org.codehaus.groovy.ast.tools.GeneralUtils.classX
 import static org.codehaus.groovy.ast.tools.GeneralUtils.propX
 
 @GroovyASTTransformation(phase = CompilePhase.SEMANTIC_ANALYSIS)
-class ASTTestTransformation extends AbstractASTTransformation implements CompilationUnitAware {
-    private CompilationUnit compilationUnit
+class ASTTestTransformation implements ASTTransformation, CompilationUnitAware {
 
-    @SuppressWarnings('Instanceof')
+    CompilationUnit compilationUnit
+
+    @Override
     void visit(final ASTNode[] nodes, final SourceUnit source) {
         AnnotationNode annotationNode = nodes[0]
         def member = annotationNode.getMember('phase')
-        def phase = null
+        CompilePhase phase = null
         if (member) {
             if (member instanceof VariableExpression) {
                 phase = CompilePhase.valueOf(member.text)
@@ -69,35 +70,32 @@ class ASTTestTransformation extends AbstractASTTransformation implements Compila
         if (!member && !annotationNode.getNodeMetaData(ASTTestTransformation)) {
             throw new SyntaxException('Missing test expression', annotationNode.lineNumber, annotationNode.columnNumber)
         }
-        // convert value into node metadata so that the expression doesn't mix up with other AST xforms like type checking
-        annotationNode.putNodeMetaData(ASTTestTransformation, member)
+        // convert value into node metadata so that the expression doesn't mix up with other AST xforms like STC
+        annotationNode.setNodeMetaData(ASTTestTransformation, member)
         annotationNode.members.remove('value')
 
         def pcallback = compilationUnit.progressCallback
         def callback = new CompilationUnit.ProgressCallback() {
-            Binding binding = new Binding([:].withDefault { null })
+            private final Binding binding = new Binding([:].withDefault { null })
 
             @Override
-            void call(final ProcessingUnit context, final int phaseRef) {
-                if (phase == null || phaseRef == phase.phaseNumber) {
+            void call(final ProcessingUnit context, final int phaseNumber) {
+                if (phase == null || phaseNumber == phase.phaseNumber) {
                     ClosureExpression testClosure = nodes[0].getNodeMetaData(ASTTestTransformation)
                     StringBuilder sb = new StringBuilder()
-                    for (int i = testClosure.lineNumber; i <= testClosure.lastLineNumber; i++) {
+                    for (int i = testClosure.lineNumber; i <= testClosure.lastLineNumber; i += 1) {
                         sb.append(source.source.getLine(i, new Janitor())).append('\n')
                     }
                     def testSource = sb[testClosure.columnNumber..<sb.length()]
                     testSource = testSource[0..<testSource.lastIndexOf('}')]
-                    CompilerConfiguration config = new CompilerConfiguration()
-                    def customizer = new ImportCustomizer()
-                    config.addCompilationCustomizers(customizer)
-                    binding['sourceUnit'] = source
+
                     binding['node'] = nodes[1]
-                    binding['lookup'] = new MethodClosure(LabelFinder, 'lookup').curry(nodes[1])
+                    binding['sourceUnit'] = source
                     binding['compilationUnit'] = compilationUnit
-                    binding['compilePhase'] = CompilePhase.fromPhaseNumber(phaseRef)
-
-                    GroovyShell shell = new GroovyShell(binding, config)
+                    binding['compilePhase'] = CompilePhase.fromPhaseNumber(phaseNumber)
+                    binding['lookup'] = new MethodClosure(LabelFinder, 'lookup').curry(nodes[1])
 
+                    def customizer = new ImportCustomizer()
                     source.AST.imports.each {
                         customizer.addImport(it.alias, it.type.name)
                     }
@@ -110,7 +108,10 @@ class ASTTestTransformation extends AbstractASTTransformation implements Compila
                     source.AST.staticStarImports.each {
                         customizer.addStaticStars(it.value.className)
                     }
-                    shell.evaluate(testSource)
+
+                    def config = new CompilerConfiguration()
+                    config.addCompilationCustomizers(customizer)
+                    new GroovyShell(binding, config).evaluate(testSource)
                 }
             }
         }
@@ -127,15 +128,11 @@ class ASTTestTransformation extends AbstractASTTransformation implements Compila
         compilationUnit.progressCallback = callback
     }
 
-    void setCompilationUnit(final CompilationUnit unit) {
-        this.compilationUnit = unit
-    }
-
     private static class AssertionSourceDelegatingSourceUnit extends SourceUnit {
         private final ReaderSource delegate
 
-        AssertionSourceDelegatingSourceUnit(final String name, final ReaderSource source, final CompilerConfiguration flags, final GroovyClassLoader loader, final ErrorCollector er) {
-            super(name, '', flags, loader, er)
+        AssertionSourceDelegatingSourceUnit(final String name, final ReaderSource source, final CompilerConfiguration config, final GroovyClassLoader loader, final ErrorCollector er) {
+            super(name, '', config, loader, er)
             delegate = source
         }
 
@@ -151,8 +148,7 @@ class ASTTestTransformation extends AbstractASTTransformation implements Compila
                     if (column > 40) {
                         int start = column - 30 - 1
                         int end = (column + 10 > text.length() ? text.length() : column + 10 - 1)
-                        sample = '   ' + text[start..<end] + Utilities.eol() + '   ' +
-                                marker[start..<marker.length()]
+                        sample = '   ' + text[start..<end] + Utilities.eol() + '   ' + marker[start..<marker.length()]
                     } else {
                         sample = '   ' + text + Utilities.eol() + '   ' + marker
                     }
@@ -165,16 +161,15 @@ class ASTTestTransformation extends AbstractASTTransformation implements Compila
     }
 
     private static class ProgressCallbackChain implements CompilationUnit.ProgressCallback {
+        private final List<CompilationUnit.ProgressCallback> chain = [] as LinkedList
 
-        private final List<CompilationUnit.ProgressCallback> chain = new LinkedList<CompilationUnit.ProgressCallback>()
-
-        ProgressCallbackChain(CompilationUnit.ProgressCallback... callbacks) {
-            if (callbacks!=null) {
+        ProgressCallbackChain(final CompilationUnit.ProgressCallback... callbacks) {
+            if (callbacks) {
                 callbacks.each { addCallback(it) }
             }
         }
 
-        void addCallback(CompilationUnit.ProgressCallback callback) {
+        void addCallback(final CompilationUnit.ProgressCallback callback) {
             chain << callback
         }
 
@@ -186,14 +181,14 @@ class ASTTestTransformation extends AbstractASTTransformation implements Compila
 
     static class LabelFinder extends ClassCodeVisitorSupport {
 
-        static List<Statement> lookup(MethodNode node, String label) {
+        static List<Statement> lookup(final MethodNode node, final String label) {
             LabelFinder finder = new LabelFinder(label, null)
             node.code.visit(finder)
 
             finder.targets
         }
 
-        static List<Statement> lookup(ClassNode node, String label) {
+        static List<Statement> lookup(final ClassNode node, final String label) {
             LabelFinder finder = new LabelFinder(label, null)
             node.methods*.code*.visit(finder)
             node.declaredConstructors*.code*.visit(finder)
@@ -203,8 +198,7 @@ class ASTTestTransformation extends AbstractASTTransformation implements Compila
 
         private final String label
         private final SourceUnit unit
-
-        private final List<Statement> targets = new LinkedList<Statement>()
+        private final List<Statement> targets = [] as LinkedList
 
         LabelFinder(final String label, final SourceUnit unit) {
             this.label = label
diff --git a/src/main/java/groovy/transform/ASTTest.java b/src/main/java/groovy/transform/ASTTest.java
index f72759f..1779161 100644
--- a/src/main/java/groovy/transform/ASTTest.java
+++ b/src/main/java/groovy/transform/ASTTest.java
@@ -21,6 +21,7 @@ package groovy.transform;
 import org.codehaus.groovy.control.CompilePhase;
 import org.codehaus.groovy.transform.GroovyASTTransformationClass;
 
+import java.lang.annotation.Documented;
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -41,7 +42,6 @@ import java.lang.annotation.Target;
  *    assert owner.fields.any { it.name == 'x' }
  *  })
  * {@code @Field int x}
- *
  * </pre>
  *
  * The closure code is executed after the specified phase has completed. If no phase is selected, then the
@@ -50,12 +50,10 @@ import java.lang.annotation.Target;
  * it means that <i>node</i> refers to the declaration node (int x).
  *
  * @since 2.0.0
- *
  */
-@java.lang.annotation.Documented
+@Documented
 @Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE, ElementType.METHOD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.FIELD,
-ElementType.LOCAL_VARIABLE, ElementType.PACKAGE, ElementType.PARAMETER})
+@Target({ElementType.PACKAGE, ElementType.TYPE, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
 @GroovyASTTransformationClass("org.codehaus.groovy.transform.ASTTestTransformation")
 public @interface ASTTest {
     /**
diff --git a/src/main/java/org/codehaus/groovy/ast/expr/FieldExpression.java b/src/main/java/org/codehaus/groovy/ast/expr/FieldExpression.java
index 3361715..c221dfc 100644
--- a/src/main/java/org/codehaus/groovy/ast/expr/FieldExpression.java
+++ b/src/main/java/org/codehaus/groovy/ast/expr/FieldExpression.java
@@ -46,17 +46,17 @@ public class FieldExpression extends Expression {
         return this;
     }
 
-    public String getFieldName() {
-        return field.getName();
-    }
-
     public FieldNode getField() {
         return field;
     }
 
+    public String getFieldName() {
+        return field.getName();
+    }
+
     @Override
     public String getText() {
-        return "this." + field.getName();
+        return "this." + getFieldName();
     }
 
     @Override
diff --git a/src/spec/test/DifferencesFromJavaTest.groovy b/src/spec/test/DifferencesFromJavaTest.groovy
index 59f3acc..0b9d83f 100644
--- a/src/spec/test/DifferencesFromJavaTest.groovy
+++ b/src/spec/test/DifferencesFromJavaTest.groovy
@@ -66,38 +66,37 @@ assertEquals(1, result);
     }
 
     void testPackagePrivate() {
-        assertScript '''import groovy.transform.ASTTest
-import org.codehaus.groovy.control.CompilePhase
-
-import java.lang.reflect.Modifier
-
-@ASTTest(phase = CompilePhase.CLASS_GENERATION, value = {
-    def field = node.getField('name')
-    assert field.modifiers == Modifier.PRIVATE
-})
-// tag::packageprivate_property[]
-class Person {
-    String name
-}
-// end::packageprivate_property[]
-new Person()        '''
-
-        assertScript '''import groovy.transform.ASTTest
-import groovy.transform.PackageScope
-import org.codehaus.groovy.control.CompilePhase
-
-import java.lang.reflect.Modifier
-
-@ASTTest(phase = CompilePhase.CLASS_GENERATION, value = {
-    def field = node.getField('name')
-    assert field.modifiers == 0
-})
-// tag::packageprivate_field[]
-class Person {
-    @PackageScope String name
-}
-// end::packageprivate_field[]
-new Person()        '''
+        assertScript '''
+            import groovy.transform.ASTTest
+            import java.lang.reflect.Modifier
+
+            @ASTTest(phase = CLASS_GENERATION, value = {
+                def field = node.getField('name')
+                assert field.modifiers == Modifier.PRIVATE
+            })
+            // tag::packageprivate_property[]
+            class Person {
+                String name
+            }
+            // end::packageprivate_property[]
+            new Person()
+        '''
+
+        assertScript '''
+            import groovy.transform.ASTTest
+            import groovy.transform.PackageScope
+
+            @ASTTest(phase = CLASS_GENERATION, value = {
+                def field = node.getField('name')
+                assert field.modifiers == 0
+            })
+            // tag::packageprivate_field[]
+            class Person {
+                @PackageScope String name
+            }
+            // end::packageprivate_field[]
+            new Person()
+        '''
     }
 
     void testAnonymousAndNestedClasses() {
diff --git a/src/spec/test/TestingASTTransformsTest.groovy b/src/spec/test/TestingASTTransformsTest.groovy
index 7ee4155..5242ce3 100644
--- a/src/spec/test/TestingASTTransformsTest.groovy
+++ b/src/spec/test/TestingASTTransformsTest.groovy
@@ -56,7 +56,6 @@ new MathsTest().testFib()'''
         assertScript '''// tag::asttest_basic[]
 import groovy.transform.ASTTest
 import org.codehaus.groovy.ast.ClassNode
-import static org.codehaus.groovy.control.CompilePhase.*
 
 @ASTTest(phase=CONVERSION, value={   // <1>
     assert node instanceof ClassNode // <2>
@@ -76,8 +75,6 @@ def p = new Person()
 import groovy.transform.ASTTest
 import groovy.transform.PackageScope
 
-import static org.codehaus.groovy.control.CompilePhase.*
-
 @ASTTest(phase=SEMANTIC_ANALYSIS, value= {
     def nameNode = node.properties.find { it.name == 'name' }
     def ageNode = node.properties.find { it.name == 'age' }
@@ -103,8 +100,6 @@ import org.codehaus.groovy.ast.ClassHelper
 import org.codehaus.groovy.ast.expr.DeclarationExpression
 import org.codehaus.groovy.ast.stmt.ForStatement
 
-import static org.codehaus.groovy.control.CompilePhase.*
-
 class Something {
     @ASTTest(phase=SEMANTIC_ANALYSIS, value= {
         def forLoop = lookup('anchor')[0]
diff --git a/src/test/gls/innerClass/InnerClassTest.groovy b/src/test/gls/innerClass/InnerClassTest.groovy
index 6f401fe..ebb0b5a 100644
--- a/src/test/gls/innerClass/InnerClassTest.groovy
+++ b/src/test/gls/innerClass/InnerClassTest.groovy
@@ -1310,7 +1310,6 @@ final class InnerClassTest {
             import groovy.transform.ASTTest
             import org.codehaus.groovy.ast.expr.*
             import static org.codehaus.groovy.classgen.Verifier.*
-            import static org.codehaus.groovy.control.CompilePhase.*
 
             class A {
                 @ASTTest(phase=CLASS_GENERATION, value={
@@ -1339,7 +1338,6 @@ final class InnerClassTest {
             import groovy.transform.ASTTest
             import org.codehaus.groovy.ast.expr.*
             import static org.codehaus.groovy.classgen.Verifier.*
-            import static org.codehaus.groovy.control.CompilePhase.*
 
             @ASTTest(phase=CLASS_GENERATION, value={
                 def init = node.parameters[0].getNodeMetaData(INITIAL_EXPRESSION)
@@ -1366,7 +1364,6 @@ final class InnerClassTest {
             import org.codehaus.groovy.ast.expr.*
             import org.codehaus.groovy.ast.stmt.*
             import static org.codehaus.groovy.classgen.Verifier.*
-            import static org.codehaus.groovy.control.CompilePhase.*
 
             @ASTTest(phase=CLASS_GENERATION, value={
                 def init = node.parameters[0].getNodeMetaData(INITIAL_EXPRESSION)
@@ -1579,9 +1576,7 @@ final class InnerClassTest {
     @Test // GROOVY-7312
     void testInnerClassOfInterfaceIsStatic2() {
         assertScript '''
-            import java.lang.reflect.Modifier
             import groovy.transform.ASTTest
-            import org.codehaus.groovy.control.CompilePhase
             import org.objectweb.asm.Opcodes
 
             @ASTTest(phase = CLASS_GENERATION, value = {
@@ -1709,7 +1704,6 @@ final class InnerClassTest {
             import java.util.concurrent.Callable
             import org.codehaus.groovy.ast.expr.*
             import static org.codehaus.groovy.classgen.Verifier.*
-            import static org.codehaus.groovy.control.CompilePhase.*
 
             class A {
                 @ASTTest(phase=CLASS_GENERATION, value={
diff --git a/src/test/groovy/bugs/Groovy8002.groovy b/src/test/groovy/bugs/Groovy8002.groovy
index d2a5ee5..d3093cd 100644
--- a/src/test/groovy/bugs/Groovy8002.groovy
+++ b/src/test/groovy/bugs/Groovy8002.groovy
@@ -30,7 +30,6 @@ final class Groovy8002 {
     void testSourcePositionOfMethodInChainAssignmentCS() {
         assertScript '''
             import groovy.transform.*
-            import static org.codehaus.groovy.control.CompilePhase.*
 
             class B {
                 private String z
diff --git a/src/test/groovy/bugs/Groovy8169.groovy b/src/test/groovy/bugs/Groovy8169.groovy
index dd3d9d1..6b82899 100644
--- a/src/test/groovy/bugs/Groovy8169.groovy
+++ b/src/test/groovy/bugs/Groovy8169.groovy
@@ -32,7 +32,6 @@ final class Groovy8169 {
             import groovy.transform.*
             import org.codehaus.groovy.ast.stmt.*
             import static org.codehaus.groovy.ast.ClassHelper.*
-            import static org.codehaus.groovy.control.CompilePhase.*
 
             @ASTTest(phase=CLASS_GENERATION, value={
                 def loop = node.code.statements.find { it instanceof ForStatement }
diff --git a/src/test/groovy/bugs/ImportNodeLineNumberTest.groovy b/src/test/groovy/bugs/ImportNodeLineNumberTest.groovy
index f4d967a..bca576d 100644
--- a/src/test/groovy/bugs/ImportNodeLineNumberTest.groovy
+++ b/src/test/groovy/bugs/ImportNodeLineNumberTest.groovy
@@ -18,29 +18,35 @@
  */
 package groovy.bugs
 
-import groovy.test.GroovyTestCase
+import org.junit.Test
 
-class ImportNodeLineNumberTest extends GroovyTestCase {
+import static groovy.test.GroovyAssert.assertScript
+
+final class ImportNodeLineNumberTest {
+    @Test
     void testLineNumberOfImports() {
-        assertScript '''import groovy.transform.ASTTest
-        import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
-        import groovy.transform.*
-        import static java.lang.Math.*
-
-        @ASTTest(phase=SEMANTIC_ANALYSIS, value={
-            def module = node.declaringClass.module
-            def astTestImport = module.getImport('ASTTest')
-            assert astTestImport.lineNumber == 1
-            def staticImport = module.staticImports['SEMANTIC_ANALYSIS']
-            assert staticImport.lineNumber == 2
-            def starImport = module.starImports[0]
-            assert starImport.lineNumber == 3
-            def staticStar = module.staticStarImports['java.lang.Math']
-            assert staticStar.lineNumber == 4
-        })
-        void foo() {}
-
-        foo()
+        assertScript '''\
+            import groovy.lang.Grab
+            import groovy.transform.*
+            import static java.lang.Math.*
+            import static java.lang.Math.PI as pi
+
+            @ASTTest({
+                def moduleNode = sourceUnit.AST
+
+                def importNode = moduleNode.getImport('Grab')
+                assert importNode.lineNumber == 1
+
+                importNode = moduleNode.starImports[0]
+                assert importNode.lineNumber == 2
+
+                importNode = moduleNode.staticStarImports['java.lang.Math']
+                assert importNode.lineNumber == 3
+
+                importNode = moduleNode.staticImports['pi']
+                assert importNode.lineNumber == 4
+            })
+            def var
         '''
     }
 }
diff --git a/src/test/groovy/transform/AnnotationCollectorLegacyTest.groovy b/src/test/groovy/transform/AnnotationCollectorLegacyTest.groovy
index b57f73d..0268602 100644
--- a/src/test/groovy/transform/AnnotationCollectorLegacyTest.groovy
+++ b/src/test/groovy/transform/AnnotationCollectorLegacyTest.groovy
@@ -109,7 +109,7 @@ class AnnotationCollectorLegacyTest extends GroovyTestCase {
             class Foo {
                 Integer a, b
             }
-            assert Foo.class.annotations.size() == 3 
+            assert Foo.class.annotations.size() == 3
             assert new Foo(a: 1, b: 2).toString() == "Foo(2)"
             assert NotPreCompiledAlias.value().length == 0
             assert NotPreCompiledAlias.value() instanceof Object[][]
@@ -141,7 +141,7 @@ class AnnotationCollectorLegacyTest extends GroovyTestCase {
         '''
         assertScript '''
             import groovy.transform.*
-    
+
             @OtherPreCompiledAliasL(applyToAllClasses=false, value={ counter++> 10})
             class X {
                 def counter = 0
@@ -168,7 +168,7 @@ class AnnotationCollectorLegacyTest extends GroovyTestCase {
             @interface Alias {}
 
             @Alias(excludes=["a"])
-            @ASTTest(phase=org.codehaus.groovy.control.CompilePhase.INSTRUCTION_SELECTION, value={
+            @ASTTest(phase=INSTRUCTION_SELECTION, value={
                 def annotations = node.annotations
                 assert annotations.size() == 4 //ASTTest + 3
                 annotations.each {
diff --git a/src/test/groovy/transform/AnnotationCollectorTest.groovy b/src/test/groovy/transform/AnnotationCollectorTest.groovy
index b8825dd..6f519a5 100644
--- a/src/test/groovy/transform/AnnotationCollectorTest.groovy
+++ b/src/test/groovy/transform/AnnotationCollectorTest.groovy
@@ -114,7 +114,7 @@ class AnnotationCollectorTest extends GroovyTestCase {
             class Foo {
                 Integer a, b
             }
-            assert Foo.class.annotations.size() == 3 
+            assert Foo.class.annotations.size() == 3
             assert new Foo(a: 1, b: 2).toString() == "Foo(2)"
             def data = NotPreCompiledAlias.getAnnotation(AnnotationCollector).serializeClass().value()
             assert data.length == 0
@@ -148,7 +148,7 @@ class AnnotationCollectorTest extends GroovyTestCase {
         '''
         assertScript '''
             import groovy.transform.*
-    
+
             @OtherPreCompiledAlias(applyToAllClasses=false, value={ counter++> 10})
             class X {
                 def counter = 0
@@ -175,7 +175,7 @@ class AnnotationCollectorTest extends GroovyTestCase {
             @interface Alias {}
 
             @Alias(excludes=["a"])
-            @ASTTest(phase=org.codehaus.groovy.control.CompilePhase.INSTRUCTION_SELECTION, value={
+            @ASTTest(phase=INSTRUCTION_SELECTION, value={
                 def annotations = node.annotations
                 assert annotations.size() == 4 //ASTTest + 3
                 annotations.each {
diff --git a/src/test/org/codehaus/groovy/transform/AutoFinalTransformTest.groovy b/src/test/org/codehaus/groovy/transform/AutoFinalTransformTest.groovy
index 329af82..496ea85 100644
--- a/src/test/org/codehaus/groovy/transform/AutoFinalTransformTest.groovy
+++ b/src/test/org/codehaus/groovy/transform/AutoFinalTransformTest.groovy
@@ -28,9 +28,7 @@ class AutoFinalTransformTest extends CompilableTestSupport {
     void testAutoFinalOnClass() {
         // use ASTTest here since final modifier isn't put into bytecode so not available via reflection
         assertScript '''
-            import groovy.transform.AutoFinal
-            import groovy.transform.ASTTest
-            import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
+            import groovy.transform.*
             import static java.lang.reflect.Modifier.isFinal
 
             @ASTTest(phase=SEMANTIC_ANALYSIS, value = {
@@ -65,9 +63,7 @@ class AutoFinalTransformTest extends CompilableTestSupport {
     void testAutoFinalOnClassButDisabledOnMethod() {
         // use ASTTest here since final modifier isn't put into bytecode so not available via reflection
         assertScript '''
-            import groovy.transform.AutoFinal
-            import groovy.transform.ASTTest
-            import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
+            import groovy.transform.*
             import static java.lang.reflect.Modifier.isFinal
 
             @ASTTest(phase=SEMANTIC_ANALYSIS, value = {
diff --git a/src/test/org/codehaus/groovy/transform/DelegateTransformTest.groovy b/src/test/org/codehaus/groovy/transform/DelegateTransformTest.groovy
index 903ff4b..1f3e8ab 100644
--- a/src/test/org/codehaus/groovy/transform/DelegateTransformTest.groovy
+++ b/src/test/org/codehaus/groovy/transform/DelegateTransformTest.groovy
@@ -157,9 +157,9 @@ class DelegateTransformTest extends CompilableTestSupport {
 
     void testUsingDateCompiles() {
         assertScript """
-        class Foo { 
-          @Delegate Date d = new Date(); 
-        } 
+        class Foo {
+          @Delegate Date d = new Date();
+        }
         Foo
       """
     }
@@ -510,7 +510,7 @@ class DelegateTransformTest extends CompilableTestSupport {
                 @Delegate(includes=['author', 'getTitleAndAuthor'])
                 Book book
             }
-            
+
             Book book = new Book(title: 'Ulysses', author: 'James Joyce')
             OwnedBook ownedBook = new OwnedBook(owner: 'John Smith', book: book)
 
@@ -532,7 +532,7 @@ class DelegateTransformTest extends CompilableTestSupport {
             }
         '''
     }
-    
+
     // GROOVY-6329
     void testIncludeAndExcludeByType() {
         assertScript """
@@ -593,7 +593,6 @@ class DelegateTransformTest extends CompilableTestSupport {
     void testLineNumberInStackTrace() {
         try {
             assertScript '''import groovy.transform.ASTTest
-    import org.codehaus.groovy.control.CompilePhase
 
     @ASTTest(phase=CompilePhase.CANONICALIZATION, value={
         def fieldNode = node.getDeclaredField('thingie')
@@ -791,8 +790,8 @@ assert foo.dm.x == '123'
                 Bar bar
             }
 
-            class Bar { 
-                String pls        
+            class Bar {
+                String pls
             }
             assert new Foo(pls: 'ok').pls == 'ok'
         '''
@@ -836,7 +835,7 @@ assert foo.dm.x == '123'
                 String name
                 @Delegate(excludes = "name")
                 Map<String, String> data
-             
+
                 WMap(String name, Map<String, String> data) {
                     this.name = name
                     this.data = data
diff --git a/src/test/org/codehaus/groovy/transform/TupleConstructorTransformTest.groovy b/src/test/org/codehaus/groovy/transform/TupleConstructorTransformTest.groovy
index addab14..671bbcd 100644
--- a/src/test/org/codehaus/groovy/transform/TupleConstructorTransformTest.groovy
+++ b/src/test/org/codehaus/groovy/transform/TupleConstructorTransformTest.groovy
@@ -222,7 +222,6 @@ class TupleConstructorTransformTest extends GroovyShellTestCase {
             import groovy.transform.*
             import static groovy.transform.options.Visibility.*
             import static java.lang.reflect.Modifier.isPrivate
-            import static org.codehaus.groovy.control.CompilePhase.*
 
             @VisibilityOptions(PRIVATE)
             @Immutable
@@ -253,7 +252,6 @@ class TupleConstructorTransformTest extends GroovyShellTestCase {
             import groovy.transform.*
             import java.lang.reflect.Modifier
             import static groovy.transform.options.Visibility.*
-            import static org.codehaus.groovy.control.CompilePhase.*
 
             @VisibilityOptions(value = PROTECTED, id = 'first_only')
             @VisibilityOptions(constructor = PRIVATE, id = 'age_only')
diff --git a/src/test/org/codehaus/groovy/transform/traitx/TraitASTTransformationTest.groovy b/src/test/org/codehaus/groovy/transform/traitx/TraitASTTransformationTest.groovy
index 9c1c7c9..934eaf4 100644
--- a/src/test/org/codehaus/groovy/transform/traitx/TraitASTTransformationTest.groovy
+++ b/src/test/org/codehaus/groovy/transform/traitx/TraitASTTransformationTest.groovy
@@ -284,14 +284,13 @@ final class TraitASTTransformationTest {
     void testPrivateFieldInTraitShouldBeRemapped() {
         assertScript '''
             import groovy.transform.ASTTest
-            import org.codehaus.groovy.control.CompilePhase
 
             trait Foo {
                 private int i = 0
                 int sum(int x) { x+i }
                 void setIndex(int index) { this.i = index }
             }
-            @ASTTest(phase=CompilePhase.INSTRUCTION_SELECTION, value={
+            @ASTTest(phase=INSTRUCTION_SELECTION, value={
                 assert node.fields.any { it.name == 'Foo__i' }
             })
             class Bob implements Foo {
@@ -2444,7 +2443,7 @@ final class TraitASTTransformationTest {
     void testFieldInTraitModifiers() {
         assertScript '''
             import groovy.transform.ASTTest
-            import static org.codehaus.groovy.control.CompilePhase.INSTRUCTION_SELECTION
+
             trait A {
                 public int foo
             }
@@ -2460,7 +2459,6 @@ final class TraitASTTransformationTest {
             import groovy.transform.ASTTest
             import java.lang.reflect.Modifier
 
-            import static org.codehaus.groovy.control.CompilePhase.INSTRUCTION_SELECTION
             trait A {
                 private int foo
             }