Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ce825f1

Browse files
committed
update Python-ast.c
1 parent 37d2fe0 commit ce825f1

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

Python/Python-ast.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -621,11 +621,29 @@ static int obj2ast_int(PyObject* obj, int* out, PyArena* arena)
621621
return 0;
622622
}
623623

624+
static int add_ast_fields()
625+
{
626+
PyObject *empty_tuple, *d;
627+
if (PyType_Ready(&AST_type) < 0)
628+
return -1;
629+
d = AST_type.tp_dict;
630+
empty_tuple = PyTuple_New(0);
631+
if (!empty_tuple ||
632+
PyDict_SetItemString(d, "_fields", empty_tuple) < 0 ||
633+
PyDict_SetItemString(d, "_attributes", empty_tuple) < 0) {
634+
Py_XDECREF(empty_tuple);
635+
return -1;
636+
}
637+
Py_DECREF(empty_tuple);
638+
return 0;
639+
}
640+
624641

625642
static int init_types(void)
626643
{
627644
static int initialized;
628645
if (initialized) return 1;
646+
if (add_ast_fields() < 0) return 0;
629647
mod_type = make_type("mod", &AST_type, NULL, 0);
630648
if (!mod_type) return 0;
631649
if (!add_attributes(mod_type, NULL, 0)) return 0;

0 commit comments

Comments
 (0)