From cb41b2766de646435743b6af7dd152751b54e73f Mon Sep 17 00:00:00 2001 From: INADA Naoki Date: Thu, 23 Feb 2017 00:31:59 +0900 Subject: bpo-29463: Add docstring field to some AST nodes. (#46) * bpo-29463: Add docstring field to some AST nodes. ClassDef, ModuleDef, FunctionDef, and AsyncFunctionDef has docstring field for now. It was first statement of there body. * fix document. thanks travis! * doc fixes --- Lib/ast.py | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'Lib/ast.py') diff --git a/Lib/ast.py b/Lib/ast.py index 156a1f2773..0729ee71af 100644 --- a/Lib/ast.py +++ b/Lib/ast.py @@ -197,15 +197,7 @@ def get_docstring(node, clean=True): """ if not isinstance(node, (AsyncFunctionDef, FunctionDef, ClassDef, Module)): raise TypeError("%r can't have docstrings" % node.__class__.__name__) - if not(node.body and isinstance(node.body[0], Expr)): - return - node = node.body[0].value - if isinstance(node, Str): - text = node.s - elif isinstance(node, Constant) and isinstance(node.value, str): - text = node.value - else: - return + text = node.docstring if clean: import inspect text = inspect.cleandoc(text) -- cgit v1.2.1