From faadb081745137669f0954cfec78a5c15b639931 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Thu, 3 Jun 2021 12:40:11 +0300 Subject: [PATCH] [FIR-IDE] Fix generating conversions for pair with non-trivial converters --- .../frontend/api/fir/generator/HLParameterConversion.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/idea/idea-frontend-fir/idea-frontend-fir-generator/src/org/jetbrains/kotlin/idea/frontend/api/fir/generator/HLParameterConversion.kt b/idea/idea-frontend-fir/idea-frontend-fir-generator/src/org/jetbrains/kotlin/idea/frontend/api/fir/generator/HLParameterConversion.kt index d3773bed22a..28266402da1 100644 --- a/idea/idea-frontend-fir/idea-frontend-fir-generator/src/org/jetbrains/kotlin/idea/frontend/api/fir/generator/HLParameterConversion.kt +++ b/idea/idea-frontend-fir/idea-frontend-fir-generator/src/org/jetbrains/kotlin/idea/frontend/api/fir/generator/HLParameterConversion.kt @@ -90,7 +90,14 @@ class HLPairParameterConversion( private val mappingConversionFirst: HLParameterConversion, private val mappingConversionSecond: HLParameterConversion, ) : HLParameterConversion() { - override fun convertExpression(expression: String, context: ConversionContext): String = expression + override fun convertExpression(expression: String, context: ConversionContext): String { + if (mappingConversionFirst.isTrivial && mappingConversionSecond.isTrivial) { + return expression + } + val first = mappingConversionFirst.convertExpression("$expression.first", context) + val second = mappingConversionSecond.convertExpression("$expression.second", context) + return "$first to $second" + } override fun convertType(type: KType): KType { val first = type.arguments.getOrNull(0)?.type ?: return type