]> granicus.if.org Git - python/commitdiff
If a function contains a doc string, remove the doc string node from
authorJeremy Hylton <jeremy@alum.mit.edu>
Mon, 6 Nov 2000 03:33:52 +0000 (03:33 +0000)
committerJeremy Hylton <jeremy@alum.mit.edu>
Mon, 6 Nov 2000 03:33:52 +0000 (03:33 +0000)
the function's body.

If assert is used without an error message, make the AST node None
rather than Name('None').

Lib/compiler/transformer.py
Tools/compiler/compiler/transformer.py

index a19fb102202313eeb555bdee291faae309d84d03..f718f88a7c909e82d195b19b29896404f4c06b96 100644 (file)
@@ -173,6 +173,10 @@ class Transformer:
         # code for function
         code = self.com_node(nodelist[4])
 
+        if doc is not None:
+            assert isinstance(code, Stmt)
+            assert isinstance(code.nodes[0], Discard)
+            del code.nodes[0]
         n = Function(name, names, defaults, flags, doc, code)
         n.lineno = lineno
         return n
@@ -400,7 +404,7 @@ class Transformer:
         if (len(nodelist) == 4):
             expr2 = self.com_node(nodelist[3])
         else:
-            expr2 = Name('None')
+            expr2 = None
         n = Assert(expr1, expr2)
         n.lineno = nodelist[0][2]
         return n
index a19fb102202313eeb555bdee291faae309d84d03..f718f88a7c909e82d195b19b29896404f4c06b96 100644 (file)
@@ -173,6 +173,10 @@ class Transformer:
         # code for function
         code = self.com_node(nodelist[4])
 
+        if doc is not None:
+            assert isinstance(code, Stmt)
+            assert isinstance(code.nodes[0], Discard)
+            del code.nodes[0]
         n = Function(name, names, defaults, flags, doc, code)
         n.lineno = lineno
         return n
@@ -400,7 +404,7 @@ class Transformer:
         if (len(nodelist) == 4):
             expr2 = self.com_node(nodelist[3])
         else:
-            expr2 = Name('None')
+            expr2 = None
         n = Assert(expr1, expr2)
         n.lineno = nodelist[0][2]
         return n