summaryrefslogtreecommitdiff
path: root/Python/Python-ast.c
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2012-03-12 09:46:44 -0700
committerBenjamin Peterson <benjamin@python.org>2012-03-12 09:46:44 -0700
commit9e7326a599e76cc4f5bd03e6b3744d4008a01ade (patch)
tree8dccc87db93095ce1da9db855584f2df1e0bac9d /Python/Python-ast.c
parent8850b57434263d970793a22ea18d2cb2186d4035 (diff)
downloadcpython-9e7326a599e76cc4f5bd03e6b3744d4008a01ade.tar.gz
give the AST class a __dict__
Diffstat (limited to 'Python/Python-ast.c')
-rw-r--r--Python/Python-ast.c18
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 */