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/29 14:30:38 UTC

[groovy] branch master updated: Trivial tweak for `JavaAwareCompilationUnit`: use `Set` to keep java sources

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 8236334  Trivial tweak for `JavaAwareCompilationUnit`: use `Set` to keep java sources
8236334 is described below

commit 8236334b50099b07d6f4719b3adbb237547093c8
Author: Daniel Sun <su...@apache.org>
AuthorDate: Sun Aug 29 22:30:13 2021 +0800

    Trivial tweak for `JavaAwareCompilationUnit`: use `Set` to keep java sources
---
 .../groovy/tools/javac/JavaAwareCompilationUnit.java     | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/tools/javac/JavaAwareCompilationUnit.java b/src/main/java/org/codehaus/groovy/tools/javac/JavaAwareCompilationUnit.java
index 0936a8e..112d3ea 100644
--- a/src/main/java/org/codehaus/groovy/tools/javac/JavaAwareCompilationUnit.java
+++ b/src/main/java/org/codehaus/groovy/tools/javac/JavaAwareCompilationUnit.java
@@ -35,9 +35,10 @@ import org.codehaus.groovy.transform.ASTTransformationCollectorCodeVisitor;
 
 import java.io.File;
 import java.io.FileNotFoundException;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * Compilation Unit capable of compiling Java source files.
@@ -45,7 +46,7 @@ import java.util.Map;
 public class JavaAwareCompilationUnit extends CompilationUnit {
 
     private final JavaStubGenerator stubGenerator;
-    private final List<String> javaSources = new LinkedList<>();
+    private final Set<String> javaSources = new HashSet<>();
     private JavaCompilerFactory compilerFactory = new JavacCompilerFactory();
     private final File generationGoal;
     private final boolean keepStubs;
@@ -116,7 +117,7 @@ public class JavaAwareCompilationUnit extends CompilationUnit {
             try {
                 addJavaCompilationUnits(stubGenerator.getJavaStubCompilationUnitSet()); // add java stubs
                 JavaCompiler compiler = compilerFactory.createCompiler(configuration);
-                compiler.compile(javaSources, this);
+                compiler.compile(new ArrayList<>(javaSources), this);
             } finally {
                 if (!keepStubs) stubGenerator.clean();
                 javaSources.clear();
@@ -136,12 +137,7 @@ public class JavaAwareCompilationUnit extends CompilationUnit {
     }
 
     private void addJavaSource(final File file) {
-        String path = file.getAbsolutePath();
-        for (String source : javaSources) {
-            if (path.equals(source))
-                return;
-        }
-        javaSources.add(path);
+        javaSources.add(file.getAbsolutePath());
     }
 
     @Override