diff --git a/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/codeMetaInfo/CodeMetaInfoRenderer.kt b/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/codeMetaInfo/CodeMetaInfoRenderer.kt index 4dadb21a64a..412d043c6f6 100644 --- a/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/codeMetaInfo/CodeMetaInfoRenderer.kt +++ b/compiler/test-infrastructure-utils/tests/org/jetbrains/kotlin/codeMetaInfo/CodeMetaInfoRenderer.kt @@ -61,6 +61,12 @@ object CodeMetaInfoRenderer { while (current != null) { val next: CodeMetaInfo? = if (iterator.hasNext()) iterator.next() else null + val outer = opened.lastOrNull() + if (outer != null) { + require(current.end <= outer.end) { + "The outer diagnostic ${outer.tag} at ${outer.start} ends at ${outer.end}, but the supposedly inner ${current?.tag} starting at ${current?.start} ends at ${current?.end}. Rendered so far:\n$builder" + } + } opened.push(current) builder.append(current.asString()) when {