[IR Test] Properly create empty dump for IR files witout source

This commit is contained in:
Dmitriy Novozhilov
2021-12-06 14:49:41 +03:00
committed by TeamCityServer
parent de783ad51f
commit 3519543831
3 changed files with 2 additions and 4 deletions
@@ -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
}
@@ -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)
@@ -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()