From ae81aaa7b025da007eb02035b3b91d035bad4148 Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Mon, 8 Nov 2021 07:06:43 +0100 Subject: [PATCH] Tune module graph dependencies building --- .../kotlin/cli/jvm/modules/JavaModuleGraph.kt | 11 ++++++++--- .../kotlin/resolve/jvm/modules/JavaModule.kt | 3 ++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/modules/JavaModuleGraph.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/modules/JavaModuleGraph.kt index 0e74f932739..351f03a29be 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/modules/JavaModuleGraph.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/modules/JavaModuleGraph.kt @@ -47,9 +47,14 @@ class JavaModuleGraph(finder: JavaModuleFinder) { // Do nothing; all automatic modules should be added to compilation roots at call site as per java.lang.module javadoc } is JavaModule.Explicit -> { - for ((dependencyModuleName) in module.moduleInfo.requires) { - if (visited.add(dependencyModuleName)) { - dfs(dependencyModuleName) + if (module.isJdkModule) { + //ct.sym can miss some internal modules from non-transitive dependencies + dfs(moduleName) + } else { + for ((dependencyModuleName) in module.moduleInfo.requires) { + if (visited.add(dependencyModuleName)) { + dfs(dependencyModuleName) + } } } } diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModule.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModule.kt index 50b6a23efa8..9293303d49a 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModule.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/modules/JavaModule.kt @@ -83,7 +83,8 @@ interface JavaModule { class Explicit( val moduleInfo: JavaModuleInfo, override val moduleRoots: List, - override val moduleInfoFile: VirtualFile + override val moduleInfoFile: VirtualFile, + val isJdkModule: Boolean = false ) : JavaModule { override val name: String get() = moduleInfo.moduleName