[Wasm] Require a description on each usage of SourceLocation.NoLocation

This commit is contained in:
Zalim Bashorov
2022-12-06 19:43:59 +01:00
parent 61440c74d5
commit cdc1d66b1f
4 changed files with 11 additions and 6 deletions
@@ -166,7 +166,7 @@ class WasmCompiledModuleFragment(val irBuiltIns: IrBuiltIns) {
val masterInitFunction = WasmFunction.Defined("__init", WasmSymbol(masterInitFunctionType))
with(WasmIrExpressionBuilder(masterInitFunction.instructions)) {
initFunctions.sortedBy { it.priority }.forEach {
buildCall(WasmSymbol(it.function), SourceLocation.NoLocation)
buildCall(WasmSymbol(it.function), SourceLocation.NoLocation("Generated service code"))
}
}
exports += WasmExport.Function("__init", masterInitFunction)
@@ -10,13 +10,13 @@ import org.jetbrains.kotlin.ir.expressions.IrExpression
import org.jetbrains.kotlin.wasm.ir.source.location.SourceLocation
fun IrExpression.getSourceLocation(fileEntry: IrFileEntry?): SourceLocation {
if (fileEntry == null) return SourceLocation.NoLocation
if (fileEntry == null) return SourceLocation.NoLocation("fileEntry is null")
val path = fileEntry.name
val startLine = fileEntry.getLineNumber(startOffset)
val startColumn = fileEntry.getColumnNumber(startOffset)
if (startLine < 0 || startColumn < 0) return SourceLocation.NoLocation
if (startLine < 0 || startColumn < 0) return SourceLocation.NoLocation("startLine or startColumn < 0")
return SourceLocation.Location(path, startLine, startColumn)
}