diff --git a/idea/testData/multiModuleLineMarker/transitive/common/common.kt b/idea/testData/multiModuleLineMarker/transitive/common/common.kt new file mode 100644 index 00000000000..cc1c972043c --- /dev/null +++ b/idea/testData/multiModuleLineMarker/transitive/common/common.kt @@ -0,0 +1 @@ +expect fun foo(): Int \ No newline at end of file diff --git a/idea/testData/multiModuleLineMarker/transitive/jvm_base/base.kt b/idea/testData/multiModuleLineMarker/transitive/jvm_base/base.kt new file mode 100644 index 00000000000..ed077971da3 --- /dev/null +++ b/idea/testData/multiModuleLineMarker/transitive/jvm_base/base.kt @@ -0,0 +1,3 @@ +// !CHECK_HIGHLIGHTING + +actual fun foo() = 42 \ No newline at end of file diff --git a/idea/testData/multiModuleLineMarker/transitive/jvm_user/user.kt b/idea/testData/multiModuleLineMarker/transitive/jvm_user/user.kt new file mode 100644 index 00000000000..230123f2b07 --- /dev/null +++ b/idea/testData/multiModuleLineMarker/transitive/jvm_user/user.kt @@ -0,0 +1,3 @@ +// !CHECK_HIGHLIGHTING + +fun bar() = foo() \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleLineMarkerTest.kt b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleLineMarkerTest.kt index 5123127117a..47756505aba 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleLineMarkerTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleLineMarkerTest.kt @@ -20,7 +20,9 @@ import com.intellij.openapi.roots.CompilerModuleExtension import com.intellij.openapi.roots.ModuleRootModificationUtil import org.jetbrains.kotlin.config.JvmTarget import org.jetbrains.kotlin.config.TargetPlatformKind +import org.jetbrains.kotlin.idea.stubs.createFacet import org.jetbrains.kotlin.idea.test.PluginTestCaseBase +import org.jetbrains.kotlin.test.TestJdkKind class MultiModuleLineMarkerTest : AbstractMultiModuleHighlightingTest() { @@ -63,4 +65,23 @@ class MultiModuleLineMarkerTest : AbstractMultiModuleHighlightingTest() { } }) } + + fun testTransitive() { + val commonModule = module("common", TestJdkKind.MOCK_JDK) + commonModule.createFacet(TargetPlatformKind.Common, false) + val jvmPlatform = TargetPlatformKind.Jvm[JvmTarget.JVM_1_6] + + val baseModule = module("jvm_base", TestJdkKind.MOCK_JDK) + baseModule.createFacet(jvmPlatform, implementedModuleName = "common") + baseModule.enableMultiPlatform() + baseModule.addDependency(commonModule) + + val userModule = module("jvm_user", TestJdkKind.MOCK_JDK) + userModule.createFacet(jvmPlatform) + userModule.enableMultiPlatform() + userModule.addDependency(commonModule) + userModule.addDependency(baseModule) + + checkHighlightingInAllFiles() + } } \ No newline at end of file