diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt index 8e3e4f4c594..64b3f5b1bf5 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt @@ -512,7 +512,11 @@ fun CompilerConfiguration.configureSourceRoots(chunk: List, buildFile: F val commonSources = getBuildFilePaths(buildFile, module.getCommonSourceFiles()).toSet() for (path in getBuildFilePaths(buildFile, module.getSourceFiles())) { - addKotlinSourceRoot(path, isCommon = path in commonSources, hmppCliModuleStructure?.getModuleNameForSource(path)) + addKotlinSourceRoot( + path, + isCommon = hmppCliModuleStructure?.isFromCommonModule(path) ?: (path in commonSources), + hmppCliModuleStructure?.getModuleNameForSource(path) + ) } } diff --git a/compiler/config/src/org/jetbrains/kotlin/config/HmppCliModule.kt b/compiler/config/src/org/jetbrains/kotlin/config/HmppCliModule.kt index 384a0cceadd..4dc6be79386 100644 --- a/compiler/config/src/org/jetbrains/kotlin/config/HmppCliModule.kt +++ b/compiler/config/src/org/jetbrains/kotlin/config/HmppCliModule.kt @@ -23,3 +23,7 @@ class HmppCliModuleStructure( fun HmppCliModuleStructure.getModuleNameForSource(source: String): String? { return modules.firstOrNull { source in it.sources }?.name } + +fun HmppCliModuleStructure.isFromCommonModule(source: String): Boolean { + return modules.indexOfFirst { source in it.sources }.let { it >= 0 && it < modules.size - 1 } +}