From eb500e0fefa16ee8c8d6a42ce93cd691797c6d64 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Mon, 5 Oct 2015 17:46:04 +0300 Subject: [PATCH] Minor refactoring --- .../KotlinFunctionParameterInfoHandler.kt | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinFunctionParameterInfoHandler.kt b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinFunctionParameterInfoHandler.kt index 6f4d6273d72..37f1872f37e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinFunctionParameterInfoHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinFunctionParameterInfoHandler.kt @@ -23,7 +23,6 @@ import com.intellij.psi.PsiElement import com.intellij.ui.Gray import com.intellij.ui.JBColor import org.jetbrains.kotlin.builtins.KotlinBuiltIns -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor import org.jetbrains.kotlin.descriptors.Visibilities @@ -105,20 +104,16 @@ class KotlinFunctionParameterInfoHandler : ParameterInfoHandlerWithTabActionSupp val results: OverloadResolutionResults = callResolver.resolveFunctionCall(callResolutionContext) - val itemsToShow = ArrayList() - for (candidate in results.allCandidates!!) { - val status = candidate.status - if (status == ResolutionStatus.RECEIVER_TYPE_ERROR || status == ResolutionStatus.RECEIVER_PRESENCE_ERROR) continue + val descriptors = results.allCandidates!! + .filter { it.status != ResolutionStatus.RECEIVER_TYPE_ERROR && it.status != ResolutionStatus.RECEIVER_PRESENCE_ERROR } + .filter { + val thisReceiver = ExpressionTypingUtils.normalizeReceiverValueForVisibility(it.dispatchReceiver, bindingContext) + Visibilities.isVisible(thisReceiver, it.resultingDescriptor, inDescriptor) - var descriptor = candidate.resultingDescriptor + } + .map { it.resultingDescriptor } - val thisReceiver = ExpressionTypingUtils.normalizeReceiverValueForVisibility(candidate.dispatchReceiver, bindingContext) - if (!Visibilities.isVisible(thisReceiver, descriptor, inDescriptor)) continue - - itemsToShow.add(descriptor) - } - - context.itemsToShow = itemsToShow.toArray() + context.itemsToShow = descriptors.toTypedArray() return argumentList }