diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt index e6421ec0d90..d79fee489d0 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt @@ -80,9 +80,9 @@ internal fun KtSourceElement?.convertWithOffsets( f: (startOffset: Int, endOffset: Int) -> T ): T { val psi = psi - if (psi is PsiCompiledElement || psi == null) return f(UNDEFINED_OFFSET, UNDEFINED_OFFSET) - val startOffset = psi.startOffsetSkippingComments - val endOffset = psi.endOffset + if (psi is PsiCompiledElement) return f(UNDEFINED_OFFSET, UNDEFINED_OFFSET) + val startOffset = psi?.startOffsetSkippingComments ?: this?.startOffset ?: UNDEFINED_OFFSET + val endOffset = this?.endOffset ?: UNDEFINED_OFFSET return f(startOffset, endOffset) } @@ -90,13 +90,13 @@ internal fun FirQualifiedAccess.convertWithOffsets( f: (startOffset: Int, endOffset: Int) -> T ): T { val psi = psi - if (psi is PsiCompiledElement || psi == null) return f(UNDEFINED_OFFSET, UNDEFINED_OFFSET) + if (psi is PsiCompiledElement) return f(UNDEFINED_OFFSET, UNDEFINED_OFFSET) val startOffset = if (psi is KtQualifiedExpression) { (psi.selectorExpression ?: psi).startOffsetSkippingComments } else { - psi.startOffsetSkippingComments + psi?.startOffsetSkippingComments ?: source?.startOffset ?: UNDEFINED_OFFSET } - val endOffset = psi.endOffset + val endOffset = source?.endOffset ?: UNDEFINED_OFFSET return f(startOffset, endOffset) }