Migrate ChainedComparisonsQuickFix and ComparisonWithNoneQuickFix to ModCommand

PY-65297

GitOrigin-RevId: d33ffbf5e4044ac926bea8f8177c899e7d76e964
This commit is contained in:
Georgii Ustinov
2023-12-13 19:57:38 +02:00
committed by intellij-monorepo-bot
parent 3c1f097c46
commit 6c4e999458
2 changed files with 10 additions and 11 deletions

View File

@@ -1,8 +1,8 @@
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.jetbrains.python.inspections.quickfix;
import com.intellij.codeInspection.LocalQuickFix;
import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.modcommand.ModPsiUpdater;
import com.intellij.modcommand.PsiUpdateModCommandQuickFix;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;
import com.intellij.util.ObjectUtils;
@@ -26,7 +26,7 @@ import static com.jetbrains.python.psi.PyUtil.as;
* QuickFix to replace chained comparisons with more simple version
* For instance, a < b and b < c --> a < b < c
*/
public class ChainedComparisonsQuickFix implements LocalQuickFix {
public class ChainedComparisonsQuickFix extends PsiUpdateModCommandQuickFix {
private final boolean myCommonIsInLeftLeft;
private final boolean myCommonIsInRightLeft;
@@ -52,8 +52,8 @@ public class ChainedComparisonsQuickFix implements LocalQuickFix {
}
@Override
public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
final PyBinaryExpression expression = as(descriptor.getPsiElement(), PyBinaryExpression.class);
public void applyFix(@NotNull final Project project, @NotNull final PsiElement element, @NotNull final ModPsiUpdater updater) {
final PyBinaryExpression expression = as(element, PyBinaryExpression.class);
if (isLogicalAndExpression(expression) && expression.isWritable()) {
final PyBinaryExpression rightExpression = as(expression.getRightExpression(), PyBinaryExpression.class);
PyBinaryExpression leftExpression = as(expression.getLeftExpression(), PyBinaryExpression.class);

View File

@@ -1,8 +1,8 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.jetbrains.python.inspections.quickfix;
import com.intellij.codeInspection.LocalQuickFix;
import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.modcommand.ModPsiUpdater;
import com.intellij.modcommand.PsiUpdateModCommandQuickFix;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;
import com.jetbrains.python.PyPsiBundle;
@@ -13,7 +13,7 @@ import com.jetbrains.python.psi.PyElementType;
import com.jetbrains.python.psi.PyExpression;
import org.jetbrains.annotations.NotNull;
public class ComparisonWithNoneQuickFix implements LocalQuickFix {
public class ComparisonWithNoneQuickFix extends PsiUpdateModCommandQuickFix {
@Override
@NotNull
public String getFamilyName() {
@@ -21,9 +21,8 @@ public class ComparisonWithNoneQuickFix implements LocalQuickFix {
}
@Override
public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
PsiElement problemElement = descriptor.getPsiElement();
if (problemElement instanceof PyBinaryExpression binaryExpression) {
public void applyFix(@NotNull Project project, @NotNull PsiElement element, @NotNull ModPsiUpdater updater) {
if (element instanceof PyBinaryExpression binaryExpression) {
PyElementType operator = binaryExpression.getOperator();
PyElementGenerator elementGenerator = PyElementGenerator.getInstance(project);
String temp;