diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ExpressionsConverter.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ExpressionsConverter.kt index 9646ee973da..07219bad51b 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ExpressionsConverter.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ExpressionsConverter.kt @@ -494,9 +494,11 @@ class ExpressionsConverter( (firSelector as? FirQualifiedAccess)?.let { if (isSafe) { + @OptIn(FirImplementationDetail::class) + it.replaceSource(dotQualifiedExpression.toFirSourceElement(FirFakeSourceElementKind.DesugaredSafeCallExpression)) return it.wrapWithSafeCall( firReceiver!!, - dotQualifiedExpression.toFirSourceElement(FirFakeSourceElementKind.DesugaredSafeCallExpression) + dotQualifiedExpression.toFirSourceElement() ) } diff --git a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt index fed1edc3fef..4d30b588de5 100644 --- a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt +++ b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt @@ -2085,9 +2085,11 @@ open class RawFirBuilder( val receiver = expression.receiverExpression.toFirExpression("Incorrect receiver expression") if (expression is KtSafeQualifiedExpression) { + @OptIn(FirImplementationDetail::class) + firSelector.replaceSource(expression.toFirSourceElement(FirFakeSourceElementKind.DesugaredSafeCallExpression)) return firSelector.wrapWithSafeCall( receiver, - expression.toFirSourceElement(FirFakeSourceElementKind.DesugaredSafeCallExpression) + expression.toFirSourceElement() ) }