From 0cb907d6370351f43d881bf1b3a558ef38357bf1 Mon Sep 17 00:00:00 2001 From: Toshiaki Kameyama Date: Thu, 24 May 2018 10:59:32 +0300 Subject: [PATCH] Reformat: ChangeMemberFunctionSignatureFix --- .../ChangeMemberFunctionSignatureFix.kt | 85 +++++++++---------- 1 file changed, 42 insertions(+), 43 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeMemberFunctionSignatureFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeMemberFunctionSignatureFix.kt index 418aa193e0b..b0f0acf2b2b 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeMemberFunctionSignatureFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeMemberFunctionSignatureFix.kt @@ -55,8 +55,8 @@ import java.util.* * Fix that changes member function's signature to match one of super functions' signatures. */ class ChangeMemberFunctionSignatureFix private constructor( - element: KtNamedFunction, - private val signatures: List + element: KtNamedFunction, + private val signatures: List ) : KotlinQuickFixAction(element) { init { @@ -100,15 +100,14 @@ class ChangeMemberFunctionSignatureFix private constructor( return emptyList() } - val functionDescriptor = functionElement.resolveToDescriptorIfAny(BodyResolveMode.FULL) - ?: return emptyList() + val functionDescriptor = functionElement.resolveToDescriptorIfAny(BodyResolveMode.FULL) ?: return emptyList() val superFunctions = getPossibleSuperFunctionsDescriptors(functionDescriptor) return superFunctions - .filter { it.kind.isReal } - .map { signatureToMatch(functionDescriptor, it) } - .distinctBy { it.sourceCode } - .sortedBy { it.preview } + .filter { it.kind.isReal } + .map { signatureToMatch(functionDescriptor, it) } + .distinctBy { it.sourceCode } + .sortedBy { it.preview } } /** @@ -128,13 +127,15 @@ class ChangeMemberFunctionSignatureFix private constructor( matchParameters(ParameterChooser.MatchTypes, superParameters, parameters, newParameters, matched, used) val newFunction = replaceFunctionParameters( - superFunction.copy( - function.containingDeclaration, - Modality.OPEN, - findMemberWithMaxVisibility(listOf(superFunction, function)).visibility, - CallableMemberDescriptor.Kind.DELEGATION, - /* copyOverrides = */ true), - newParameters) + superFunction.copy( + function.containingDeclaration, + Modality.OPEN, + findMemberWithMaxVisibility(listOf(superFunction, function)).visibility, + CallableMemberDescriptor.Kind.DELEGATION, + /* copyOverrides = */ true + ), + newParameters + ) newFunction.setSingleOverridden(superFunction) return Signature(newFunction) @@ -154,12 +155,12 @@ class ChangeMemberFunctionSignatureFix private constructor( * @param used - true iff this parameter in function is used to match some parameter in super function (may be modified by this function) */ private fun matchParameters( - parameterChooser: ParameterChooser, - superParameters: List, - parameters: List, - newParameters: MutableList, - matched: BitSet, - used: BitSet + parameterChooser: ParameterChooser, + superParameters: List, + parameters: List, + newParameters: MutableList, + matched: BitSet, + used: BitSet ) { for (superParameter in superParameters) { if (!matched[superParameter.index]) { @@ -185,8 +186,8 @@ class ChangeMemberFunctionSignatureFix private constructor( val name = functionDescriptor.name return containingClass.defaultType.supertypes() - .flatMap { supertype -> supertype.memberScope.getContributedFunctions(name, NoLookupLocation.FROM_IDE) } - .filter { it.kind.isReal && it.isOverridable } + .flatMap { supertype -> supertype.memberScope.getContributedFunctions(name, NoLookupLocation.FROM_IDE) } + .filter { it.kind.isReal && it.isOverridable } } /** @@ -194,29 +195,29 @@ class ChangeMemberFunctionSignatureFix private constructor( * Note that parameters may belong to other methods or have incorrect "index" property -- it will be fixed by this function. */ private fun replaceFunctionParameters( - function: FunctionDescriptor, - newParameters: List + function: FunctionDescriptor, + newParameters: List ): FunctionDescriptor { val descriptor = SimpleFunctionDescriptorImpl.create( - function.containingDeclaration, - function.annotations, - function.name, - function.kind, - SourceElement.NO_SOURCE + function.containingDeclaration, + function.annotations, + function.name, + function.kind, + SourceElement.NO_SOURCE ) val parameters = newParameters.withIndex().map { (index, parameter) -> ValueParameterDescriptorImpl( - descriptor, null, index, - parameter.annotations, parameter.name, parameter.returnType!!, parameter.declaresDefaultValue(), - parameter.isCrossinline, parameter.isNoinline, parameter.varargElementType, SourceElement.NO_SOURCE + descriptor, null, index, + parameter.annotations, parameter.name, parameter.returnType!!, parameter.declaresDefaultValue(), + parameter.isCrossinline, parameter.isNoinline, parameter.varargElementType, SourceElement.NO_SOURCE ) } return descriptor.apply { initialize( - function.extensionReceiverParameter?.type, function.dispatchReceiverParameter, - function.typeParameters, parameters, function.returnType, function.modality, function.visibility + function.extensionReceiverParameter?.type, function.dispatchReceiverParameter, + function.typeParameters, parameters, function.returnType, function.modality, function.visibility ) isOperator = function.isOperator isInfix = function.isInfix @@ -264,8 +265,7 @@ class ChangeMemberFunctionSignatureFix private constructor( // TODO: support for generic functions return if (KotlinTypeChecker.DEFAULT.equalTypes(parameter.type, superParameter.type)) { superParameter.copy(parameter.containingDeclaration, parameter.name, parameter.index) - } - else { + } else { null } } @@ -274,10 +274,10 @@ class ChangeMemberFunctionSignatureFix private constructor( } private class MyAction( - private val project: Project, - private val editor: Editor?, - private val function: KtNamedFunction, - private val signatures: List + private val project: Project, + private val editor: Editor?, + private val function: KtNamedFunction, + private val signatures: List ) { fun execute() { PsiDocumentManager.getInstance(project).commitAllDocuments() @@ -286,8 +286,7 @@ class ChangeMemberFunctionSignatureFix private constructor( if (signatures.size == 1 || editor == null || !editor.component.isShowing) { changeSignature(signatures.first()) - } - else { + } else { chooseSignatureAndChange() } }