RemoveReturnLabelFix: introduce labelName parameter

This commit is contained in:
Dmitry Gridin
2020-02-12 11:46:43 +07:00
parent 7c65bb2e3f
commit 8da05ed597
2 changed files with 5 additions and 5 deletions
@@ -26,7 +26,7 @@ class RedundantReturnLabelInspection : AbstractKotlinInspection() {
label,
"Redundant '@$labelName'",
ProblemHighlightType.LIKE_UNUSED_SYMBOL,
IntentionWrapper(RemoveReturnLabelFix(returnExpression), returnExpression.containingKtFile),
IntentionWrapper(RemoveReturnLabelFix(returnExpression, labelName), returnExpression.containingKtFile),
)
},
)
@@ -11,20 +11,20 @@ import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.psi.KtReturnExpression
class RemoveReturnLabelFix(element: KtReturnExpression) : KotlinQuickFixAction<KtReturnExpression>(element) {
class RemoveReturnLabelFix(element: KtReturnExpression, private val labelName: String) : KotlinQuickFixAction<KtReturnExpression>(element) {
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
element?.labeledExpression?.delete()
}
override fun getFamilyName(): String = "Remove redundant label"
override fun getText(): String = "Remove redundant ${element?.getLabelName()?.let { "'@$it'" } ?: "label"}"
override fun getText(): String = "Remove redundant '@$labelName'"
companion object : KotlinSingleIntentionActionFactory() {
override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<KtReturnExpression>? {
val returnExpression = diagnostic.psiElement as? KtReturnExpression ?: return null
return if (returnExpression.labeledExpression == null) null
else RemoveReturnLabelFix(returnExpression)
val labelName = returnExpression.getLabelName() ?: return null
return RemoveReturnLabelFix(returnExpression, labelName)
}
}
}