diff --git a/java-compiler-testing/src/main/java/io/github/ascopes/jct/containers/impl/PackageContainerGroupUrlClassLoader.java b/java-compiler-testing/src/main/java/io/github/ascopes/jct/containers/impl/PackageContainerGroupUrlClassLoader.java index c2dd562a0..9776d048b 100644 --- a/java-compiler-testing/src/main/java/io/github/ascopes/jct/containers/impl/PackageContainerGroupUrlClassLoader.java +++ b/java-compiler-testing/src/main/java/io/github/ascopes/jct/containers/impl/PackageContainerGroupUrlClassLoader.java @@ -15,7 +15,9 @@ */ package io.github.ascopes.jct.containers.impl; +import io.github.ascopes.jct.containers.Container; import io.github.ascopes.jct.containers.PackageContainerGroup; +import io.github.ascopes.jct.workspaces.PathRoot; import java.net.URL; import java.net.URLClassLoader; import javax.annotation.concurrent.ThreadSafe; @@ -46,14 +48,10 @@ public PackageContainerGroupUrlClassLoader(PackageContainerGroup group) { } private static URL[] extractUrls(PackageContainerGroup group) { - // TODO(ascopes): should this API return a list to simplify this? - var pkgs = group.getPackages(); - var iter = pkgs.iterator(); - var urls = new URL[pkgs.size()]; - - for (var i = 0; i < urls.length; ++i) { - urls[i] = iter.next().getPathRoot().getUrl(); - } - return urls; + return group.getPackages() + .stream() + .map(Container::getPathRoot) + .map(PathRoot::getUrl) + .toArray(URL[]::new); } }