Migrate ReplaceNotEqOperatorQuickFix and ReplaceOctalNumericLiteralQuickFix to ModCommand

PY-65297

GitOrigin-RevId: b6b50c5b6e2d1377447eb1e0efe0e7e8bc57fed1
This commit is contained in:
Georgii Ustinov
2024-01-04 15:55:14 +02:00
committed by intellij-monorepo-bot
parent 3e0851d3ad
commit 2fffdde734
2 changed files with 15 additions and 17 deletions

View File

@@ -15,8 +15,8 @@
*/
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.psi.impl.source.tree.LeafPsiElement;
@@ -26,7 +26,7 @@ import com.jetbrains.python.psi.PyBinaryExpression;
import com.jetbrains.python.psi.PyElementGenerator;
import org.jetbrains.annotations.NotNull;
public class ReplaceNotEqOperatorQuickFix implements LocalQuickFix {
public class ReplaceNotEqOperatorQuickFix extends PsiUpdateModCommandQuickFix {
@NotNull
@Override
public String getFamilyName() {
@@ -34,14 +34,13 @@ public class ReplaceNotEqOperatorQuickFix implements LocalQuickFix {
}
@Override
public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
PsiElement binaryExpression = descriptor.getPsiElement();
public void applyFix(@NotNull Project project, @NotNull PsiElement element, @NotNull ModPsiUpdater updater) {
if (binaryExpression instanceof PyBinaryExpression) {
PsiElement operator = ((PyBinaryExpression)binaryExpression).getPsiOperator();
if (element instanceof PyBinaryExpression) {
PsiElement operator = ((PyBinaryExpression)element).getPsiOperator();
if (operator != null) {
PyElementGenerator elementGenerator = PyElementGenerator.getInstance(project);
operator.replace(elementGenerator.createFromText(LanguageLevel.forElement(binaryExpression), LeafPsiElement.class, "!="));
operator.replace(elementGenerator.createFromText(LanguageLevel.forElement(element), LeafPsiElement.class, "!="));
}
}
}

View File

@@ -15,8 +15,8 @@
*/
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;
@@ -25,7 +25,7 @@ import com.jetbrains.python.psi.PyElementGenerator;
import com.jetbrains.python.psi.PyNumericLiteralExpression;
import org.jetbrains.annotations.NotNull;
public class ReplaceOctalNumericLiteralQuickFix implements LocalQuickFix {
public class ReplaceOctalNumericLiteralQuickFix extends PsiUpdateModCommandQuickFix {
@NotNull
@Override
public String getFamilyName() {
@@ -33,13 +33,12 @@ public class ReplaceOctalNumericLiteralQuickFix implements LocalQuickFix {
}
@Override
public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
PsiElement numericLiteralExpression = descriptor.getPsiElement();
if (numericLiteralExpression instanceof PyNumericLiteralExpression) {
public void applyFix(@NotNull Project project, @NotNull PsiElement element, @NotNull ModPsiUpdater updater) {
if (element instanceof PyNumericLiteralExpression) {
PyElementGenerator elementGenerator = PyElementGenerator.getInstance(project);
String text = numericLiteralExpression.getText();
final LanguageLevel level = LanguageLevel.forElement(numericLiteralExpression);
numericLiteralExpression.replace(elementGenerator.createExpressionFromText(level, "0o" + text.substring(1)));
String text = element.getText();
final LanguageLevel level = LanguageLevel.forElement(element);
element.replace(elementGenerator.createExpressionFromText(level, "0o" + text.substring(1)));
}
}
}