From: Jeremy Hylton Date: Mon, 6 Nov 2000 03:33:52 +0000 (+0000) Subject: If a function contains a doc string, remove the doc string node from X-Git-Tag: v2.1a1~767 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a59ac0a7df57b9081aa08d7e89451e563c58faf9;p=python If a function contains a doc string, remove the doc string node from the function's body. If assert is used without an error message, make the AST node None rather than Name('None'). --- diff --git a/Lib/compiler/transformer.py b/Lib/compiler/transformer.py index a19fb10220..f718f88a7c 100644 --- a/Lib/compiler/transformer.py +++ b/Lib/compiler/transformer.py @@ -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 diff --git a/Tools/compiler/compiler/transformer.py b/Tools/compiler/compiler/transformer.py index a19fb10220..f718f88a7c 100644 --- a/Tools/compiler/compiler/transformer.py +++ b/Tools/compiler/compiler/transformer.py @@ -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