You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2025/11/29 22:32:40 UTC
(groovy) 02/02: minor additional performance tweak
This is an automated email from the ASF dual-hosted git repository.
paulk pushed a commit to branch GROOVY_5_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit c9ce070df7ab7f386f683eb4e9a8401474a72b97
Author: Paul King <pa...@asert.com.au>
AuthorDate: Sun Nov 30 08:27:28 2025 +1000
minor additional performance tweak
---
src/main/java/org/codehaus/groovy/vmplugin/v9/ClassFinder.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/codehaus/groovy/vmplugin/v9/ClassFinder.java b/src/main/java/org/codehaus/groovy/vmplugin/v9/ClassFinder.java
index 6231648859..c66f17d4a1 100644
--- a/src/main/java/org/codehaus/groovy/vmplugin/v9/ClassFinder.java
+++ b/src/main/java/org/codehaus/groovy/vmplugin/v9/ClassFinder.java
@@ -61,6 +61,9 @@ import java.util.regex.Pattern;
* @since 3.0.2
*/
public class ClassFinder {
+ private static final Pattern FILE_SEP_PATTERN = Pattern.compile(Pattern.quote(File.separator));
+ private static final Pattern SLASH_PATTERN = Pattern.compile("/");
+
/**
* Returns the found classes
*
@@ -125,9 +128,10 @@ public class ClassFinder {
static Map<String, Set<String>> find(URI uri, String prefix, String packageName, boolean recursive, final boolean innerClasses) {
boolean wfs = "file".equals(uri.getScheme());
+ final Pattern sepPattern = wfs ? FILE_SEP_PATTERN : SLASH_PATTERN;
+
if (wfs) prefix = prefix.replace("/", File.separator);
- final Pattern sepPattern = Pattern.compile(Pattern.quote(wfs ? File.separator : "/"));
final int prefixElemCnt = prefix.trim().isEmpty() ? 0 : sepPattern.split(prefix).length;
Map<String, Set<String>> result = new LinkedHashMap<>();