diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt index c7344030ba6..433acfad7d2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt @@ -333,11 +333,11 @@ private fun collectOverriddenPropertyAccessors( private val KtNamedDeclaration.expectOrActualAnchor get() = - nameIdentifier - ?: (this as? KtConstructor<*>)?.let { - it.getConstructorKeyword() ?: it.getValueParameterList()?.leftParenthesis - } - ?: this + nameIdentifier ?: when (this) { + is KtConstructor<*> -> getConstructorKeyword() ?: getValueParameterList()?.leftParenthesis + is KtObjectDeclaration -> getObjectKeyword() + else -> null + } ?: this private fun collectActualMarkers( declaration: KtNamedDeclaration, diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt.172 b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt.172 index d8c38bbb60b..4ca65a40ab4 100644 --- a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt.172 +++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt.172 @@ -331,11 +331,11 @@ private fun collectOverriddenPropertyAccessors( private val KtNamedDeclaration.expectOrActualAnchor get() = - nameIdentifier - ?: (this as? KtConstructor<*>)?.let { - it.getConstructorKeyword() ?: it.getValueParameterList()?.leftParenthesis - } - ?: this + nameIdentifier ?: when (this) { + is KtConstructor<*> -> getConstructorKeyword() ?: getValueParameterList()?.leftParenthesis + is KtObjectDeclaration -> getObjectKeyword() + else -> null + } ?: this private fun collectActualMarkers( declaration: KtNamedDeclaration, diff --git a/idea/testData/multiModuleLineMarker/fromActualCompanion/common/common.kt b/idea/testData/multiModuleLineMarker/fromActualCompanion/common/common.kt new file mode 100644 index 00000000000..313e92aaf6d --- /dev/null +++ b/idea/testData/multiModuleLineMarker/fromActualCompanion/common/common.kt @@ -0,0 +1,7 @@ +// !CHECK_HIGHLIGHTING + +expect class WithCompanion { + companion object { + + } +} \ No newline at end of file diff --git a/idea/testData/multiModuleLineMarker/fromActualCompanion/jvm/jvm.kt b/idea/testData/multiModuleLineMarker/fromActualCompanion/jvm/jvm.kt new file mode 100644 index 00000000000..ec3badfc50f --- /dev/null +++ b/idea/testData/multiModuleLineMarker/fromActualCompanion/jvm/jvm.kt @@ -0,0 +1,5 @@ +actual class WithCompanion { + actual companion object { + + } +} \ No newline at end of file diff --git a/idea/testData/multiModuleLineMarker/fromExpectCompanion/common/common.kt b/idea/testData/multiModuleLineMarker/fromExpectCompanion/common/common.kt new file mode 100644 index 00000000000..c33599807b5 --- /dev/null +++ b/idea/testData/multiModuleLineMarker/fromExpectCompanion/common/common.kt @@ -0,0 +1,5 @@ +expect class WithCompanion { + companion object { + + } +} \ No newline at end of file diff --git a/idea/testData/multiModuleLineMarker/fromExpectCompanion/jvm/jvm.kt b/idea/testData/multiModuleLineMarker/fromExpectCompanion/jvm/jvm.kt new file mode 100644 index 00000000000..c57ba752673 --- /dev/null +++ b/idea/testData/multiModuleLineMarker/fromExpectCompanion/jvm/jvm.kt @@ -0,0 +1,7 @@ +// !CHECK_HIGHLIGHTING + +actual class WithCompanion { + actual companion object { + + } +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleLineMarkerTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleLineMarkerTestGenerated.java index a4bf4c7386c..9798288dcde 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleLineMarkerTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleLineMarkerTestGenerated.java @@ -44,6 +44,11 @@ public class MultiModuleLineMarkerTestGenerated extends AbstractMultiModuleLineM runTest("idea/testData/multiModuleLineMarker/fromActualAnnotation/"); } + @TestMetadata("fromActualCompanion") + public void testFromActualCompanion() throws Exception { + runTest("idea/testData/multiModuleLineMarker/fromActualCompanion/"); + } + @TestMetadata("fromActualPrimaryConstructor") public void testFromActualPrimaryConstructor() throws Exception { runTest("idea/testData/multiModuleLineMarker/fromActualPrimaryConstructor/"); @@ -84,6 +89,11 @@ public class MultiModuleLineMarkerTestGenerated extends AbstractMultiModuleLineM runTest("idea/testData/multiModuleLineMarker/fromCommonToJvmImpl/"); } + @TestMetadata("fromExpectCompanion") + public void testFromExpectCompanion() throws Exception { + runTest("idea/testData/multiModuleLineMarker/fromExpectCompanion/"); + } + @TestMetadata("fromExpectedAnnotation") public void testFromExpectedAnnotation() throws Exception { runTest("idea/testData/multiModuleLineMarker/fromExpectedAnnotation/");