From 9e4e59546ac13bc796b835ac536b9f05888f6ca3 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 9 Aug 2012 11:36:47 +0200 Subject: [PATCH] correctly implement getFamilyName() for Python quickfixes; remove some of PSI elements stored in quickfix instances --- .../python/actions/AddCallSuperQuickFix.java | 2 +- .../python/actions/AddEncodingQuickFix.java | 2 +- .../python/actions/AddFieldQuickFix.java | 2 +- .../python/actions/AddFunctionQuickFix.java | 2 +- .../python/actions/AddGlobalQuickFix.java | 2 +- .../python/actions/AddMethodQuickFix.java | 2 +- .../python/actions/AddSelfQuickFix.java | 2 +- .../actions/AugmentedAssignmentQuickFix.java | 6 +--- .../actions/ChainedComparisonsQuickFix.java | 2 +- .../actions/ComparisonWithNoneQuickFix.java | 2 +- .../CompatibilityPrintCallQuickFix.java | 6 +--- .../actions/ConvertDocstringQuickFix.java | 5 +-- .../python/actions/DictCreationQuickFix.java | 2 +- .../python/actions/DocstringQuickFix.java | 2 +- .../actions/GenerateBinaryStubsFix.java | 2 +- .../python/actions/ListCreationQuickFix.java | 2 +- .../actions/MoveFromFutureImportQuickFix.java | 2 +- .../actions/PyDefaultArgumentQuickFix.java | 2 +- .../actions/RedundantParenthesesQuickFix.java | 2 +- .../RemoveArgumentEqualDefaultQuickFix.java | 2 +- .../actions/RemoveDecoratorQuickFix.java | 2 +- .../actions/RemoveLeadingUQuickFix.java | 2 +- .../actions/RemoveTrailingLQuickFix.java | 2 +- .../RemoveTrailingSemicolonQuickFix.java | 2 +- .../RemoveUnnecessaryBackslashQuickFix.java | 2 +- .../actions/RenameParameterQuickFix.java | 4 +-- .../ReplaceBackquoteExpressionQuickFix.java | 2 +- .../actions/ReplaceExceptPartQuickFix.java | 2 +- ...ReplaceFunctionWithSetLiteralQuickFix.java | 15 ++++---- .../ReplaceListComprehensionsQuickFix.java | 2 +- .../actions/ReplaceNotEqOperatorQuickFix.java | 2 +- .../ReplaceOctalNumericLiteralQuickFix.java | 2 +- .../ReplaceRaiseStatementQuickFix.java | 2 +- .../actions/SimplifyBooleanCheckQuickFix.java | 2 +- .../StatementEffectDocstringQuickFix.java | 6 +--- .../StatementEffectFunctionCallQuickFix.java | 6 +--- ...tementEffectIntroduceVariableQuickFix.java | 22 +++++------- .../TransformClassicClassQuickFix.java | 2 +- .../UnresolvedRefAddFutureImportQuickFix.java | 13 +++---- .../UnresolvedRefCreateFunctionQuickFix.java | 2 +- .../UnresolvedRefTrueFalseQuickFix.java | 2 +- .../UnresolvedReferenceAddSelfQuickFix.java | 2 +- .../PySetFunctionToLiteralInspection.java | 36 ++++++++++--------- .../PyStatementEffectInspection.java | 2 +- .../PyUnresolvedReferencesInspection.java | 2 +- 45 files changed, 80 insertions(+), 109 deletions(-) diff --git a/python/src/com/jetbrains/python/actions/AddCallSuperQuickFix.java b/python/src/com/jetbrains/python/actions/AddCallSuperQuickFix.java index 0abb903eecb7..75c8015188d5 100644 --- a/python/src/com/jetbrains/python/actions/AddCallSuperQuickFix.java +++ b/python/src/com/jetbrains/python/actions/AddCallSuperQuickFix.java @@ -39,7 +39,7 @@ public class AddCallSuperQuickFix implements LocalQuickFix { @NonNls @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/AddEncodingQuickFix.java b/python/src/com/jetbrains/python/actions/AddEncodingQuickFix.java index 16e8e90ab3d9..ccef90eb4407 100644 --- a/python/src/com/jetbrains/python/actions/AddEncodingQuickFix.java +++ b/python/src/com/jetbrains/python/actions/AddEncodingQuickFix.java @@ -38,7 +38,7 @@ public class AddEncodingQuickFix implements LocalQuickFix { @NonNls @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/AddFieldQuickFix.java b/python/src/com/jetbrains/python/actions/AddFieldQuickFix.java index e98dc658b4f7..799071d66bef 100644 --- a/python/src/com/jetbrains/python/actions/AddFieldQuickFix.java +++ b/python/src/com/jetbrains/python/actions/AddFieldQuickFix.java @@ -41,7 +41,7 @@ public class AddFieldQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return "Add field to class"; } @Nullable diff --git a/python/src/com/jetbrains/python/actions/AddFunctionQuickFix.java b/python/src/com/jetbrains/python/actions/AddFunctionQuickFix.java index 8859868c8471..18fbbdb30c9d 100644 --- a/python/src/com/jetbrains/python/actions/AddFunctionQuickFix.java +++ b/python/src/com/jetbrains/python/actions/AddFunctionQuickFix.java @@ -43,7 +43,7 @@ public class AddFunctionQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return "Create function in module"; } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/AddGlobalQuickFix.java b/python/src/com/jetbrains/python/actions/AddGlobalQuickFix.java index ebd86c5754ec..4d0ae17432bd 100644 --- a/python/src/com/jetbrains/python/actions/AddGlobalQuickFix.java +++ b/python/src/com/jetbrains/python/actions/AddGlobalQuickFix.java @@ -24,7 +24,7 @@ public class AddGlobalQuickFix implements LocalQuickFix { @NonNls @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/AddMethodQuickFix.java b/python/src/com/jetbrains/python/actions/AddMethodQuickFix.java index ad4fa5acb8c9..0b577618c467 100644 --- a/python/src/com/jetbrains/python/actions/AddMethodQuickFix.java +++ b/python/src/com/jetbrains/python/actions/AddMethodQuickFix.java @@ -43,7 +43,7 @@ public class AddMethodQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return "Add method to class"; } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/AddSelfQuickFix.java b/python/src/com/jetbrains/python/actions/AddSelfQuickFix.java index 873ac6cdc5b4..4cf4c92bcaa8 100644 --- a/python/src/com/jetbrains/python/actions/AddSelfQuickFix.java +++ b/python/src/com/jetbrains/python/actions/AddSelfQuickFix.java @@ -32,7 +32,7 @@ public class AddSelfQuickFix implements LocalQuickFix { @NonNls @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return "Add parameter"; } public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/AugmentedAssignmentQuickFix.java b/python/src/com/jetbrains/python/actions/AugmentedAssignmentQuickFix.java index c0be076c60d9..9c1da7d90a65 100644 --- a/python/src/com/jetbrains/python/actions/AugmentedAssignmentQuickFix.java +++ b/python/src/com/jetbrains/python/actions/AugmentedAssignmentQuickFix.java @@ -24,10 +24,6 @@ import java.util.List; * for instance, i = i + 1 --> i +=1 */ public class AugmentedAssignmentQuickFix implements LocalQuickFix { - - public AugmentedAssignmentQuickFix() { - } - @NotNull public String getName() { return PyBundle.message("QFIX.augment.assignment"); @@ -35,7 +31,7 @@ public class AugmentedAssignmentQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/ChainedComparisonsQuickFix.java b/python/src/com/jetbrains/python/actions/ChainedComparisonsQuickFix.java index 2b64bd56ad45..4e88698ae60f 100644 --- a/python/src/com/jetbrains/python/actions/ChainedComparisonsQuickFix.java +++ b/python/src/com/jetbrains/python/actions/ChainedComparisonsQuickFix.java @@ -34,7 +34,7 @@ public class ChainedComparisonsQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/ComparisonWithNoneQuickFix.java b/python/src/com/jetbrains/python/actions/ComparisonWithNoneQuickFix.java index dab9a68c05c1..f1f670618032 100644 --- a/python/src/com/jetbrains/python/actions/ComparisonWithNoneQuickFix.java +++ b/python/src/com/jetbrains/python/actions/ComparisonWithNoneQuickFix.java @@ -26,7 +26,7 @@ public class ComparisonWithNoneQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/CompatibilityPrintCallQuickFix.java b/python/src/com/jetbrains/python/actions/CompatibilityPrintCallQuickFix.java index 660fda354fe4..f8fc57c7f394 100644 --- a/python/src/com/jetbrains/python/actions/CompatibilityPrintCallQuickFix.java +++ b/python/src/com/jetbrains/python/actions/CompatibilityPrintCallQuickFix.java @@ -19,10 +19,6 @@ import org.jetbrains.annotations.NotNull; * QuickFix to replace statement that has no effect with function call */ public class CompatibilityPrintCallQuickFix implements LocalQuickFix { - - public CompatibilityPrintCallQuickFix() { - } - @NotNull public String getName() { return PyBundle.message("QFIX.statement.effect"); @@ -30,7 +26,7 @@ public class CompatibilityPrintCallQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/ConvertDocstringQuickFix.java b/python/src/com/jetbrains/python/actions/ConvertDocstringQuickFix.java index aaa01a0b881e..6143fa0ac57c 100644 --- a/python/src/com/jetbrains/python/actions/ConvertDocstringQuickFix.java +++ b/python/src/com/jetbrains/python/actions/ConvertDocstringQuickFix.java @@ -18,9 +18,6 @@ import org.jetbrains.annotations.NotNull; * For consistency, always use """triple double quotes""" around docstrings. */ public class ConvertDocstringQuickFix implements LocalQuickFix { - public ConvertDocstringQuickFix() { - } - @NotNull public String getName() { return PyBundle.message("QFIX.convert.single.quoted.docstring"); @@ -28,7 +25,7 @@ public class ConvertDocstringQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/DictCreationQuickFix.java b/python/src/com/jetbrains/python/actions/DictCreationQuickFix.java index a0276a5590e7..9a1076069af2 100644 --- a/python/src/com/jetbrains/python/actions/DictCreationQuickFix.java +++ b/python/src/com/jetbrains/python/actions/DictCreationQuickFix.java @@ -35,7 +35,7 @@ public class DictCreationQuickFix implements LocalQuickFix { @Override @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } @Override diff --git a/python/src/com/jetbrains/python/actions/DocstringQuickFix.java b/python/src/com/jetbrains/python/actions/DocstringQuickFix.java index 3054dccb9981..e713c9a344e8 100644 --- a/python/src/com/jetbrains/python/actions/DocstringQuickFix.java +++ b/python/src/com/jetbrains/python/actions/DocstringQuickFix.java @@ -55,7 +55,7 @@ public class DocstringQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return "Fix docstring"; } @Nullable diff --git a/python/src/com/jetbrains/python/actions/GenerateBinaryStubsFix.java b/python/src/com/jetbrains/python/actions/GenerateBinaryStubsFix.java index 7fb9d733b049..3de55d45841f 100644 --- a/python/src/com/jetbrains/python/actions/GenerateBinaryStubsFix.java +++ b/python/src/com/jetbrains/python/actions/GenerateBinaryStubsFix.java @@ -51,7 +51,7 @@ public class GenerateBinaryStubsFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return "GenerateBinaryStubs"; + return "Generate binary stubs"; } public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/ListCreationQuickFix.java b/python/src/com/jetbrains/python/actions/ListCreationQuickFix.java index 48f094c379df..093e16acc2cd 100644 --- a/python/src/com/jetbrains/python/actions/ListCreationQuickFix.java +++ b/python/src/com/jetbrains/python/actions/ListCreationQuickFix.java @@ -32,7 +32,7 @@ public class ListCreationQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/MoveFromFutureImportQuickFix.java b/python/src/com/jetbrains/python/actions/MoveFromFutureImportQuickFix.java index 4eb3a284afe5..7904da4fb482 100644 --- a/python/src/com/jetbrains/python/actions/MoveFromFutureImportQuickFix.java +++ b/python/src/com/jetbrains/python/actions/MoveFromFutureImportQuickFix.java @@ -23,7 +23,7 @@ public class MoveFromFutureImportQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/PyDefaultArgumentQuickFix.java b/python/src/com/jetbrains/python/actions/PyDefaultArgumentQuickFix.java index 37e90361da08..79e2dce14a96 100644 --- a/python/src/com/jetbrains/python/actions/PyDefaultArgumentQuickFix.java +++ b/python/src/com/jetbrains/python/actions/PyDefaultArgumentQuickFix.java @@ -31,7 +31,7 @@ public class PyDefaultArgumentQuickFix implements LocalQuickFix { @Override @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } @Override diff --git a/python/src/com/jetbrains/python/actions/RedundantParenthesesQuickFix.java b/python/src/com/jetbrains/python/actions/RedundantParenthesesQuickFix.java index 8bec5e95cc82..0db65be8ca6e 100644 --- a/python/src/com/jetbrains/python/actions/RedundantParenthesesQuickFix.java +++ b/python/src/com/jetbrains/python/actions/RedundantParenthesesQuickFix.java @@ -24,7 +24,7 @@ public class RedundantParenthesesQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/RemoveArgumentEqualDefaultQuickFix.java b/python/src/com/jetbrains/python/actions/RemoveArgumentEqualDefaultQuickFix.java index ca0d8e2115f6..c0fbb6a8d223 100644 --- a/python/src/com/jetbrains/python/actions/RemoveArgumentEqualDefaultQuickFix.java +++ b/python/src/com/jetbrains/python/actions/RemoveArgumentEqualDefaultQuickFix.java @@ -32,7 +32,7 @@ public class RemoveArgumentEqualDefaultQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/RemoveDecoratorQuickFix.java b/python/src/com/jetbrains/python/actions/RemoveDecoratorQuickFix.java index 63986ddeb6a5..7ff88c520b1b 100644 --- a/python/src/com/jetbrains/python/actions/RemoveDecoratorQuickFix.java +++ b/python/src/com/jetbrains/python/actions/RemoveDecoratorQuickFix.java @@ -20,7 +20,7 @@ public class RemoveDecoratorQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/RemoveLeadingUQuickFix.java b/python/src/com/jetbrains/python/actions/RemoveLeadingUQuickFix.java index 5adb1d69b612..da09aae6a3d5 100644 --- a/python/src/com/jetbrains/python/actions/RemoveLeadingUQuickFix.java +++ b/python/src/com/jetbrains/python/actions/RemoveLeadingUQuickFix.java @@ -24,7 +24,7 @@ public class RemoveLeadingUQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INTN.Family.migration.to.python3"); + return getName(); } @Override diff --git a/python/src/com/jetbrains/python/actions/RemoveTrailingLQuickFix.java b/python/src/com/jetbrains/python/actions/RemoveTrailingLQuickFix.java index 3d8f52945305..7ea42f3401e7 100644 --- a/python/src/com/jetbrains/python/actions/RemoveTrailingLQuickFix.java +++ b/python/src/com/jetbrains/python/actions/RemoveTrailingLQuickFix.java @@ -24,7 +24,7 @@ public class RemoveTrailingLQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INTN.Family.migration.to.python3"); + return getName(); } @Override diff --git a/python/src/com/jetbrains/python/actions/RemoveTrailingSemicolonQuickFix.java b/python/src/com/jetbrains/python/actions/RemoveTrailingSemicolonQuickFix.java index 1e3feb3d31ed..dbde824fa082 100644 --- a/python/src/com/jetbrains/python/actions/RemoveTrailingSemicolonQuickFix.java +++ b/python/src/com/jetbrains/python/actions/RemoveTrailingSemicolonQuickFix.java @@ -22,7 +22,7 @@ public class RemoveTrailingSemicolonQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/RemoveUnnecessaryBackslashQuickFix.java b/python/src/com/jetbrains/python/actions/RemoveUnnecessaryBackslashQuickFix.java index 7c524824318c..813e070e3fdf 100644 --- a/python/src/com/jetbrains/python/actions/RemoveUnnecessaryBackslashQuickFix.java +++ b/python/src/com/jetbrains/python/actions/RemoveUnnecessaryBackslashQuickFix.java @@ -24,7 +24,7 @@ public class RemoveUnnecessaryBackslashQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/RenameParameterQuickFix.java b/python/src/com/jetbrains/python/actions/RenameParameterQuickFix.java index c9752d438c0f..e2132e8a0122 100644 --- a/python/src/com/jetbrains/python/actions/RenameParameterQuickFix.java +++ b/python/src/com/jetbrains/python/actions/RenameParameterQuickFix.java @@ -2,7 +2,6 @@ package com.jetbrains.python.actions; import com.intellij.codeInspection.LocalQuickFix; import com.intellij.codeInspection.ProblemDescriptor; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import com.intellij.refactoring.rename.RenameProcessor; @@ -16,7 +15,6 @@ import org.jetbrains.annotations.NotNull; * Date: Nov 30, 2008 6:10:13 AM */ public class RenameParameterQuickFix implements LocalQuickFix { - private static final Logger LOG = Logger.getInstance("#" + RenameParameterQuickFix.class.getName()); private final String myNewName; public RenameParameterQuickFix(String newName) { @@ -32,7 +30,7 @@ public class RenameParameterQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("QFIX.NAME.parameters"); + return "Rename parameter"; } @NotNull diff --git a/python/src/com/jetbrains/python/actions/ReplaceBackquoteExpressionQuickFix.java b/python/src/com/jetbrains/python/actions/ReplaceBackquoteExpressionQuickFix.java index eeda4c229fb4..2c5fe9d88a7c 100644 --- a/python/src/com/jetbrains/python/actions/ReplaceBackquoteExpressionQuickFix.java +++ b/python/src/com/jetbrains/python/actions/ReplaceBackquoteExpressionQuickFix.java @@ -24,7 +24,7 @@ public class ReplaceBackquoteExpressionQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INTN.Family.migration.to.python3"); + return getName(); } @Override diff --git a/python/src/com/jetbrains/python/actions/ReplaceExceptPartQuickFix.java b/python/src/com/jetbrains/python/actions/ReplaceExceptPartQuickFix.java index 9a85bef6c892..c5a051965e22 100644 --- a/python/src/com/jetbrains/python/actions/ReplaceExceptPartQuickFix.java +++ b/python/src/com/jetbrains/python/actions/ReplaceExceptPartQuickFix.java @@ -26,7 +26,7 @@ public class ReplaceExceptPartQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INTN.Family.migration.to.python3"); + return getName(); } @Override diff --git a/python/src/com/jetbrains/python/actions/ReplaceFunctionWithSetLiteralQuickFix.java b/python/src/com/jetbrains/python/actions/ReplaceFunctionWithSetLiteralQuickFix.java index 25ac376da25d..5677331c86b9 100644 --- a/python/src/com/jetbrains/python/actions/ReplaceFunctionWithSetLiteralQuickFix.java +++ b/python/src/com/jetbrains/python/actions/ReplaceFunctionWithSetLiteralQuickFix.java @@ -5,6 +5,7 @@ import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import com.jetbrains.python.PyBundle; +import com.jetbrains.python.inspections.PySetFunctionToLiteralInspection; import com.jetbrains.python.psi.*; import org.jetbrains.annotations.NotNull; @@ -14,11 +15,6 @@ import org.jetbrains.annotations.NotNull; * set literal if applicable */ public class ReplaceFunctionWithSetLiteralQuickFix implements LocalQuickFix { - PyElement[] myElements; - public ReplaceFunctionWithSetLiteralQuickFix(PyElement[] elements) { - myElements = elements; - } - @Override @NotNull public String getName() { @@ -28,18 +24,19 @@ public class ReplaceFunctionWithSetLiteralQuickFix implements LocalQuickFix { @Override @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } @Override public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { + PyElement[] elements = PySetFunctionToLiteralInspection.getSetCallArguments((PyCallExpression)descriptor.getPsiElement()); PyElementGenerator elementGenerator = PyElementGenerator.getInstance(project); PsiElement functionCall = descriptor.getPsiElement(); StringBuilder str = new StringBuilder("{"); - for (int i = 0; i != myElements.length; ++i) { - PyElement e = myElements[i]; + for (int i = 0; i != elements.length; ++i) { + PyElement e = elements[i]; str.append(e.getText()); - if (i != myElements.length-1) + if (i != elements.length-1) str.append(", "); } str.append("}"); diff --git a/python/src/com/jetbrains/python/actions/ReplaceListComprehensionsQuickFix.java b/python/src/com/jetbrains/python/actions/ReplaceListComprehensionsQuickFix.java index 50450223f237..cf4cde52cf52 100644 --- a/python/src/com/jetbrains/python/actions/ReplaceListComprehensionsQuickFix.java +++ b/python/src/com/jetbrains/python/actions/ReplaceListComprehensionsQuickFix.java @@ -26,7 +26,7 @@ public class ReplaceListComprehensionsQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INTN.Family.migration.to.python3"); + return getName(); } @Override diff --git a/python/src/com/jetbrains/python/actions/ReplaceNotEqOperatorQuickFix.java b/python/src/com/jetbrains/python/actions/ReplaceNotEqOperatorQuickFix.java index 93280dd7d962..a1ca8e69dad6 100644 --- a/python/src/com/jetbrains/python/actions/ReplaceNotEqOperatorQuickFix.java +++ b/python/src/com/jetbrains/python/actions/ReplaceNotEqOperatorQuickFix.java @@ -26,7 +26,7 @@ public class ReplaceNotEqOperatorQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INTN.Family.migration.to.python3"); + return getName(); } @Override diff --git a/python/src/com/jetbrains/python/actions/ReplaceOctalNumericLiteralQuickFix.java b/python/src/com/jetbrains/python/actions/ReplaceOctalNumericLiteralQuickFix.java index 3cfa1bc21532..9fcdae754ae1 100644 --- a/python/src/com/jetbrains/python/actions/ReplaceOctalNumericLiteralQuickFix.java +++ b/python/src/com/jetbrains/python/actions/ReplaceOctalNumericLiteralQuickFix.java @@ -24,7 +24,7 @@ public class ReplaceOctalNumericLiteralQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INTN.Family.migration.to.python3"); + return getName(); } @Override diff --git a/python/src/com/jetbrains/python/actions/ReplaceRaiseStatementQuickFix.java b/python/src/com/jetbrains/python/actions/ReplaceRaiseStatementQuickFix.java index d20ab17c72aa..e8b4c8b5b395 100644 --- a/python/src/com/jetbrains/python/actions/ReplaceRaiseStatementQuickFix.java +++ b/python/src/com/jetbrains/python/actions/ReplaceRaiseStatementQuickFix.java @@ -23,7 +23,7 @@ public class ReplaceRaiseStatementQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INTN.Family.migration.to.python3"); + return getName(); } @Override diff --git a/python/src/com/jetbrains/python/actions/SimplifyBooleanCheckQuickFix.java b/python/src/com/jetbrains/python/actions/SimplifyBooleanCheckQuickFix.java index be58526b123d..619d74385eda 100644 --- a/python/src/com/jetbrains/python/actions/SimplifyBooleanCheckQuickFix.java +++ b/python/src/com/jetbrains/python/actions/SimplifyBooleanCheckQuickFix.java @@ -49,7 +49,7 @@ public class SimplifyBooleanCheckQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return "Simplify boolean expression"; } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/StatementEffectDocstringQuickFix.java b/python/src/com/jetbrains/python/actions/StatementEffectDocstringQuickFix.java index 962351c943ad..1181493c1afa 100644 --- a/python/src/com/jetbrains/python/actions/StatementEffectDocstringQuickFix.java +++ b/python/src/com/jetbrains/python/actions/StatementEffectDocstringQuickFix.java @@ -15,10 +15,6 @@ import org.jetbrains.annotations.NotNull; * QuickFix to move misplaced docstring */ public class StatementEffectDocstringQuickFix implements LocalQuickFix { - - public StatementEffectDocstringQuickFix() { - } - @NotNull public String getName() { return PyBundle.message("QFIX.statement.effect.move.docstring"); @@ -26,7 +22,7 @@ public class StatementEffectDocstringQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/StatementEffectFunctionCallQuickFix.java b/python/src/com/jetbrains/python/actions/StatementEffectFunctionCallQuickFix.java index 91e8ec8bb644..b3ab08772bc7 100644 --- a/python/src/com/jetbrains/python/actions/StatementEffectFunctionCallQuickFix.java +++ b/python/src/com/jetbrains/python/actions/StatementEffectFunctionCallQuickFix.java @@ -18,10 +18,6 @@ import org.jetbrains.annotations.NotNull; * QuickFix to replace statement that has no effect with function call */ public class StatementEffectFunctionCallQuickFix implements LocalQuickFix { - - public StatementEffectFunctionCallQuickFix() { - } - @NotNull public String getName() { return PyBundle.message("QFIX.statement.effect"); @@ -29,7 +25,7 @@ public class StatementEffectFunctionCallQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/StatementEffectIntroduceVariableQuickFix.java b/python/src/com/jetbrains/python/actions/StatementEffectIntroduceVariableQuickFix.java index 969c568aaadd..ff977e4a7d58 100644 --- a/python/src/com/jetbrains/python/actions/StatementEffectIntroduceVariableQuickFix.java +++ b/python/src/com/jetbrains/python/actions/StatementEffectIntroduceVariableQuickFix.java @@ -18,11 +18,6 @@ import org.jetbrains.annotations.NotNull; * Quickfix to introduce variable if statement seems to have no effect */ public class StatementEffectIntroduceVariableQuickFix implements LocalQuickFix { - PsiElement myExpression; - public StatementEffectIntroduceVariableQuickFix(PyExpression expression) { - myExpression = expression; - } - @NotNull public String getName() { return PyBundle.message("QFIX.introduce.variable"); @@ -31,19 +26,20 @@ public class StatementEffectIntroduceVariableQuickFix implements LocalQuickFix { @NonNls @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) { - if (myExpression != null && myExpression.isValid()) { + PsiElement expression = descriptor.getPsiElement(); + if (expression != null && expression.isValid()) { final PyElementGenerator elementGenerator = PyElementGenerator.getInstance(project); - final PyAssignmentStatement assignment = elementGenerator.createFromText(LanguageLevel.forElement(myExpression), PyAssignmentStatement.class, - "var = " + myExpression.getText()); + final PyAssignmentStatement assignment = elementGenerator.createFromText(LanguageLevel.forElement(expression), PyAssignmentStatement.class, + "var = " + expression.getText()); - myExpression = myExpression.replace(assignment); - myExpression = CodeInsightUtilBase.forcePsiPostprocessAndRestoreElement(myExpression); - final TemplateBuilder builder = TemplateBuilderFactory.getInstance().createTemplateBuilder(myExpression); - builder.replaceElement(((PyAssignmentStatement)myExpression).getLeftHandSideExpression(), "var"); + expression = expression.replace(assignment); + expression = CodeInsightUtilBase.forcePsiPostprocessAndRestoreElement(expression); + final TemplateBuilder builder = TemplateBuilderFactory.getInstance().createTemplateBuilder(expression); + builder.replaceElement(((PyAssignmentStatement)expression).getLeftHandSideExpression(), "var"); builder.run(); } } diff --git a/python/src/com/jetbrains/python/actions/TransformClassicClassQuickFix.java b/python/src/com/jetbrains/python/actions/TransformClassicClassQuickFix.java index 85a5ad4b8e8a..8dc94a182c98 100644 --- a/python/src/com/jetbrains/python/actions/TransformClassicClassQuickFix.java +++ b/python/src/com/jetbrains/python/actions/TransformClassicClassQuickFix.java @@ -27,7 +27,7 @@ public class TransformClassicClassQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/UnresolvedRefAddFutureImportQuickFix.java b/python/src/com/jetbrains/python/actions/UnresolvedRefAddFutureImportQuickFix.java index 0c2a3f4752b2..264785228a76 100644 --- a/python/src/com/jetbrains/python/actions/UnresolvedRefAddFutureImportQuickFix.java +++ b/python/src/com/jetbrains/python/actions/UnresolvedRefAddFutureImportQuickFix.java @@ -4,6 +4,7 @@ import com.intellij.codeInsight.CodeInsightUtilBase; import com.intellij.codeInspection.LocalQuickFix; import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.openapi.project.Project; +import com.intellij.psi.PsiElement; import com.jetbrains.python.PyBundle; import com.jetbrains.python.psi.*; import org.jetbrains.annotations.NotNull; @@ -14,11 +15,6 @@ import org.jetbrains.annotations.NotNull; * QuickFix to add 'from __future__ import with_statement'' if python version is less than 2.6 */ public class UnresolvedRefAddFutureImportQuickFix implements LocalQuickFix { - private PyReferenceExpression myElement; - public UnresolvedRefAddFutureImportQuickFix(PyReferenceExpression element) { - myElement = element; - } - @NotNull public String getName() { return PyBundle.message("QFIX.unresolved.reference.add.future"); @@ -26,14 +22,15 @@ public class UnresolvedRefAddFutureImportQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { - PyFile file = (PyFile)myElement.getContainingFile(); + PsiElement element = descriptor.getPsiElement(); + PyFile file = (PyFile)element.getContainingFile(); if (!CodeInsightUtilBase.prepareFileForWrite(file)) return; PyElementGenerator elementGenerator = PyElementGenerator.getInstance(project); - PyFromImportStatement statement = elementGenerator.createFromText(LanguageLevel.forElement(myElement), PyFromImportStatement.class, + PyFromImportStatement statement = elementGenerator.createFromText(LanguageLevel.forElement(element), PyFromImportStatement.class, "from __future__ import with_statement"); file.addBefore(statement, file.getStatements().get(0)); } diff --git a/python/src/com/jetbrains/python/actions/UnresolvedRefCreateFunctionQuickFix.java b/python/src/com/jetbrains/python/actions/UnresolvedRefCreateFunctionQuickFix.java index 5af7ff022928..ca2ef95f3444 100644 --- a/python/src/com/jetbrains/python/actions/UnresolvedRefCreateFunctionQuickFix.java +++ b/python/src/com/jetbrains/python/actions/UnresolvedRefCreateFunctionQuickFix.java @@ -36,7 +36,7 @@ public class UnresolvedRefCreateFunctionQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return getName(); } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/UnresolvedRefTrueFalseQuickFix.java b/python/src/com/jetbrains/python/actions/UnresolvedRefTrueFalseQuickFix.java index 547bd84742cc..473a4495a665 100644 --- a/python/src/com/jetbrains/python/actions/UnresolvedRefTrueFalseQuickFix.java +++ b/python/src/com/jetbrains/python/actions/UnresolvedRefTrueFalseQuickFix.java @@ -31,7 +31,7 @@ public class UnresolvedRefTrueFalseQuickFix implements LocalQuickFix { @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return "Replace with True or False"; } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/actions/UnresolvedReferenceAddSelfQuickFix.java b/python/src/com/jetbrains/python/actions/UnresolvedReferenceAddSelfQuickFix.java index acc3ca0e8bd9..8498095599fd 100644 --- a/python/src/com/jetbrains/python/actions/UnresolvedReferenceAddSelfQuickFix.java +++ b/python/src/com/jetbrains/python/actions/UnresolvedReferenceAddSelfQuickFix.java @@ -31,7 +31,7 @@ public class UnresolvedReferenceAddSelfQuickFix implements LocalQuickFix, HighPr @NotNull public String getFamilyName() { - return PyBundle.message("INSP.GROUP.python"); + return "Add 'self'"; } public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { diff --git a/python/src/com/jetbrains/python/inspections/PySetFunctionToLiteralInspection.java b/python/src/com/jetbrains/python/inspections/PySetFunctionToLiteralInspection.java index c9c74c4ed019..0f1afd63fd25 100644 --- a/python/src/com/jetbrains/python/inspections/PySetFunctionToLiteralInspection.java +++ b/python/src/com/jetbrains/python/inspections/PySetFunctionToLiteralInspection.java @@ -49,25 +49,10 @@ public class PySetFunctionToLiteralInspection extends PyInspection { if (node.isCalleeText(PyNames.SET) && isInBuiltins(callee)) { PyExpression[] arguments = node.getArguments(); if (arguments.length == 1) { - PyExpression argument= arguments[0]; - PyElement[] elements = {}; - if (argument instanceof PyStringLiteralExpression) { - return; - } - if ((argument instanceof PySequenceExpression || (argument instanceof PyParenthesizedExpression && - ((PyParenthesizedExpression)argument).getContainedExpression() instanceof PyTupleExpression))) { - - if (argument instanceof PySequenceExpression) - elements = ((PySequenceExpression)argument).getElements(); - if (argument instanceof PyParenthesizedExpression) { - PyExpression tuple = ((PyParenthesizedExpression)argument).getContainedExpression(); - if (tuple instanceof PyTupleExpression) - elements = ((PyTupleExpression)(tuple)).getElements(); - } - } + PyElement[] elements = getSetCallArguments(node); if (elements.length != 0) registerProblem(node, PyBundle.message("INSP.NAME.set.function.to.literal"), - new ReplaceFunctionWithSetLiteralQuickFix(elements)); + new ReplaceFunctionWithSetLiteralQuickFix()); } } } @@ -87,4 +72,21 @@ public class PySetFunctionToLiteralInspection extends PyInspection { return false; } } + + public static PyElement[] getSetCallArguments(PyCallExpression node) { + PyExpression argument = node.getArguments()[0]; + if (argument instanceof PyStringLiteralExpression) { + return PyElement.EMPTY_ARRAY; + } + if ((argument instanceof PySequenceExpression || (argument instanceof PyParenthesizedExpression && + ((PyParenthesizedExpression)argument).getContainedExpression() instanceof PyTupleExpression))) { + + if (argument instanceof PySequenceExpression) + return ((PySequenceExpression)argument).getElements(); + PyExpression tuple = ((PyParenthesizedExpression)argument).getContainedExpression(); + if (tuple instanceof PyTupleExpression) + return ((PyTupleExpression)(tuple)).getElements(); + } + return PyElement.EMPTY_ARRAY; + } } diff --git a/python/src/com/jetbrains/python/inspections/PyStatementEffectInspection.java b/python/src/com/jetbrains/python/inspections/PyStatementEffectInspection.java index a93a24139735..7157791158ed 100644 --- a/python/src/com/jetbrains/python/inspections/PyStatementEffectInspection.java +++ b/python/src/com/jetbrains/python/inspections/PyStatementEffectInspection.java @@ -65,7 +65,7 @@ public class PyStatementEffectInspection extends PyInspection { if (checkStringLiteral(expression)) return; registerProblem(expression, "Statement seems to have no effect", - new StatementEffectIntroduceVariableQuickFix(expression)); + new StatementEffectIntroduceVariableQuickFix()); } private boolean checkStringLiteral(PyExpression expression) { diff --git a/python/src/com/jetbrains/python/inspections/PyUnresolvedReferencesInspection.java b/python/src/com/jetbrains/python/inspections/PyUnresolvedReferencesInspection.java index c959255749b0..545050d81aee 100644 --- a/python/src/com/jetbrains/python/inspections/PyUnresolvedReferencesInspection.java +++ b/python/src/com/jetbrains/python/inspections/PyUnresolvedReferencesInspection.java @@ -395,7 +395,7 @@ public class PyUnresolvedReferencesInspection extends PyInspection { else { if (LanguageLevel.forElement(node).isOlderThan(LanguageLevel.PYTHON26)) { if ("with".equals(refname)) { - actions.add(new UnresolvedRefAddFutureImportQuickFix(refex)); + actions.add(new UnresolvedRefAddFutureImportQuickFix()); } } if (ref_text.equals("true") || ref_text.equals("false")) {