PY-17295 In the quickfix use "if param is None" check instead of "if not param"
authorMikhail Golubev <mikhail.golubev@jetbrains.com>
Fri, 30 Oct 2015 12:43:59 +0000 (15:43 +0300)
committerMikhail Golubev <mikhail.golubev@jetbrains.com>
Fri, 30 Oct 2015 12:59:44 +0000 (15:59 +0300)
python/src/com/jetbrains/python/inspections/quickfix/PyDefaultArgumentQuickFix.java
python/testData/inspections/DefaultArgumentCommentsInsideParameters_after.py
python/testData/inspections/DefaultArgumentEmptyList_after.py
python/testData/inspections/DefaultArgument_after.py

index 4a0d61d4e8b41e75014919af90dd167052de0a03..22afdff6bbc156bac3ebdcd36885c26d0e158571 100644 (file)
@@ -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);
     }
index 22bae046fcb816b3a03a6bd5cf574782b5fd86fc..733b22df8faafe50f229ff82bf0bba4e7b78e08a 100644 (file)
@@ -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
index ada9baaa78657d268f7673eeb6cf431b4915aea3..1998f17ee050020609a3a7341a24194214e4bc7c 100644 (file)
@@ -1,3 +1,3 @@
 def bar(args=None):
-    if not args:
+    if args is None:
         args = []
\ No newline at end of file
index 2de1bb88ef9250100b3d0ed43c27f91701ca0e38..3ca5bbaab81351c76e3cfae17e2eebf4e429c29e 100644 (file)
@@ -1,3 +1,3 @@
 def foo(args=None):
-    if not args:
+    if args is None:
         args = []
\ No newline at end of file