diff options
author | Benjamin Peterson <benjamin@python.org> | 2012-03-12 09:46:44 -0700 |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2012-03-12 09:46:44 -0700 |
commit | 9e7326a599e76cc4f5bd03e6b3744d4008a01ade (patch) | |
tree | 8dccc87db93095ce1da9db855584f2df1e0bac9d /Python/Python-ast.c | |
parent | 8850b57434263d970793a22ea18d2cb2186d4035 (diff) | |
download | cpython-9e7326a599e76cc4f5bd03e6b3744d4008a01ade.tar.gz |
give the AST class a __dict__
Diffstat (limited to 'Python/Python-ast.c')
-rw-r--r-- | Python/Python-ast.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/Python/Python-ast.c b/Python/Python-ast.c index 2603b812f0..cf73beaa15 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -1,5 +1,7 @@ /* File automatically generated by Parser/asdl_c.py. */ +#include <stddef.h> + #include "Python.h" #include "Python-ast.h" @@ -453,6 +455,11 @@ static char *withitem_fields[]={ }; +typedef struct { + PyObject_HEAD; + PyObject *dict; +} AST_object; + static int ast_type_init(PyObject *self, PyObject *args, PyObject *kw) { @@ -531,10 +538,15 @@ static PyMethodDef ast_type_methods[] = { {NULL} }; +static PyGetSetDef ast_type_getsets[] = { + {"__dict__", PyObject_GenericGetDict, PyObject_GenericSetDict}, + {NULL} +}; + static PyTypeObject AST_type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) "_ast.AST", - sizeof(PyObject), + sizeof(AST_object), 0, 0, /* tp_dealloc */ 0, /* tp_print */ @@ -561,12 +573,12 @@ static PyTypeObject AST_type = { 0, /* tp_iternext */ ast_type_methods, /* tp_methods */ 0, /* tp_members */ - 0, /* tp_getset */ + ast_type_getsets, /* tp_getset */ 0, /* tp_base */ 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ + offsetof(AST_object, dict),/* tp_dictoffset */ (initproc)ast_type_init, /* tp_init */ PyType_GenericAlloc, /* tp_alloc */ PyType_GenericNew, /* tp_new */ |