diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt index 0991be19231..626e7dd136f 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt @@ -49,7 +49,7 @@ class DumpIrTreeVisitor( ) : IrElementVisitor { private val printer = Printer(out, " ") - private val elementRenderer = RenderIrElementVisitor(normalizeNames) + private val elementRenderer = RenderIrElementVisitor(normalizeNames, !stableOrder) private fun IrType.render() = elementRenderer.renderType(this) private fun List.ordered(): List { @@ -95,6 +95,12 @@ class DumpIrTreeVisitor( } } + override fun visitExternalPackageFragment(declaration: IrExternalPackageFragment, data: String) { + declaration.dumpLabeledElementWith(data) { + declaration.declarations.ordered().dumpElements() + } + } + override fun visitFile(declaration: IrFile, data: String) { declaration.dumpLabeledElementWith(data) { dumpAnnotations(declaration) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt index a4431d2fd7e..680378e386c 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/RenderIrElement.kt @@ -28,7 +28,7 @@ import org.jetbrains.kotlin.utils.addIfNotNull fun IrElement.render() = accept(RenderIrElementVisitor(), null) -class RenderIrElementVisitor(private val normalizeNames: Boolean = false) : IrElementVisitor { +class RenderIrElementVisitor(private val normalizeNames: Boolean = false, private val verboseErrorTypes: Boolean = true) : IrElementVisitor { private val nameMap: MutableMap = mutableMapOf() private var temporaryIndex: Int = 0 @@ -111,7 +111,7 @@ class RenderIrElementVisitor(private val normalizeNames: Boolean = false) : IrEl when (this) { is IrDynamicType -> "dynamic" - is IrErrorType -> "IrErrorType($originalKotlinType)" + is IrErrorType -> "IrErrorType(${if (verboseErrorTypes) originalKotlinType else null})" is IrSimpleType -> buildTrimEnd { append(classifier.renderClassifierFqn())