diff --git a/idea/idea-jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt b/idea/idea-jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt index 439a14b3a29..2b8938ea570 100644 --- a/idea/idea-jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt +++ b/idea/idea-jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt @@ -97,7 +97,7 @@ private fun readV2AndLaterConfig(element: Element): KotlinFacetSettings { val platformName = element.getAttributeValue("platform") val platformKind = TargetPlatformKind.ALL_PLATFORMS.firstOrNull { it.description == platformName } ?: TargetPlatformKind.DEFAULT_PLATFORM element.getChild("implements")?.let { - implementedModuleName = (element.content.firstOrNull() as? Text)?.textTrim + implementedModuleName = (it.content.firstOrNull() as? Text)?.textTrim } element.getChild("compilerSettings")?.let { compilerSettings = CompilerSettings() diff --git a/idea/testData/configuration/implementsDependency/module1/module1.iml b/idea/testData/configuration/implementsDependency/module1/module1.iml new file mode 100644 index 00000000000..952af62b5e9 --- /dev/null +++ b/idea/testData/configuration/implementsDependency/module1/module1.iml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/testData/configuration/implementsDependency/module1/src/foo.kt b/idea/testData/configuration/implementsDependency/module1/src/foo.kt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/idea/testData/configuration/implementsDependency/module2/module2.iml b/idea/testData/configuration/implementsDependency/module2/module2.iml new file mode 100644 index 00000000000..8856802fb74 --- /dev/null +++ b/idea/testData/configuration/implementsDependency/module2/module2.iml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + module1 + + + + + + + + \ No newline at end of file diff --git a/idea/testData/configuration/implementsDependency/module2/src/foo.kt b/idea/testData/configuration/implementsDependency/module2/src/foo.kt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/idea/testData/configuration/implementsDependency/projectFile.ipr b/idea/testData/configuration/implementsDependency/projectFile.ipr new file mode 100644 index 00000000000..eb21fb4ea1a --- /dev/null +++ b/idea/testData/configuration/implementsDependency/projectFile.ipr @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java index 1672f2469c9..c52038dfb12 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.idea.configuration; import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProviderImpl; import com.intellij.openapi.module.Module; +import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.roots.LibraryOrderEntry; import com.intellij.openapi.roots.ModuleRootManager; import com.intellij.openapi.roots.RootPolicy; @@ -236,6 +237,19 @@ public class ConfigureKotlinTest extends AbstractConfigureKotlinTest { assertEquals("-version -Xallow-kotlin-package -Xskip-metadata-version-check", settings.getCompilerSettings().getAdditionalArguments()); } + public void testImplementsDependency() { + ModuleManager moduleManager = ModuleManager.getInstance(myProject); + + Module module1 = moduleManager.findModuleByName("module1"); + assert module1 != null; + + Module module2 = moduleManager.findModuleByName("module2"); + assert module2 != null; + + assertEquals(KotlinFacet.Companion.get(module1).getConfiguration().getSettings().getImplementedModuleName(), null); + assertEquals(KotlinFacet.Companion.get(module2).getConfiguration().getSettings().getImplementedModuleName(), "module1"); + } + private void configureFacetAndCheckJvm(JvmTarget jvmTarget) { IdeModifiableModelsProviderImpl modelsProvider = new IdeModifiableModelsProviderImpl(getProject()); try {