aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/symtable.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/symtable.c')
-rw-r--r--Python/symtable.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/Python/symtable.c b/Python/symtable.c
index 709918b27af..32d715197c5 100644
--- a/Python/symtable.c
+++ b/Python/symtable.c
@@ -136,6 +136,8 @@ ste_new(struct symtable *st, identifier name, _Py_block_ty block,
ste->ste_needs_classdict = 0;
ste->ste_annotation_block = NULL;
+ ste->ste_has_docstring = 0;
+
ste->ste_symbols = PyDict_New();
ste->ste_varnames = PyList_New(0);
ste->ste_children = PyList_New(0);
@@ -1841,6 +1843,10 @@ symtable_visit_stmt(struct symtable *st, stmt_ty s)
return 0;
}
+ if (_PyAST_GetDocString(s->v.FunctionDef.body)) {
+ new_ste->ste_has_docstring = 1;
+ }
+
if (!symtable_visit_annotations(st, s, s->v.FunctionDef.args,
s->v.FunctionDef.returns, new_ste)) {
Py_DECREF(new_ste);
@@ -2168,6 +2174,10 @@ symtable_visit_stmt(struct symtable *st, stmt_ty s)
return 0;
}
+ if (_PyAST_GetDocString(s->v.AsyncFunctionDef.body)) {
+ new_ste->ste_has_docstring = 1;
+ }
+
if (!symtable_visit_annotations(st, s, s->v.AsyncFunctionDef.args,
s->v.AsyncFunctionDef.returns, new_ste)) {
Py_DECREF(new_ste);