From 19653df1c62e1627befed942220105587f77a6e3 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 31 Jul 2023 19:25:09 +0200 Subject: [PATCH] IR: minor, fix offset check in IrElement.sourceElement. There's also SYNTHETIC_OFFSET, which is used for example for declarations generated by interface delegation, for which `sourceElement` threw exception. It didn't lead to any user-visible error AFAIK, I've encountered this problem while working on 5f2ff062962. --- .../src/org/jetbrains/kotlin/backend/common/Utils.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/Utils.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/Utils.kt index 2e1c6a8bba8..bddeb2a7d82 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/Utils.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/Utils.kt @@ -19,7 +19,6 @@ package org.jetbrains.kotlin.backend.common import org.jetbrains.kotlin.AbstractKtSourceElement import org.jetbrains.kotlin.KtOffsetsOnlySourceElement import org.jetbrains.kotlin.ir.IrElement -import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.declarations.IrFile fun CommonBackendContext.reportWarning(message: String, irFile: IrFile?, irElement: IrElement) { @@ -33,5 +32,5 @@ fun MutableList.pop() = this.removeAt(size - 1) fun MutableList.peek(): E? = if (size == 0) null else this[size - 1] fun IrElement.sourceElement(): AbstractKtSourceElement? = - if (startOffset != UNDEFINED_OFFSET) KtOffsetsOnlySourceElement(this.startOffset, this.endOffset) + if (startOffset >= 0) KtOffsetsOnlySourceElement(this.startOffset, this.endOffset) else null