Skip to content

Commit 38069cf

Browse files
committed
Optimise URL extraction from classloader
1 parent 2dd283b commit 38069cf

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

java-compiler-testing/src/main/java/io/github/ascopes/jct/containers/impl/PackageContainerGroupUrlClassLoader.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
*/
1616
package io.github.ascopes.jct.containers.impl;
1717

18+
import io.github.ascopes.jct.containers.Container;
1819
import io.github.ascopes.jct.containers.PackageContainerGroup;
20+
import io.github.ascopes.jct.workspaces.PathRoot;
1921
import java.net.URL;
2022
import java.net.URLClassLoader;
2123
import javax.annotation.concurrent.ThreadSafe;
@@ -46,14 +48,10 @@ public PackageContainerGroupUrlClassLoader(PackageContainerGroup group) {
4648
}
4749

4850
private static URL[] extractUrls(PackageContainerGroup group) {
49-
// TODO(ascopes): should this API return a list to simplify this?
50-
var pkgs = group.getPackages();
51-
var iter = pkgs.iterator();
52-
var urls = new URL[pkgs.size()];
53-
54-
for (var i = 0; i < urls.length; ++i) {
55-
urls[i] = iter.next().getPathRoot().getUrl();
56-
}
57-
return urls;
51+
return group.getPackages()
52+
.stream()
53+
.map(Container::getPathRoot)
54+
.map(PathRoot::getUrl)
55+
.toArray(URL[]::new);
5856
}
5957
}

0 commit comments

Comments
 (0)