[FIR] Get rid of the argumentMapping function.

It's just a duplicate of `resolvedArgumentMapping`. Plus there is a
member with the same name inside `FirAnnotationCall`.
This commit is contained in:
Nikolay Lunyak
2022-09-30 20:22:07 +03:00
parent 89f8821d0a
commit e34dd49872
11 changed files with 16 additions and 22 deletions
@@ -463,7 +463,7 @@ internal class KtFirCallResolver(
val argumentMapping = if (candidate is Candidate) {
candidate.argumentMapping
} else {
fir.argumentMapping
fir.resolvedArgumentMapping
}
val argumentMappingWithoutExtensionReceiver =
if (firstArgIsExtensionReceiver) {
@@ -1119,7 +1119,7 @@ internal class KtFirCallResolver(
}
private fun FirCall.createArgumentMapping(signatureOfCallee: KtFunctionLikeSignature<*>): LinkedHashMap<KtExpression, KtVariableLikeSignature<KtValueParameterSymbol>> {
return argumentMapping?.entries.createArgumentMapping(signatureOfCallee)
return resolvedArgumentMapping?.entries.createArgumentMapping(signatureOfCallee)
}
private fun Iterable<MutableMap.MutableEntry<FirExpression, FirValueParameter>>?.createArgumentMapping(
@@ -91,7 +91,7 @@ internal class KtFirExpressionTypeProvider(
val assignment = expression.parent as? KtBinaryExpression ?: return null
if (assignment.operationToken !in KtTokens.ALL_ASSIGNMENTS) return null
if (assignment.left != expression) return null
val setTargetArgumentParameter = fir.argumentMapping?.entries?.last()?.value ?: return null
val setTargetArgumentParameter = fir.resolvedArgumentMapping?.entries?.last()?.value ?: return null
return setTargetArgumentParameter.returnTypeRef.coneType.asKtType()
}
@@ -153,7 +153,7 @@ internal class KtFirExpressionTypeProvider(
return (callee.fir as FirSimpleFunction).returnTypeRef.coneType.asKtType()
}
val arguments = firCall.argumentMapping ?: return null
val arguments = firCall.resolvedArgumentMapping ?: return null
val firParameterForExpression =
arguments.entries.firstOrNull { (arg, _) ->
when (arg) {
@@ -187,7 +187,7 @@ internal class KtFirExpressionTypeProvider(
val firCall = infixCallExpression.getOrBuildFirSafe<FirFunctionCall>(firResolveSession) ?: return null
// There is only one parameter for infix functions; get its type
val arguments = firCall.argumentMapping ?: return null
val arguments = firCall.resolvedArgumentMapping ?: return null
val firParameterForExpression = arguments.values.singleOrNull() ?: return null
return firParameterForExpression.returnTypeRef.coneType.asKtType()
}
@@ -109,7 +109,7 @@ internal object FirAnnotationValueConverter {
val classSymbol = resolvedSymbol.getContainingClassSymbol(session) ?: return null
if ((classSymbol.fir as? FirClass)?.classKind == ClassKind.ANNOTATION_CLASS) {
val resultMap = mutableMapOf<Name, FirExpression>()
argumentMapping?.entries?.forEach { (arg, param) ->
resolvedArgumentMapping?.entries?.forEach { (arg, param) ->
resultMap[param.name] = arg
}
KtAnnotationApplicationValue(
@@ -315,7 +315,7 @@ internal object FirReferenceResolveHelper {
}
private fun FirCall.findCorrespondingParameter(ktValueArgument: KtValueArgument): FirValueParameter? =
argumentMapping?.entries?.firstNotNullOfOrNull { (firArgument, firParameter) ->
resolvedArgumentMapping?.entries?.firstNotNullOfOrNull { (firArgument, firParameter) ->
if (firArgument.psi == ktValueArgument) firParameter
else null
}