From 351954383111f0f1eb1fead4b5740ea08ee6bd30 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Mon, 6 Dec 2021 14:49:41 +0300 Subject: [PATCH] [IR Test] Properly create empty dump for IR files witout source --- .../ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DumpIrTree.kt | 3 ++- .../kotlin/test/backend/handlers/IrTextDumpHandler.kt | 1 - .../kotlin/test/backend/handlers/IrTreeVerifierHandler.kt | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) 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 ab4aae8cfb2..5d078df11b8 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 @@ -37,12 +37,13 @@ fun IrElement.dump(normalizeNames: Boolean = false, stableOrder: Boolean = false } fun IrFile.dumpTreesFromLineNumber(lineNumber: Int, normalizeNames: Boolean = false): String { + if (shouldSkipDump()) return "" val sb = StringBuilder() accept(DumpTreeFromSourceLineVisitor(fileEntry, lineNumber, sb, normalizeNames), null) return sb.toString() } -fun IrFile.shouldSkipDump(): Boolean { +private fun IrFile.shouldSkipDump(): Boolean { val entry = fileEntry as? NaiveSourceBasedFileEntryImpl ?: return false return entry.lineStartOffsetsAreEmpty } diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTextDumpHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTextDumpHandler.kt index e3cf28aca67..5dae413e88e 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTextDumpHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTextDumpHandler.kt @@ -65,7 +65,6 @@ class IrTextDumpHandler(testServices: TestServices) : AbstractIrHandler(testServ val builder = baseDumper.builderForModule(module) for ((testFile, irFile) in testFileToIrFile) { if (testFile?.directives?.contains(EXTERNAL_FILE) == true) continue - if (irFile.shouldSkipDump()) continue var actualDump = irFile.dumpTreesFromLineNumber(lineNumber = 0, normalizeNames = true) if (actualDump.isEmpty()) { actualDump = irFile.dumpTreesFromLineNumber(lineNumber = UNDEFINED_OFFSET, normalizeNames = true) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTreeVerifierHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTreeVerifierHandler.kt index a0cadb0f8ed..847efd67203 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTreeVerifierHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrTreeVerifierHandler.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.test.backend.handlers import org.jetbrains.kotlin.ir.IrVerifier import org.jetbrains.kotlin.ir.util.deepCopyWithSymbols import org.jetbrains.kotlin.ir.util.dumpTreesFromLineNumber -import org.jetbrains.kotlin.ir.util.shouldSkipDump import org.jetbrains.kotlin.test.backend.handlers.IrTextDumpHandler.Companion.groupWithTestFiles import org.jetbrains.kotlin.test.backend.ir.IrBackendInput import org.jetbrains.kotlin.test.directives.CodegenTestDirectives @@ -30,7 +29,6 @@ class IrTreeVerifierHandler(testServices: TestServices) : AbstractIrHandler(test IrVerifier(assertions).verifyWithAssert(irFile) - if (irFile.shouldSkipDump()) continue val actualDump = irFile.dumpTreesFromLineNumber(lineNumber = 0, normalizeNames = true) val irFileCopy = irFile.deepCopyWithSymbols()