From 1fe8e4ba1541848465d0a1f9eedc6e3bec56c989 Mon Sep 17 00:00:00 2001 From: Dmitry Savvinov Date: Fri, 14 Jun 2019 16:16:16 +0300 Subject: [PATCH] Use CompositeResolve in HierarchicalExpectActual tests --- .../diamondDuplicateActuals/bottom/bottom.kt | 6 +++--- .../diamondDuplicateActuals/top/top.kt | 4 ++-- .../diamondSeesTwoActuals/top/top.kt | 4 ++-- .../duplicateActualsExplicit/bottom/bottom.kt | 2 +- .../duplicateActualsExplicit/top/top.kt | 2 +- .../duplicateActualsImplicit/bottom/bottom.kt | 6 +++--- .../duplicateActualsImplicit/top/top.kt | 4 ++-- .../bottom/bottom.kt | 2 +- .../top/top.kt | 2 +- .../duplicateExpectsExplicit/bottom/bottom.kt | 2 +- .../duplicateExpectsImplicit/bottom/bottom.kt | 2 +- .../duplicateExpectsImplicit/left/left.kt | 2 +- .../AbstractMultiModuleIdeResolveTest.kt | 21 +++++++++++++++++++ 13 files changed, 40 insertions(+), 19 deletions(-) diff --git a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/diamondDuplicateActuals/bottom/bottom.kt b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/diamondDuplicateActuals/bottom/bottom.kt index 668cc774835..51e1f53ea3a 100644 --- a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/diamondDuplicateActuals/bottom/bottom.kt +++ b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/diamondDuplicateActuals/bottom/bottom.kt @@ -1,6 +1,6 @@ package sample -actual class A { +actual class A { actual fun foo(): Int = 45 fun fromBottom(): Int = 0 } @@ -11,6 +11,6 @@ fun main() { // Any behaviour is acceptable, as the code is erroneous. // At the time of writing this test, we resolve to nearest A, i.e. // 'fromBottom' is resolved, and 'fromLeft' is not. - A().fromLeft() - A().fromBottom() + A().fromLeft() + A().fromBottom() } \ No newline at end of file diff --git a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/diamondDuplicateActuals/top/top.kt b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/diamondDuplicateActuals/top/top.kt index f4efb6f71fb..86b95aaf804 100644 --- a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/diamondDuplicateActuals/top/top.kt +++ b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/diamondDuplicateActuals/top/top.kt @@ -1,5 +1,5 @@ package sample -expect class A { - fun foo(): Int +expect class A { + fun foo(): Int } \ No newline at end of file diff --git a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/diamondSeesTwoActuals/top/top.kt b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/diamondSeesTwoActuals/top/top.kt index c3c51289f62..a359748ada8 100644 --- a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/diamondSeesTwoActuals/top/top.kt +++ b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/diamondSeesTwoActuals/top/top.kt @@ -1,5 +1,5 @@ package sample -expect class A { - fun foo(): Int +expect class A { + fun foo(): Int } \ No newline at end of file diff --git a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsExplicit/bottom/bottom.kt b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsExplicit/bottom/bottom.kt index 28c702441a3..678301c2c64 100644 --- a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsExplicit/bottom/bottom.kt +++ b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsExplicit/bottom/bottom.kt @@ -1,3 +1,3 @@ package foo -actual class A +actual class A diff --git a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsExplicit/top/top.kt b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsExplicit/top/top.kt index 84366910dfb..1bc425490ae 100644 --- a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsExplicit/top/top.kt +++ b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsExplicit/top/top.kt @@ -1,3 +1,3 @@ package foo -expect class A \ No newline at end of file +expect class A \ No newline at end of file diff --git a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsImplicit/bottom/bottom.kt b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsImplicit/bottom/bottom.kt index f446f5fd76b..e67a624a9a4 100644 --- a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsImplicit/bottom/bottom.kt +++ b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsImplicit/bottom/bottom.kt @@ -1,6 +1,6 @@ package foo -class ActualInMiddleCompatibleInBottom -actual class CompatibleInMiddleActualInBottom +class ActualInMiddleCompatibleInBottom +actual class CompatibleInMiddleActualInBottom -class CompatibleInMiddleAndBottom +class CompatibleInMiddleAndBottom diff --git a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsImplicit/top/top.kt b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsImplicit/top/top.kt index f181e7bdbfa..01bdb4dc0f8 100644 --- a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsImplicit/top/top.kt +++ b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsImplicit/top/top.kt @@ -1,6 +1,6 @@ package foo -expect class ActualInMiddleCompatibleInBottom +expect class ActualInMiddleCompatibleInBottom expect class CompatibleInMiddleActualInBottom -expect class CompatibleInMiddleAndBottom \ No newline at end of file +expect class CompatibleInMiddleAndBottom \ No newline at end of file diff --git a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsOneWeaklyIncompatible/bottom/bottom.kt b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsOneWeaklyIncompatible/bottom/bottom.kt index b3de2e61b79..d6d3776a3d4 100644 --- a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsOneWeaklyIncompatible/bottom/bottom.kt +++ b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsOneWeaklyIncompatible/bottom/bottom.kt @@ -1,3 +1,3 @@ package foo -private class A \ No newline at end of file +private class A \ No newline at end of file diff --git a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsOneWeaklyIncompatible/top/top.kt b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsOneWeaklyIncompatible/top/top.kt index 84366910dfb..1bc425490ae 100644 --- a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsOneWeaklyIncompatible/top/top.kt +++ b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateActualsOneWeaklyIncompatible/top/top.kt @@ -1,3 +1,3 @@ package foo -expect class A \ No newline at end of file +expect class A \ No newline at end of file diff --git a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateExpectsExplicit/bottom/bottom.kt b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateExpectsExplicit/bottom/bottom.kt index 0f462fb0178..14e2680967d 100644 --- a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateExpectsExplicit/bottom/bottom.kt +++ b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateExpectsExplicit/bottom/bottom.kt @@ -1 +1 @@ -actual class A \ No newline at end of file +actual class A \ No newline at end of file diff --git a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateExpectsImplicit/bottom/bottom.kt b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateExpectsImplicit/bottom/bottom.kt index 97858c1e487..72e8e852980 100644 --- a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateExpectsImplicit/bottom/bottom.kt +++ b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateExpectsImplicit/bottom/bottom.kt @@ -1,3 +1,3 @@ // Note that here we have no ambiguity, becuase we don't consider // declarations without 'expect' as potential weakly-compatible 'expect'-counterpart -actual class A \ No newline at end of file +actual class A \ No newline at end of file diff --git a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateExpectsImplicit/left/left.kt b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateExpectsImplicit/left/left.kt index d8bb40ad3c8..d1d8c72d0c5 100644 --- a/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateExpectsImplicit/left/left.kt +++ b/idea/testData/multiModuleHighlighting/hierarchicalExpectActualMatching/duplicateExpectsImplicit/left/left.kt @@ -1 +1 @@ -expect class A \ No newline at end of file +expect class A \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/AbstractMultiModuleIdeResolveTest.kt b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/AbstractMultiModuleIdeResolveTest.kt index f624fbd14a7..741b7aa1af9 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/AbstractMultiModuleIdeResolveTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/AbstractMultiModuleIdeResolveTest.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.checkers.BaseDiagnosticsTest import org.jetbrains.kotlin.checkers.utils.CheckerTestUtil import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.idea.multiplatform.setupMppProjectFromTextFile +import org.jetbrains.kotlin.idea.project.KotlinMultiplatformAnalysisModeComponent import org.jetbrains.kotlin.idea.resolve.frontendService import org.jetbrains.kotlin.idea.stubs.AbstractMultiModuleTest import org.jetbrains.kotlin.idea.test.PluginTestCaseBase @@ -103,8 +104,28 @@ abstract class AbstractMultiModuleIdeResolveTest : AbstractMultiModuleTest() { abstract class AbstractHierarchicalExpectActualTest : AbstractMultiModuleIdeResolveTest() { override fun getTestDataPath(): String = "${PluginTestCaseBase.getTestDataPathBase()}/hierarchicalExpectActual" + + override fun setUp() { + super.setUp() + KotlinMultiplatformAnalysisModeComponent.setMode(project, KotlinMultiplatformAnalysisModeComponent.Mode.COMPOSITE) + } + + override fun tearDown() { + KotlinMultiplatformAnalysisModeComponent.setMode(project, KotlinMultiplatformAnalysisModeComponent.Mode.SEPARATE) + super.tearDown() + } } abstract class AbstractMultiplatformAnalysisTest : AbstractMultiModuleIdeResolveTest() { override fun getTestDataPath(): String = "${PluginTestCaseBase.getTestDataPathBase()}/multiplatform" + + override fun setUp() { + super.setUp() + KotlinMultiplatformAnalysisModeComponent.setMode(project, KotlinMultiplatformAnalysisModeComponent.Mode.COMPOSITE) + } + + override fun tearDown() { + KotlinMultiplatformAnalysisModeComponent.setMode(project, KotlinMultiplatformAnalysisModeComponent.Mode.SEPARATE) + super.tearDown() + } } \ No newline at end of file