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 2024/06/15 22:10:12 UTC

(groovy) branch master updated: Minor refactor

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 72f3295ca9 Minor refactor
72f3295ca9 is described below

commit 72f3295ca94c768bf54f1bc6ad83ab4a0f5a1b80
Author: Daniel Sun <su...@apache.org>
AuthorDate: Sun Jun 16 07:09:18 2024 +0900

    Minor refactor
---
 .../org/codehaus/groovy/vmplugin/v9/Java9.java     | 27 ++++++++++------------
 1 file changed, 12 insertions(+), 15 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java b/src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java
index f9db6051a0..255de00604 100644
--- a/src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java
+++ b/src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java
@@ -343,25 +343,22 @@ public class Java9 extends Java8 {
 
     static {
         ModuleFinder finder = ModuleFinder.ofSystem();
-        Map<String, ModuleDescriptor> map = new HashMap<>();
+        Map<String, ModuleDescriptor> packages = new HashMap<>(1024);
         finder.findAll().stream()
                 .map(ModuleReference::descriptor)
-                .forEach(md -> md.packages().forEach(pn -> map.putIfAbsent(pn, md)));
+                .forEach(md -> md.packages().forEach(pn -> packages.putIfAbsent(pn, md)));
 
-        Map<String, Set<String>> concealedPackagesToOpen = new ConcurrentHashMap<>();
-        Map<String, Set<String>> exportedPackagesToOpen = new ConcurrentHashMap<>();
+        Map<String, Set<String>> concealedPackagesToOpen = new ConcurrentHashMap<>(64);
+        Map<String, Set<String>> exportedPackagesToOpen = new ConcurrentHashMap<>(64);
 
-        Arrays.stream(JAVA8_PACKAGES())
-                .forEach(pn -> {
-                    ModuleDescriptor descriptor = map.get(pn);
-                    if (descriptor != null && !isOpen(descriptor, pn)) {
-                        if (isExported(descriptor, pn)) {
-                            exportedPackagesToOpen.computeIfAbsent(descriptor.name(), k -> new HashSet<>()).add(pn);
-                        } else {
-                            concealedPackagesToOpen.computeIfAbsent(descriptor.name(), k -> new HashSet<>()).add(pn);
-                        }
-                    }
-                });
+        for (String j8pn : JAVA8_PACKAGES()) {
+            ModuleDescriptor descriptor = packages.get(j8pn);
+            if (descriptor == null || isOpen(descriptor, j8pn)) continue;
+
+            Map<String, Set<String>> packagesToOpen =
+                isExported(descriptor, j8pn) ? exportedPackagesToOpen : concealedPackagesToOpen;
+            packagesToOpen.computeIfAbsent(descriptor.name(), k -> new HashSet<>(128)).add(j8pn);
+        }
 
         CONCEALED_PACKAGES_TO_OPEN = concealedPackagesToOpen;
         EXPORTED_PACKAGES_TO_OPEN = exportedPackagesToOpen;