From 517614a19082023de4d262dc9f261dd7893a3c1d Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 29 Jun 2022 14:50:48 +0200 Subject: [PATCH] FIR2IR: remove code duplication from CallAndReferenceGenerator --- .../generators/CallAndReferenceGenerator.kt | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt index 92fc3a33830..15943c7e87e 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt @@ -784,22 +784,7 @@ class CallAndReferenceGenerator( val argumentsCount = call.arguments.size if (argumentsCount <= valueArgumentsCount) { apply { - val calleeReference = when (call) { - is FirFunctionCall -> call.calleeReference - is FirDelegatedConstructorCall -> call.calleeReference - is FirAnnotationCall -> call.calleeReference - else -> null - } - val function = if (calleeReference == FirReferencePlaceholderForResolvedAnnotations) { - val coneClassLikeType = (call as FirAnnotation).annotationTypeRef.coneTypeSafe() - val firClass = (coneClassLikeType?.lookupTag?.toSymbol(session) as? FirRegularClassSymbol)?.fir - firClass?.declarations?.filterIsInstance()?.firstOrNull() - } else { - ((calleeReference as? FirResolvedNamedReference)?.resolvedSymbol as? FirFunctionSymbol<*>)?.fir - } - val valueParameters = function?.valueParameters - val argumentMapping = call.resolvedArgumentMapping - val substitutor = (call as? FirFunctionCall)?.buildSubstitutorByCalledFunction(function) ?: ConeSubstitutor.Empty + val (valueParameters, argumentMapping, substitutor) = extractArgumentsMapping(call) if (argumentMapping != null && (annotationMode || argumentMapping.isNotEmpty())) { if (valueParameters != null) { return applyArgumentsWithReorderingIfNeeded(