[FIR] Cleanup code of transforming callable references
This commit is contained in:
+10
-9
@@ -875,19 +875,20 @@ open class FirExpressionsResolveTransformer(transformer: FirBodyResolveTransform
|
|||||||
|
|
||||||
transformedLHS?.let { callableReferenceAccess.replaceExplicitReceiver(transformedLHS) }
|
transformedLHS?.let { callableReferenceAccess.replaceExplicitReceiver(transformedLHS) }
|
||||||
|
|
||||||
if (data !is ResolutionMode.ContextDependent /* ContextDependentDelegate is Ok here */) {
|
return when (data) {
|
||||||
val resolvedReference =
|
is ResolutionMode.ContextDependent -> {
|
||||||
|
context.storeCallableReferenceContext(callableReferenceAccess)
|
||||||
|
callableReferenceAccess
|
||||||
|
}
|
||||||
|
|
||||||
|
else -> {
|
||||||
components.syntheticCallGenerator.resolveCallableReferenceWithSyntheticOuterCall(
|
components.syntheticCallGenerator.resolveCallableReferenceWithSyntheticOuterCall(
|
||||||
callableReferenceAccess, data.expectedType, resolutionContext,
|
callableReferenceAccess, data.expectedType, resolutionContext,
|
||||||
) ?: callableReferenceAccess
|
) ?: 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 {
|
override fun transformGetClassCall(getClassCall: FirGetClassCall, data: ResolutionMode): FirStatement {
|
||||||
|
|||||||
Reference in New Issue
Block a user