diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt index 8c7dce58219..b5feed0b8d7 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl.kt @@ -115,7 +115,7 @@ class ModuleDescriptorImpl @JvmOverloads constructor( } override fun shouldSeeInternalsOf(targetModule: ModuleDescriptor): Boolean { - return this == targetModule || targetModule in dependencies!!.modulesWhoseInternalsAreVisible + return this == targetModule || targetModule in dependencies!!.modulesWhoseInternalsAreVisible || expectedByModule == targetModule } private val id: String diff --git a/idea/testData/multiModuleHighlighting/multiplatform/internal/common/common.kt b/idea/testData/multiModuleHighlighting/multiplatform/internal/common/common.kt new file mode 100644 index 00000000000..f91837cd9b3 --- /dev/null +++ b/idea/testData/multiModuleHighlighting/multiplatform/internal/common/common.kt @@ -0,0 +1,3 @@ +expect fun foo() + +internal fun bar() {} \ No newline at end of file diff --git a/idea/testData/multiModuleHighlighting/multiplatform/internal/jvm/foo.kt b/idea/testData/multiModuleHighlighting/multiplatform/internal/jvm/foo.kt new file mode 100644 index 00000000000..aa3a17bb640 --- /dev/null +++ b/idea/testData/multiModuleHighlighting/multiplatform/internal/jvm/foo.kt @@ -0,0 +1,3 @@ +actual fun foo() { + bar() // should work +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiPlatformHighlightingTest.kt b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiPlatformHighlightingTest.kt index d71c7a943c5..b311a40d256 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiPlatformHighlightingTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiPlatformHighlightingTest.kt @@ -63,6 +63,10 @@ class MultiPlatformHighlightingTest : AbstractMultiModuleHighlightingTest() { doMultiPlatformTest(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) } + fun testInternal() { + doMultiPlatformTest(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) + } + fun testSuppressHeaderWithoutImpl() { doMultiPlatformTest(TargetPlatformKind.Jvm[JvmTarget.JVM_1_6]) } @@ -77,12 +81,13 @@ class MultiPlatformHighlightingTest : AbstractMultiModuleHighlightingTest() { fun testUseCorrectBuiltInsForCommonModule() { doMultiPlatformTest(TargetPlatformKind.Jvm[JvmTarget.JVM_1_8], TargetPlatformKind.JavaScript, - withStdlibCommon = true, jdk = TestJdkKind.FULL_JDK, configureModule = { module, platform -> - if (platform == TargetPlatformKind.JavaScript) { - module.addLibrary(ForTestCompileRuntime.stdlibJsForTests(), kind = JSLibraryKind) - module.addLibrary(ForTestCompileRuntime.stdlibCommonForTests()) - } - }) + withStdlibCommon = true, jdk = TestJdkKind.FULL_JDK, + configureModule = { module, platform -> + if (platform == TargetPlatformKind.JavaScript) { + module.addLibrary(ForTestCompileRuntime.stdlibJsForTests(), kind = JSLibraryKind) + module.addLibrary(ForTestCompileRuntime.stdlibCommonForTests()) + } + }) } fun testHeaderClassImplTypealias() {