cpython/Tools/modulator/Templates/object_structure
Neal Norwitz 8dfc4a9bac Remove support for __members__ and __methods__. There still might be
some cleanup to do on this.  Particularly in Python/traceback.c with
getting rid of the getattr if possible and Demo/*metaclasses/Enum.py.
2007-08-11 06:39:53 +00:00

37 lines
873 B
Text

/* Code to access structure members by accessing attributes */
#include "structmember.h"
#define OFF(x) offsetof(XXXXobject, x)
static PyMemberDef $abbrev$_memberlist[] = {
/* XXXX Add lines like { "foo", T_INT, OFF(foo), READONLY } */
{NULL} /* Sentinel */
};
static PyObject *
$abbrev$_getattr($abbrev$object *self, char *name)
{
PyObject *rv;
/* XXXX Add your own getattr code here */
rv = PyMember_GetOne((char *)/*XXXX*/0, &$abbrev$_memberlist[i]);
if (rv)
return rv;
PyErr_Clear();
return Py_FindMethod($abbrev$_methods, (PyObject *)self, name);
}
static int
$abbrev$_setattr($abbrev$object *self, char *name, PyObject *v)
{
/* XXXX Add your own setattr code here */
if ( v == NULL ) {
PyErr_SetString(PyExc_AttributeError, "Cannot delete attribute");
return -1;
}
return PyMember_SetOne((char *)/*XXXX*/0, &$abbrev$_memberlist[i], v);
}