From 9ba2242ea93f0c8b02b20c4b2ec673cd0814c260 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Mon, 5 Oct 2015 21:30:33 +0300 Subject: [PATCH] More simple code --- .../KotlinFunctionParameterInfoHandler.kt | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinFunctionParameterInfoHandler.kt b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinFunctionParameterInfoHandler.kt index 46b2c33675c..608648929ab 100644 --- a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinFunctionParameterInfoHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinFunctionParameterInfoHandler.kt @@ -101,18 +101,12 @@ class KotlinFunctionParameterInfoHandler : ParameterInfoHandlerWithTabActionSupp } override fun findElementForUpdatingParameterInfo(context: UpdateParameterInfoContext): JetValueArgumentList? { - var element = context.file.findElementAt(context.offset) ?: return null - var parent = element.parent - while (parent != null && parent !is JetValueArgumentList) { - element = element!!.parent - parent = parent.parent - } - if (parent == null) return null - - val argumentList = parent as JetValueArgumentList - if (element is JetValueArgument) { - val i = argumentList.arguments.indexOf(element) - context.setCurrentParameter(i) + val element = context.file.findElementAt(context.offset) ?: return null + val argumentList = element.getStrictParentOfType() ?: return null + val argument = element.parents.takeWhile { it != argumentList }.lastOrNull() as? JetValueArgument + if (argument != null) { + val index = argumentList.arguments.indexOf(element) + context.setCurrentParameter(index) context.setHighlightedParameter(element) } return argumentList