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 {