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;