diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/codeMetaInfo/CodeMetaInfoRenderer.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/codeMetaInfo/CodeMetaInfoRenderer.kt index dd41af597ab..63624ec8ad6 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/codeMetaInfo/CodeMetaInfoRenderer.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/codeMetaInfo/CodeMetaInfoRenderer.kt @@ -56,13 +56,17 @@ object CodeMetaInfoRenderer { current = next } } + // Here we need to handle meta infos which has start == end and close them immediately + checkOpenedAndCloseStringIfNeeded(opened, i, builder) builder.append(c) } checkOpenedAndCloseStringIfNeeded(opened, originalText.length, builder) } + private val metaInfoComparator = (compareBy { it.start } then compareByDescending { it.end }) then compareBy { it.tag } + private fun getSortedCodeMetaInfos(metaInfos: Collection): List { - return metaInfos.sortedWith(compareBy { it.start }.then(compareByDescending { it.end })) + return metaInfos.sortedWith(metaInfoComparator) } private fun closeString(result: StringBuilder) = result.append("")