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(