From 8925b8c9229c2bbf109b2cecb5ccd2c1555fed92 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 23 Apr 2021 09:56:15 +0300 Subject: [PATCH] [FIR] Fix leaking mutable map type of resolved argument mapping --- .../fir/backend/generators/CallAndReferenceGenerator.kt | 2 +- .../org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 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 6851e023139..d533c669db0 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 @@ -529,7 +529,7 @@ class CallAndReferenceGenerator( } private fun IrMemberAccessExpression<*>.applyArgumentsWithReorderingIfNeeded( - argumentMapping: LinkedHashMap, + argumentMapping: Map, valueParameters: List, substitutor: ConeSubstitutor, annotationMode: Boolean diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt index f6446d6fbe9..0c0b9dcc1c8 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt @@ -43,13 +43,13 @@ inline val FirCall.arguments: List get() = argumentList.arguments inline val FirCall.argument: FirExpression get() = argumentList.arguments.first() -inline val FirCall.resolvedArgumentMapping: LinkedHashMap? +inline val FirCall.resolvedArgumentMapping: Map? get() = when (val argumentList = argumentList) { is FirResolvedArgumentList -> argumentList.mapping else -> null } -inline val FirCall.argumentMapping: LinkedHashMap? +inline val FirCall.argumentMapping: Map? get() = when (val argumentList = argumentList) { is FirResolvedArgumentList -> argumentList.mapping is FirPartiallyResolvedArgumentList -> argumentList.mapping