From 919008305ae5edd4daa2ba49a48553b3f2786f6e Mon Sep 17 00:00:00 2001 From: Mikhail Golubev Date: Fri, 30 Oct 2015 15:43:59 +0300 Subject: [PATCH] PY-17295 In the quickfix use "if param is None" check instead of "if not param" --- .../python/inspections/quickfix/PyDefaultArgumentQuickFix.java | 3 ++- .../DefaultArgumentCommentsInsideParameters_after.py | 2 +- python/testData/inspections/DefaultArgumentEmptyList_after.py | 2 +- python/testData/inspections/DefaultArgument_after.py | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/python/src/com/jetbrains/python/inspections/quickfix/PyDefaultArgumentQuickFix.java b/python/src/com/jetbrains/python/inspections/quickfix/PyDefaultArgumentQuickFix.java index 4a0d61d4e8b4..22afdff6bbc1 100644 --- a/python/src/com/jetbrains/python/inspections/quickfix/PyDefaultArgumentQuickFix.java +++ b/python/src/com/jetbrains/python/inspections/quickfix/PyDefaultArgumentQuickFix.java @@ -64,7 +64,8 @@ public class PyDefaultArgumentQuickFix implements LocalQuickFix { final PyNamedParameter newParam = generator.createParameter(defName, PyNames.NONE, null, languageLevel); param.replace(newParam); - final String conditionalText = "if not " + defName + ":\n\t" + defName + " = " + defaultValue.getText() + "\n"; + final String conditionalText = "if " + defName + " is None:" + + "\n\t" + defName + " = " + defaultValue.getText(); final PyIfStatement conditionalAssignment = generator.createFromText(languageLevel, PyIfStatement.class, conditionalText); PyUtil.addElementToStatementList(conditionalAssignment, function.getStatementList(), true); } diff --git a/python/testData/inspections/DefaultArgumentCommentsInsideParameters_after.py b/python/testData/inspections/DefaultArgumentCommentsInsideParameters_after.py index 22bae046fcb8..733b22df8faa 100644 --- a/python/testData/inspections/DefaultArgumentCommentsInsideParameters_after.py +++ b/python/testData/inspections/DefaultArgumentCommentsInsideParameters_after.py @@ -1,6 +1,6 @@ def func(x, # comment mutable=None): """Docstring.""" - if not mutable: + if mutable is None: mutable = [] print(mutable) \ No newline at end of file diff --git a/python/testData/inspections/DefaultArgumentEmptyList_after.py b/python/testData/inspections/DefaultArgumentEmptyList_after.py index ada9baaa7865..1998f17ee050 100644 --- a/python/testData/inspections/DefaultArgumentEmptyList_after.py +++ b/python/testData/inspections/DefaultArgumentEmptyList_after.py @@ -1,3 +1,3 @@ def bar(args=None): - if not args: + if args is None: args = [] \ No newline at end of file diff --git a/python/testData/inspections/DefaultArgument_after.py b/python/testData/inspections/DefaultArgument_after.py index 2de1bb88ef92..3ca5bbaab813 100644 --- a/python/testData/inspections/DefaultArgument_after.py +++ b/python/testData/inspections/DefaultArgument_after.py @@ -1,3 +1,3 @@ def foo(args=None): - if not args: + if args is None: args = [] \ No newline at end of file