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 <[email protected]> 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<>();
