ReplaceInfixCallFix --> ReplaceInfixOrOperatorCallFix

(cherry picked from commit 679867b)
This commit is contained in:
Mikhail Glukhikh
2016-07-27 18:11:38 +03:00
committed by Mikhail Glukhikh
parent 995a633229
commit d8bd90fb90
2 changed files with 7 additions and 7 deletions
@@ -203,9 +203,9 @@ class QuickFixRegistrar : QuickFixContributor {
UNSAFE_CALL.registerFactory(AddExclExclCallFix) UNSAFE_CALL.registerFactory(AddExclExclCallFix)
UNNECESSARY_NOT_NULL_ASSERTION.registerFactory(RemoveExclExclCallFix) UNNECESSARY_NOT_NULL_ASSERTION.registerFactory(RemoveExclExclCallFix)
UNSAFE_INFIX_CALL.registerFactory(ReplaceInfixCallFix) UNSAFE_INFIX_CALL.registerFactory(ReplaceInfixOrOperatorCallFix)
UNSAFE_CALL.registerFactory(ReplaceInfixCallFix) // [] only UNSAFE_CALL.registerFactory(ReplaceInfixOrOperatorCallFix) // [] only
UNSAFE_IMPLICIT_INVOKE_CALL.registerFactory(ReplaceInfixCallFix) UNSAFE_IMPLICIT_INVOKE_CALL.registerFactory(ReplaceInfixOrOperatorCallFix)
AMBIGUOUS_ANONYMOUS_TYPE_INFERRED.registerActions(SpecifyTypeExplicitlyFix()) AMBIGUOUS_ANONYMOUS_TYPE_INFERRED.registerActions(SpecifyTypeExplicitlyFix())
PROPERTY_WITH_NO_TYPE_NO_INITIALIZER.registerActions(SpecifyTypeExplicitlyFix()) PROPERTY_WITH_NO_TYPE_NO_INITIALIZER.registerActions(SpecifyTypeExplicitlyFix())
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.getAssignmentByLHS import org.jetbrains.kotlin.psi.psiUtil.getAssignmentByLHS
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
class ReplaceInfixCallFix(element: KtExpression) : KotlinQuickFixAction<KtExpression>(element) { class ReplaceInfixOrOperatorCallFix(element: KtExpression) : KotlinQuickFixAction<KtExpression>(element) {
override fun getText() = "Replace with safe (?.) call" override fun getText() = "Replace with safe (?.) call"
@@ -81,18 +81,18 @@ class ReplaceInfixCallFix(element: KtExpression) : KotlinQuickFixAction<KtExpres
val expression = diagnostic.psiElement val expression = diagnostic.psiElement
if (expression is KtArrayAccessExpression) { if (expression is KtArrayAccessExpression) {
if (expression.arrayExpression == null) return null if (expression.arrayExpression == null) return null
return ReplaceInfixCallFix(expression) return ReplaceInfixOrOperatorCallFix(expression)
} }
val parent = expression.parent val parent = expression.parent
return when (parent) { return when (parent) {
is KtBinaryExpression -> { is KtBinaryExpression -> {
if (parent.left == null || parent.right == null) null if (parent.left == null || parent.right == null) null
else ReplaceInfixCallFix(parent) else ReplaceInfixOrOperatorCallFix(parent)
} }
is KtCallExpression -> { is KtCallExpression -> {
if (parent.calleeExpression == null) null if (parent.calleeExpression == null) null
else if (parent.parent is KtQualifiedExpression) null else if (parent.parent is KtQualifiedExpression) null
else ReplaceInfixCallFix(parent) else ReplaceInfixOrOperatorCallFix(parent)
} }
else -> null else -> null
} }