Skip to content

Commit 0c467cc

Browse files
kamilkrzywanskipaulk-asert
authored andcommitted
Use compiled Pattern for path splitting instead of String.split in ClassFinder
Signed-off-by: Kamil Krzywanski <[email protected]>
1 parent 5acebda commit 0c467cc

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/main/java/org/codehaus/groovy/vmplugin/v9/ClassFinder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ static Map<String, Set<String>> find(URI uri, String prefix, String packageName,
127127
boolean wfs = "file".equals(uri.getScheme());
128128
if (wfs) prefix = prefix.replace("/", File.separator);
129129

130-
final String sepPattern = Pattern.quote(wfs ? File.separator : "/");
131-
final int prefixElemCnt = prefix.trim().isEmpty() ? 0 : prefix.split(sepPattern).length;
130+
final Pattern sepPattern = Pattern.compile(Pattern.quote(wfs ? File.separator : "/"));
131+
final int prefixElemCnt = prefix.trim().isEmpty() ? 0 : sepPattern.split(prefix).length;
132132

133133
Map<String, Set<String>> result = new LinkedHashMap<>();
134134
Tuple2<FileSystem, Boolean> fsMaybeNew = null;
@@ -142,7 +142,7 @@ public FileVisitResult preVisitDirectory(Path path, BasicFileAttributes attrs) {
142142

143143
@Override
144144
public FileVisitResult visitFile(Path path, BasicFileAttributes attrs) {
145-
String[] pathElems = path.toString().split(sepPattern);
145+
String[] pathElems = sepPattern.split(path.toString());
146146
int nameCount = pathElems.length;
147147
if (nameCount <= prefixElemCnt) {
148148
return FileVisitResult.CONTINUE;

0 commit comments

Comments
 (0)