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 2019/02/12 14:31:57 UTC

[groovy] branch master updated: GROOVY-8986: Change the order of default imported packages to reduce the times of resolving(closes #874)

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 7f07ba9  GROOVY-8986: Change the order of default imported packages to reduce the times of resolving(closes #874)
7f07ba9 is described below

commit 7f07ba90d8eeab38871b59b313ff0f03b880bbf6
Author: Daniel Sun <su...@apache.org>
AuthorDate: Tue Feb 12 22:31:48 2019 +0800

    GROOVY-8986: Change the order of default imported packages to reduce the times of resolving(closes #874)
---
 src/main/java/org/codehaus/groovy/control/ResolveVisitor.java          | 3 ++-
 .../groovy/tools/stubgenerator/CircularLanguageReferenceTest.groovy    | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
index 8b7560c..ae2e133 100644
--- a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
+++ b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
@@ -95,7 +95,8 @@ import static org.codehaus.groovy.ast.tools.GeneralUtils.isDefaultVisibility;
  */
 public class ResolveVisitor extends ClassCodeExpressionTransformer {
     // note: BigInteger and BigDecimal are also imported by default
-    public static final String[] DEFAULT_IMPORTS = {"java.lang.", "java.io.", "java.net.", "java.util.", "groovy.lang.", "groovy.util."};
+    // `java.util` is used much frequently than other two java packages(`java.io` and `java.net`), so place java.util before the two packages
+    public static final String[] DEFAULT_IMPORTS = {"java.lang.", "java.util.", "java.io.", "java.net.", "groovy.lang.", "groovy.util."};
     private static final String BIGINTEGER_STR = "BigInteger";
     private static final String BIGDECIMAL_STR = "BigDecimal";
     public static final String QUESTION_MARK = "?";
diff --git a/src/test/org/codehaus/groovy/tools/stubgenerator/CircularLanguageReferenceTest.groovy b/src/test/org/codehaus/groovy/tools/stubgenerator/CircularLanguageReferenceTest.groovy
index 44452b6..c56f16f 100644
--- a/src/test/org/codehaus/groovy/tools/stubgenerator/CircularLanguageReferenceTest.groovy
+++ b/src/test/org/codehaus/groovy/tools/stubgenerator/CircularLanguageReferenceTest.groovy
@@ -34,7 +34,7 @@ class CircularLanguageReferenceTest extends StubTestCase {
             assert !annotations
             assert interfaces.toSet() == ['groovy.lang.GroovyObject', 'stubgenerator.circularLanguageReference.Shape'] as Set
             assert baseClass == 'java.lang.Object'
-            assert imports == ['java.lang.*', 'java.io.*', 'java.net.*', 'java.util.*', 'groovy.lang.*', 'groovy.util.*']
+            assert imports == ['java.lang.*', 'java.util.*', 'java.io.*', 'java.net.*', 'groovy.lang.*', 'groovy.util.*']
         }
     }
 }