diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/expectactual/CreateExpectedFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/expectactual/CreateExpectedFix.kt index 715a81ba2c0..626390842c1 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/expectactual/CreateExpectedFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/expectactual/CreateExpectedFix.kt @@ -62,6 +62,7 @@ sealed class CreateExpectedFix( if (otherDeclaration === originalDeclaration) continue if (!otherDeclaration.hasActualModifier()) continue val expectedDeclaration = otherDeclaration.liftToExpected() ?: continue + if (expectedDeclaration.module != module) continue return expectedDeclaration.containingKtFile } return null diff --git a/idea/testData/multiModuleQuickFix/createExpect/hierarchy/common/A.kt b/idea/testData/multiModuleQuickFix/createExpect/hierarchy/common/A.kt new file mode 100644 index 00000000000..b8e246d8704 --- /dev/null +++ b/idea/testData/multiModuleQuickFix/createExpect/hierarchy/common/A.kt @@ -0,0 +1 @@ +expect class First \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/createExpect/hierarchy/common/A.kt.after b/idea/testData/multiModuleQuickFix/createExpect/hierarchy/common/A.kt.after new file mode 100644 index 00000000000..b8e246d8704 --- /dev/null +++ b/idea/testData/multiModuleQuickFix/createExpect/hierarchy/common/A.kt.after @@ -0,0 +1 @@ +expect class First \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/createExpect/hierarchy/dependencies.txt b/idea/testData/multiModuleQuickFix/createExpect/hierarchy/dependencies.txt new file mode 100644 index 00000000000..dcee909b68c --- /dev/null +++ b/idea/testData/multiModuleQuickFix/createExpect/hierarchy/dependencies.txt @@ -0,0 +1,7 @@ +MODULE common { platform=[JVM, JS, Native] } +MODULE jvm { platform=[JVM] } +MODULE main { platform=[JVM (JVM_1_8)] } + +jvm -> common { kind=DEPENDS_ON } +main -> jvm { kind=DEPENDS_ON } +main -> common { kind=DEPENDS_ON } \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/createExpect/hierarchy/jvm/Second.kt.after b/idea/testData/multiModuleQuickFix/createExpect/hierarchy/jvm/Second.kt.after new file mode 100644 index 00000000000..a594256f880 --- /dev/null +++ b/idea/testData/multiModuleQuickFix/createExpect/hierarchy/jvm/Second.kt.after @@ -0,0 +1 @@ +expect class Second \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/createExpect/hierarchy/main/A.kt b/idea/testData/multiModuleQuickFix/createExpect/hierarchy/main/A.kt new file mode 100644 index 00000000000..b3aeec242a9 --- /dev/null +++ b/idea/testData/multiModuleQuickFix/createExpect/hierarchy/main/A.kt @@ -0,0 +1,5 @@ +// "Create expected class in common module jvm" "true" +// DISABLE-ERRORS +actual class First + +actual class Second \ No newline at end of file diff --git a/idea/testData/multiModuleQuickFix/createExpect/hierarchy/main/A.kt.after b/idea/testData/multiModuleQuickFix/createExpect/hierarchy/main/A.kt.after new file mode 100644 index 00000000000..a988b96b3ee --- /dev/null +++ b/idea/testData/multiModuleQuickFix/createExpect/hierarchy/main/A.kt.after @@ -0,0 +1,5 @@ +// "Create expected class in common module jvm" "true" +// DISABLE-ERRORS +actual class First + +actual class Second \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTestGenerated.java index a6c89a1ebe4..05777f3a771 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiModuleTestGenerated.java @@ -573,6 +573,11 @@ public class QuickFixMultiModuleTestGenerated extends AbstractQuickFixMultiModul runTest("idea/testData/multiModuleQuickFix/createExpect/functionWithImplementationInInterface2/"); } + @TestMetadata("hierarchy") + public void testHierarchy() throws Exception { + runTest("idea/testData/multiModuleQuickFix/createExpect/hierarchy/"); + } + @TestMetadata("inlineClass") public void testInlineClass() throws Exception { runTest("idea/testData/multiModuleQuickFix/createExpect/inlineClass/");