From b680b74ecb77b6368c7d448f37079397bfe9bd56 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Thu, 2 Oct 2014 18:16:58 +0400 Subject: [PATCH] Create From Usage: Do not suggest list of type candidates when there is at most one --- .../callableBuilder/CallableBuilder.kt | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt b/idea/src/org/jetbrains/jet/plugin/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt index 06f9f79a625..5f9d94f88b1 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt @@ -445,9 +445,21 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { private fun setupReturnTypeTemplate(builder: TemplateBuilder, declaration: JetCallableDeclaration): TypeExpression? { val returnTypeRef = declaration.getReturnTypeRef() ?: return null - val returnTypeExpression = TypeExpression(typeCandidates[config.callableInfo.returnTypeInfo]!!) - builder.replaceElement(returnTypeRef, returnTypeExpression) - return returnTypeExpression + val candidates = typeCandidates[config.callableInfo.returnTypeInfo]!! + return when (candidates.size) { + 0 -> null + + 1 -> { + builder.replaceElement(returnTypeRef, candidates.first().renderedType!!) + null + } + + else -> { + val returnTypeExpression = TypeExpression(candidates) + builder.replaceElement(returnTypeRef, returnTypeExpression) + returnTypeExpression + } + } } private fun setupValVarTemplate(builder: TemplateBuilder, property: JetProperty) {