From 2d7af0ce72aad3f357f11501ba50a8a071aa5309 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Wed, 3 Nov 2021 14:23:16 +0100 Subject: [PATCH] Fir2Ir: fix conversion for non-PSI source elements --- .../jetbrains/kotlin/fir/backend/ConversionUtils.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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) }