From 118073e5d6978d93f8117646ef608349c732a52f Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Mon, 9 May 2022 14:07:16 +0300 Subject: [PATCH] [FIR] Cleanup code of transforming callable references --- .../FirExpressionsResolveTransformer.kt | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirExpressionsResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirExpressionsResolveTransformer.kt index be41155ff7b..c51751faf2a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirExpressionsResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirExpressionsResolveTransformer.kt @@ -875,19 +875,20 @@ open class FirExpressionsResolveTransformer(transformer: FirBodyResolveTransform transformedLHS?.let { callableReferenceAccess.replaceExplicitReceiver(transformedLHS) } - if (data !is ResolutionMode.ContextDependent /* ContextDependentDelegate is Ok here */) { - val resolvedReference = + return when (data) { + is ResolutionMode.ContextDependent -> { + context.storeCallableReferenceContext(callableReferenceAccess) + callableReferenceAccess + } + + else -> { components.syntheticCallGenerator.resolveCallableReferenceWithSyntheticOuterCall( callableReferenceAccess, data.expectedType, resolutionContext, ) ?: callableReferenceAccess - dataFlowAnalyzer.exitCallableReference(resolvedReference) - return resolvedReference + } + }.also { + dataFlowAnalyzer.exitCallableReference(it) } - - context.storeCallableReferenceContext(callableReferenceAccess) - - dataFlowAnalyzer.exitCallableReference(callableReferenceAccess) - return callableReferenceAccess } override fun transformGetClassCall(getClassCall: FirGetClassCall, data: ResolutionMode): FirStatement {