Reformat ReplaceRangeToWithUntilInspection
This commit is contained in:
committed by
Mikhail Glukhikh
parent
9c468ef2aa
commit
c183f0285d
@@ -29,20 +29,18 @@ import org.jetbrains.kotlin.psi.KtPsiFactory
|
|||||||
import org.jetbrains.kotlin.psi.createExpressionByPattern
|
import org.jetbrains.kotlin.psi.createExpressionByPattern
|
||||||
|
|
||||||
class ReplaceRangeToWithUntilInspection : AbstractPrimitiveRangeToInspection() {
|
class ReplaceRangeToWithUntilInspection : AbstractPrimitiveRangeToInspection() {
|
||||||
|
|
||||||
override fun visitRangeToExpression(expression: KtExpression, holder: ProblemsHolder) {
|
override fun visitRangeToExpression(expression: KtExpression, holder: ProblemsHolder) {
|
||||||
if (expression.getArguments()?.second?.isMinusOne() != true) return
|
if (expression.getArguments()?.second?.isMinusOne() != true) return
|
||||||
|
|
||||||
holder.registerProblem(
|
holder.registerProblem(
|
||||||
expression,
|
expression,
|
||||||
"'rangeTo' or the '..' call should be replaced with 'until'",
|
"'rangeTo' or the '..' call should be replaced with 'until'",
|
||||||
ProblemHighlightType.GENERIC_ERROR_OR_WARNING,
|
ProblemHighlightType.GENERIC_ERROR_OR_WARNING,
|
||||||
ReplaceWithUntilQuickFix()
|
ReplaceWithUntilQuickFix()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class ReplaceWithUntilQuickFix : LocalQuickFix {
|
class ReplaceWithUntilQuickFix : LocalQuickFix {
|
||||||
|
|
||||||
override fun getName() = "Replace with until"
|
override fun getName() = "Replace with until"
|
||||||
|
|
||||||
override fun getFamilyName() = name
|
override fun getFamilyName() = name
|
||||||
@@ -50,13 +48,14 @@ class ReplaceRangeToWithUntilInspection : AbstractPrimitiveRangeToInspection() {
|
|||||||
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
|
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
|
||||||
val element = descriptor.psiElement as KtExpression
|
val element = descriptor.psiElement as KtExpression
|
||||||
val args = element.getArguments() ?: return
|
val args = element.getArguments() ?: return
|
||||||
element.replace(KtPsiFactory(element).createExpressionByPattern(
|
element.replace(
|
||||||
|
KtPsiFactory(element).createExpressionByPattern(
|
||||||
"$0 until $1",
|
"$0 until $1",
|
||||||
args.first ?: return,
|
args.first ?: return,
|
||||||
(args.second as? KtBinaryExpression)?.left ?: return)
|
(args.second as? KtBinaryExpression)?.left ?: return
|
||||||
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun KtExpression.isMinusOne(): Boolean {
|
private fun KtExpression.isMinusOne(): Boolean {
|
||||||
|
|||||||
Reference in New Issue
Block a user