From a59ac0a7df57b9081aa08d7e89451e563c58faf9 Mon Sep 17 00:00:00 2001 From: Jeremy Hylton Date: Mon, 6 Nov 2000 03:33:52 +0000 Subject: 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'). --- Lib/compiler/transformer.py | 6 +++++- Tools/compiler/compiler/transformer.py | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Lib/compiler/transformer.py b/Lib/compiler/transformer.py index a19fb10..f718f88 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 a19fb10..f718f88 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 -- cgit v0.12