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;