diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/ClasspathRootsResolver.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/ClasspathRootsResolver.kt index 40b18c71335..222a69ad725 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/ClasspathRootsResolver.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/ClasspathRootsResolver.kt @@ -191,8 +191,7 @@ internal class ClasspathRootsResolver( else -> computeDefaultRootModules() + additionalModules } - val allDependencies = javaModuleGraph.getAllDependencies(rootModules).toMutableList() - + val allDependencies = javaModuleGraph.getAllDependencies(rootModules) if (allDependencies.any { moduleName -> javaModuleFinder.findModule(moduleName) is JavaModule.Automatic }) { // According to java.lang.module javadoc, if at least one automatic module is added to the module graph, // all observable automatic modules should be added. diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModuleGraph.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModuleGraph.kt index fa95af796aa..4627072649a 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModuleGraph.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModuleGraph.kt @@ -22,8 +22,8 @@ class JavaModuleGraph(finder: JavaModuleFinder) { private val module: (String) -> JavaModule? = LockBasedStorageManager.NO_LOCKS.createMemoizedFunctionWithNullableValues(finder::findModule) - fun getAllDependencies(moduleNames: List): List { - val visited = moduleNames.toMutableSet() + fun getAllDependencies(moduleNames: List): LinkedHashSet { + val visited = LinkedHashSet(moduleNames) // Every module implicitly depends on java.base visited += "java.base" @@ -55,7 +55,7 @@ class JavaModuleGraph(finder: JavaModuleFinder) { } } - return visited.toList() + return visited } fun reads(moduleName: String, dependencyName: String): Boolean {