Reformat: AddNameToArgumentFix

This commit is contained in:
Mikhail Glukhikh
2018-08-07 11:29:11 +03:00
parent 06d339639f
commit 09766ae2ae
@@ -51,17 +51,16 @@ class AddNameToArgumentFix(argument: KtValueArgument) : KotlinQuickFixAction<KtV
assert(possibleNames.isNotEmpty()) { "isAvailable() should be checked before invoke()" } assert(possibleNames.isNotEmpty()) { "isAvailable() should be checked before invoke()" }
if (possibleNames.size == 1 || editor == null || !editor.component.isShowing) { if (possibleNames.size == 1 || editor == null || !editor.component.isShowing) {
addName(project, element, possibleNames.first()) addName(project, element, possibleNames.first())
} } else {
else {
chooseNameAndAdd(project, editor, possibleNames) chooseNameAndAdd(project, editor, possibleNames)
} }
} }
override fun getText(): String { override fun getText(): String {
return calculatePossibleArgumentNames() return calculatePossibleArgumentNames()
.singleOrNull() .singleOrNull()
?.let { "Add name to argument: '${createArgumentWithName(it, reformat = false).text}'" } ?.let { "Add name to argument: '${createArgumentWithName(it, reformat = false).text}'" }
?: "Add name to argument..." ?: "Add name to argument..."
} }
override fun getFamilyName() = "Add name to argument" override fun getFamilyName() = "Add name to argument"
@@ -75,15 +74,15 @@ class AddNameToArgumentFix(argument: KtValueArgument) : KotlinQuickFixAction<KtV
val argumentType = element!!.getArgumentExpression()?.let { context.getType(it) } val argumentType = element!!.getArgumentExpression()?.let { context.getType(it) }
val usedParameters = resolvedCall.call.valueArguments val usedParameters = resolvedCall.call.valueArguments
.map { resolvedCall.getArgumentMapping(it) } .map { resolvedCall.getArgumentMapping(it) }
.filterIsInstance<ArgumentMatch>() .filterIsInstance<ArgumentMatch>()
.filter { argumentMatch -> argumentType == null || argumentType.isError || !argumentMatch.isError() } .filter { argumentMatch -> argumentType == null || argumentType.isError || !argumentMatch.isError() }
.map { it.valueParameter } .map { it.valueParameter }
.toSet() .toSet()
return resolvedCall.resultingDescriptor.valueParameters return resolvedCall.resultingDescriptor.valueParameters
.filter { it !in usedParameters } .filter { it !in usedParameters }
.map { it.name } .map { it.name }
} }
private fun addName(project: Project, argument: KtValueArgument, name: Name) { private fun addName(project: Project, argument: KtValueArgument, name: Name) {