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/");