RemoveReturnLabelFix: introduce labelName parameter
This commit is contained in:
@@ -26,7 +26,7 @@ class RedundantReturnLabelInspection : AbstractKotlinInspection() {
|
|||||||
label,
|
label,
|
||||||
"Redundant '@$labelName'",
|
"Redundant '@$labelName'",
|
||||||
ProblemHighlightType.LIKE_UNUSED_SYMBOL,
|
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.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtReturnExpression
|
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) {
|
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
|
||||||
element?.labeledExpression?.delete()
|
element?.labeledExpression?.delete()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getFamilyName(): String = "Remove redundant label"
|
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() {
|
companion object : KotlinSingleIntentionActionFactory() {
|
||||||
override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<KtReturnExpression>? {
|
override fun createAction(diagnostic: Diagnostic): KotlinQuickFixAction<KtReturnExpression>? {
|
||||||
val returnExpression = diagnostic.psiElement as? KtReturnExpression ?: return null
|
val returnExpression = diagnostic.psiElement as? KtReturnExpression ?: return null
|
||||||
return if (returnExpression.labeledExpression == null) null
|
val labelName = returnExpression.getLabelName() ?: return null
|
||||||
else RemoveReturnLabelFix(returnExpression)
|
return RemoveReturnLabelFix(returnExpression, labelName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user