From 84d6c1df5a09754ebed0ba92dd2280497dd19663 Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Wed, 14 Nov 2018 10:24:24 +0300 Subject: [PATCH] Add assertion for overwriting common sources flag Wrong flag state causes compilation errors for optional expectation (this flag is used to pass -Xcommon-sources) --- .../kotlin/jps/build/KotlinDirtySourceFilesHolder.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinDirtySourceFilesHolder.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinDirtySourceFilesHolder.kt index 35846ad9da2..81a6d11c819 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinDirtySourceFilesHolder.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinDirtySourceFilesHolder.kt @@ -49,7 +49,14 @@ class KotlinDirtySourceFilesHolder( * and during KotlinDirtySourceFilesHolder initialization. */ internal fun _markDirty(file: File, root: JavaSourceRootDescriptor) { - _dirty[file.canonicalFile] = KotlinModuleBuildTarget.Source(file, root is KotlinIncludedModuleSourceRoot) + val isCrossCompiled = root is KotlinIncludedModuleSourceRoot + val old = _dirty.put(file.canonicalFile, KotlinModuleBuildTarget.Source(file, isCrossCompiled)) + + check(old == null || old.isCrossCompiled == isCrossCompiled) { + "`${file.canonicalFile}` already marked as dirty: " + + "old is cross compiled: ${old!!.isCrossCompiled}, " + + "new is cross compiled: $isCrossCompiled" + } } }