From 3c19af364536e0ecac6b06887e56bd5d532e8139 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 18 Jan 2018 17:25:11 +0300 Subject: [PATCH] Convert reference to lambda: reformat --- .../ConvertReferenceToLambdaIntention.kt | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertReferenceToLambdaIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertReferenceToLambdaIntention.kt index 44d0aaffcfb..5edc40001c8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertReferenceToLambdaIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertReferenceToLambdaIntention.kt @@ -43,7 +43,7 @@ import org.jetbrains.kotlin.types.expressions.DoubleColonLHS class ConvertReferenceToLambdaInspection : IntentionBasedInspection(ConvertReferenceToLambdaIntention::class) class ConvertReferenceToLambdaIntention : SelfTargetingOffsetIndependentIntention( - KtCallableReferenceExpression::class.java, "Convert reference to lambda" + KtCallableReferenceExpression::class.java, "Convert reference to lambda" ) { override fun applyTo(element: KtCallableReferenceExpression, editor: Editor?) { @@ -55,9 +55,11 @@ class ConvertReferenceToLambdaIntention : SelfTargetingOffsetIndependentIntentio val receiverType = receiverExpression?.let { (context[DOUBLE_COLON_LHS, it] as? DoubleColonLHS.Type)?.type } - val receiverNameAndType = receiverType?.let { KotlinNameSuggester.suggestNamesByType(it, validator = { - name -> name !in parameterNamesAndTypes.map { it.first } - }, defaultName = "receiver").first() to it } + val receiverNameAndType = receiverType?.let { + KotlinNameSuggester.suggestNamesByType(it, validator = { name -> + name !in parameterNamesAndTypes.map { it.first } + }, defaultName = "receiver").first() to it + } val valueArgumentParent = element.parent as? KtValueArgument val callGrandParent = valueArgumentParent?.parent?.parent as? KtCallExpression @@ -66,14 +68,14 @@ class ConvertReferenceToLambdaIntention : SelfTargetingOffsetIndependentIntentio val matchingParameterIsExtension = matchingParameterType?.isExtensionFunctionType ?: false val acceptsReceiverAsParameter = receiverNameAndType != null && !matchingParameterIsExtension && - (targetDescriptor.dispatchReceiverParameter != null || - targetDescriptor.extensionReceiverParameter != null) + (targetDescriptor.dispatchReceiverParameter != null || + targetDescriptor.extensionReceiverParameter != null) val factory = KtPsiFactory(element) val targetName = reference.text val lambdaParameterNamesAndTypes = - if (acceptsReceiverAsParameter) listOf(receiverNameAndType!!) + parameterNamesAndTypes - else parameterNamesAndTypes + if (acceptsReceiverAsParameter) listOf(receiverNameAndType!!) + parameterNamesAndTypes + else parameterNamesAndTypes val receiverPrefix = when { acceptsReceiverAsParameter -> receiverNameAndType!!.first + "." @@ -82,35 +84,33 @@ class ConvertReferenceToLambdaIntention : SelfTargetingOffsetIndependentIntentio } val lambdaExpression = if (valueArgumentParent != null && - lambdaParameterNamesAndTypes.size == 1 && - receiverExpression?.text != "it") { + lambdaParameterNamesAndTypes.size == 1 && + receiverExpression?.text != "it") { factory.createLambdaExpression( - parameters = "", - body = when { - acceptsReceiverAsParameter -> - if (targetDescriptor is PropertyDescriptor) "it.$targetName" - else "it.$targetName()" - else -> - "$receiverPrefix$targetName(it)" - } + parameters = "", + body = when { + acceptsReceiverAsParameter -> + if (targetDescriptor is PropertyDescriptor) "it.$targetName" + else "it.$targetName()" + else -> + "$receiverPrefix$targetName(it)" + } ) - } - else { + } else { factory.createLambdaExpression( - parameters = lambdaParameterNamesAndTypes.joinToString(separator = ", ") { - if (valueArgumentParent != null) it.first - else it.first + ": " + SOURCE_RENDERER.renderType(it.second) - }, - body = if (targetDescriptor is PropertyDescriptor) { - "$receiverPrefix$targetName" - } - else { - parameterNamesAndTypes.joinToString( - prefix = "$receiverPrefix$targetName(", - separator = ", ", - postfix = ")" - ) { it.first } - } + parameters = lambdaParameterNamesAndTypes.joinToString(separator = ", ") { + if (valueArgumentParent != null) it.first + else it.first + ": " + SOURCE_RENDERER.renderType(it.second) + }, + body = if (targetDescriptor is PropertyDescriptor) { + "$receiverPrefix$targetName" + } else { + parameterNamesAndTypes.joinToString( + prefix = "$receiverPrefix$targetName(", + separator = ", ", + postfix = ")" + ) { it.first } + } ) } @@ -119,7 +119,7 @@ class ConvertReferenceToLambdaIntention : SelfTargetingOffsetIndependentIntentio else -> false } val wrappedExpression = - if (needParentheses) factory.createExpressionByPattern("($0)", lambdaExpression) else lambdaExpression + if (needParentheses) factory.createExpressionByPattern("($0)", lambdaExpression) else lambdaExpression ShortenReferences.DEFAULT.process(element.replaced(wrappedExpression)) if (valueArgumentParent != null && callGrandParent != null) {