[Native] Replace consequence line and column calls with a single one
This commit is contained in:
+4
-2
@@ -64,7 +64,8 @@ private class PerformByIrFilePhase<Context : CommonBackendContext>(
|
||||
} catch (e: Throwable) {
|
||||
CodegenUtil.reportBackendException(e, "IR lowering", irFile.fileEntry.name) { offset ->
|
||||
irFile.fileEntry.takeIf { it.supportsDebugInfo }?.let {
|
||||
it.getLineNumber(offset) to it.getColumnNumber(offset)
|
||||
val (line, column) = it.getLineAndColumnNumbers(offset)
|
||||
line to column
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -113,7 +114,8 @@ private class PerformByIrFilePhase<Context : CommonBackendContext>(
|
||||
thrownFromThread.get()?.let { (e, irFile) ->
|
||||
CodegenUtil.reportBackendException(e, "Experimental parallel IR backend", irFile.fileEntry.name) { offset ->
|
||||
irFile.fileEntry.takeIf { it.supportsDebugInfo }?.let {
|
||||
it.getLineNumber(offset) to it.getColumnNumber(offset)
|
||||
val (line, column) = it.getLineAndColumnNumbers(offset)
|
||||
line to column
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -12,7 +12,8 @@ import org.jetbrains.kotlin.ir.IrFileEntry
|
||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||
import org.jetbrains.kotlin.ir.backend.js.JsLoweredDeclarationOrigin
|
||||
import org.jetbrains.kotlin.ir.backend.js.JsStatementOrigins
|
||||
import org.jetbrains.kotlin.ir.backend.js.lower.*
|
||||
import org.jetbrains.kotlin.ir.backend.js.lower.isBoxParameter
|
||||
import org.jetbrains.kotlin.ir.backend.js.lower.isEs6ConstructorReplacement
|
||||
import org.jetbrains.kotlin.ir.backend.js.sourceMapsInfo
|
||||
import org.jetbrains.kotlin.ir.backend.js.utils.*
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
@@ -618,8 +619,7 @@ inline fun IrElement.getSourceLocation(fileEntry: IrFileEntry, offsetSelector: I
|
||||
if (startOffset == UNDEFINED_OFFSET || endOffset == UNDEFINED_OFFSET) return null
|
||||
val path = fileEntry.name
|
||||
val offset = offsetSelector()
|
||||
val startLine = fileEntry.getLineNumber(offset)
|
||||
val startColumn = fileEntry.getColumnNumber(offset)
|
||||
val (startLine, startColumn) = fileEntry.getLineAndColumnNumbers(offset)
|
||||
return JsLocation(path, startLine, startColumn)
|
||||
}
|
||||
|
||||
|
||||
+1
-3
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.backend.wasm.ir2wasm
|
||||
|
||||
import org.jetbrains.kotlin.ir.IrElement
|
||||
import org.jetbrains.kotlin.ir.IrFileEntry
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.wasm.ir.WasmExpressionBuilder
|
||||
import org.jetbrains.kotlin.wasm.ir.source.location.SourceLocation
|
||||
|
||||
@@ -15,8 +14,7 @@ fun IrElement.getSourceLocation(fileEntry: IrFileEntry?): SourceLocation {
|
||||
if (fileEntry == null) return SourceLocation.NoLocation("fileEntry is null")
|
||||
|
||||
val path = fileEntry.name
|
||||
val startLine = fileEntry.getLineNumber(startOffset)
|
||||
val startColumn = fileEntry.getColumnNumber(startOffset)
|
||||
val (startLine, startColumn) = fileEntry.getLineAndColumnNumbers(startOffset)
|
||||
|
||||
if (startLine < 0 || startColumn < 0) return SourceLocation.NoLocation("startLine or startColumn < 0")
|
||||
|
||||
|
||||
@@ -55,14 +55,17 @@ abstract class AbstractIrFileEntry : IrFileEntry {
|
||||
return LineAndColumn(lineNumber, columnNumber)
|
||||
}
|
||||
|
||||
override fun getSourceRangeInfo(beginOffset: Int, endOffset: Int): SourceRangeInfo =
|
||||
SourceRangeInfo(
|
||||
override fun getSourceRangeInfo(beginOffset: Int, endOffset: Int): SourceRangeInfo {
|
||||
val (startLineNumber, startColumnNumber) = getLineAndColumnNumbers(beginOffset)
|
||||
val (endLineNumber, endColumnNumber) = getLineAndColumnNumbers(endOffset)
|
||||
return SourceRangeInfo(
|
||||
filePath = name,
|
||||
startOffset = beginOffset,
|
||||
startLineNumber = getLineNumber(beginOffset),
|
||||
startColumnNumber = getColumnNumber(beginOffset),
|
||||
startLineNumber = startLineNumber,
|
||||
startColumnNumber = startColumnNumber,
|
||||
endOffset = endOffset,
|
||||
endLineNumber = getLineNumber(endOffset),
|
||||
endColumnNumber = getColumnNumber(endOffset)
|
||||
endLineNumber = endLineNumber,
|
||||
endColumnNumber = endColumnNumber
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+9
-6
@@ -65,12 +65,15 @@ object PartialLinkageUtils {
|
||||
data class IrBased(private val file: IrFile) : File {
|
||||
override val module = Module.Real(file.module.name)
|
||||
|
||||
override fun computeLocationForOffset(offset: Int) = PartialLinkageLogger.Location(
|
||||
moduleName = module.name,
|
||||
filePath = file.fileEntry.name,
|
||||
lineNumber = if (offset == UNDEFINED_OFFSET) UNDEFINED_LINE_NUMBER else file.fileEntry.getLineNumber(offset) + 1, // since humans count from 1, not 0
|
||||
columnNumber = if (offset == UNDEFINED_OFFSET) UNDEFINED_COLUMN_NUMBER else file.fileEntry.getColumnNumber(offset) + 1
|
||||
)
|
||||
override fun computeLocationForOffset(offset: Int): PartialLinkageLogger.Location {
|
||||
val (line, column) = file.fileEntry.getLineAndColumnNumbers(offset)
|
||||
return PartialLinkageLogger.Location(
|
||||
moduleName = module.name,
|
||||
filePath = file.fileEntry.name,
|
||||
lineNumber = if (offset == UNDEFINED_OFFSET) UNDEFINED_LINE_NUMBER else line + 1, // since humans count from 1, not 0
|
||||
columnNumber = if (offset == UNDEFINED_OFFSET) UNDEFINED_COLUMN_NUMBER else column + 1
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
class LazyIrBased(packageFragmentDescriptor: PackageFragmentDescriptor) : File {
|
||||
|
||||
Reference in New Issue
Block a user