Reformat: AddNameToArgumentFix
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user