[IR Test] Properly create empty dump for IR files witout source
This commit is contained in:
committed by
TeamCityServer
parent
de783ad51f
commit
3519543831
@@ -37,12 +37,13 @@ fun IrElement.dump(normalizeNames: Boolean = false, stableOrder: Boolean = false
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun IrFile.dumpTreesFromLineNumber(lineNumber: Int, normalizeNames: Boolean = false): String {
|
fun IrFile.dumpTreesFromLineNumber(lineNumber: Int, normalizeNames: Boolean = false): String {
|
||||||
|
if (shouldSkipDump()) return ""
|
||||||
val sb = StringBuilder()
|
val sb = StringBuilder()
|
||||||
accept(DumpTreeFromSourceLineVisitor(fileEntry, lineNumber, sb, normalizeNames), null)
|
accept(DumpTreeFromSourceLineVisitor(fileEntry, lineNumber, sb, normalizeNames), null)
|
||||||
return sb.toString()
|
return sb.toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun IrFile.shouldSkipDump(): Boolean {
|
private fun IrFile.shouldSkipDump(): Boolean {
|
||||||
val entry = fileEntry as? NaiveSourceBasedFileEntryImpl ?: return false
|
val entry = fileEntry as? NaiveSourceBasedFileEntryImpl ?: return false
|
||||||
return entry.lineStartOffsetsAreEmpty
|
return entry.lineStartOffsetsAreEmpty
|
||||||
}
|
}
|
||||||
|
|||||||
-1
@@ -65,7 +65,6 @@ class IrTextDumpHandler(testServices: TestServices) : AbstractIrHandler(testServ
|
|||||||
val builder = baseDumper.builderForModule(module)
|
val builder = baseDumper.builderForModule(module)
|
||||||
for ((testFile, irFile) in testFileToIrFile) {
|
for ((testFile, irFile) in testFileToIrFile) {
|
||||||
if (testFile?.directives?.contains(EXTERNAL_FILE) == true) continue
|
if (testFile?.directives?.contains(EXTERNAL_FILE) == true) continue
|
||||||
if (irFile.shouldSkipDump()) continue
|
|
||||||
var actualDump = irFile.dumpTreesFromLineNumber(lineNumber = 0, normalizeNames = true)
|
var actualDump = irFile.dumpTreesFromLineNumber(lineNumber = 0, normalizeNames = true)
|
||||||
if (actualDump.isEmpty()) {
|
if (actualDump.isEmpty()) {
|
||||||
actualDump = irFile.dumpTreesFromLineNumber(lineNumber = UNDEFINED_OFFSET, normalizeNames = true)
|
actualDump = irFile.dumpTreesFromLineNumber(lineNumber = UNDEFINED_OFFSET, normalizeNames = true)
|
||||||
|
|||||||
-2
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.test.backend.handlers
|
|||||||
import org.jetbrains.kotlin.ir.IrVerifier
|
import org.jetbrains.kotlin.ir.IrVerifier
|
||||||
import org.jetbrains.kotlin.ir.util.deepCopyWithSymbols
|
import org.jetbrains.kotlin.ir.util.deepCopyWithSymbols
|
||||||
import org.jetbrains.kotlin.ir.util.dumpTreesFromLineNumber
|
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.handlers.IrTextDumpHandler.Companion.groupWithTestFiles
|
||||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
|
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
|
||||||
@@ -30,7 +29,6 @@ class IrTreeVerifierHandler(testServices: TestServices) : AbstractIrHandler(test
|
|||||||
|
|
||||||
IrVerifier(assertions).verifyWithAssert(irFile)
|
IrVerifier(assertions).verifyWithAssert(irFile)
|
||||||
|
|
||||||
if (irFile.shouldSkipDump()) continue
|
|
||||||
val actualDump = irFile.dumpTreesFromLineNumber(lineNumber = 0, normalizeNames = true)
|
val actualDump = irFile.dumpTreesFromLineNumber(lineNumber = 0, normalizeNames = true)
|
||||||
|
|
||||||
val irFileCopy = irFile.deepCopyWithSymbols()
|
val irFileCopy = irFile.deepCopyWithSymbols()
|
||||||
|
|||||||
Reference in New Issue
Block a user