This is an automated email from the ASF dual-hosted git repository.

paulk 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 0c467ccc7d Use compiled Pattern for path splitting instead of 
String.split in ClassFinder
0c467ccc7d is described below

commit 0c467ccc7dd9db88607ee369a21e6fac1ecadbe5
Author: Kamil Krzywanski <[email protected]>
AuthorDate: Sat Oct 25 15:29:55 2025 +0200

    Use compiled Pattern for path splitting instead of String.split in 
ClassFinder
    
    Signed-off-by: Kamil Krzywanski <[email protected]>
---
 src/main/java/org/codehaus/groovy/vmplugin/v9/ClassFinder.java | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

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 bcfc441470..6231648859 100644
--- a/src/main/java/org/codehaus/groovy/vmplugin/v9/ClassFinder.java
+++ b/src/main/java/org/codehaus/groovy/vmplugin/v9/ClassFinder.java
@@ -127,8 +127,8 @@ public class ClassFinder {
         boolean wfs = "file".equals(uri.getScheme());
         if (wfs) prefix = prefix.replace("/", File.separator);
 
-        final String sepPattern = Pattern.quote(wfs ? File.separator : "/");
-        final int prefixElemCnt = prefix.trim().isEmpty() ? 0 : 
prefix.split(sepPattern).length;
+        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<>();
         Tuple2<FileSystem, Boolean> fsMaybeNew = null;
@@ -142,7 +142,7 @@ public class ClassFinder {
 
                 @Override
                 public FileVisitResult visitFile(Path path, 
BasicFileAttributes attrs) {
-                    String[] pathElems = path.toString().split(sepPattern);
+                    String[] pathElems = sepPattern.split(path.toString());
                     int nameCount = pathElems.length;
                     if (nameCount <= prefixElemCnt) {
                         return FileVisitResult.CONTINUE;

Reply via email to