From aa1de706c1bb528bf650ca8ab652344b066c0037 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Tue, 8 Sep 2015 17:37:53 +0300 Subject: [PATCH] Change Function Signature Fix: Prefer argument's smartcast (if any) over its original type #KT-8775 Fixed --- .../kotlin/idea/quickfix/AddFunctionParametersFix.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.kt index 44a9a8cc765..db3852ea569 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.kt @@ -95,7 +95,9 @@ public class AddFunctionParametersFix( if (i < parameters.size()) { validator.addName(parameters.get(i).name.asString()) - val argumentType = expression?.let { bindingContext.getType(it) } + val argumentType = expression?.let { + bindingContext[BindingContext.SMARTCAST, it] ?: bindingContext.getType(it) + } val parameterType = parameters.get(i).type if (argumentType != null && !JetTypeChecker.DEFAULT.isSubtypeOf(argumentType, parameterType)) {