diff --git a/rabbitizer/rabbitizer_type_LoPairingInfo.c b/rabbitizer/rabbitizer_type_LoPairingInfo.c index cb594d8..5316ee9 100644 --- a/rabbitizer/rabbitizer_type_LoPairingInfo.c +++ b/rabbitizer/rabbitizer_type_LoPairingInfo.c @@ -22,8 +22,6 @@ static int rabbitizer_type_LoPairingInfo_init(PyRabbitizerLoPairingInfo *self, P static PyMemberDef rabbitizer_type_LoPairingInfo_members[] = { - { "instrOffset", T_INT, offsetof(PyRabbitizerLoPairingInfo, pairingInfo.instrOffset), 0, "" }, - { "value", T_LONG, offsetof(PyRabbitizerLoPairingInfo, pairingInfo.value), 0, "" }, { "shouldProcess", T_BOOL, offsetof(PyRabbitizerLoPairingInfo, pairingInfo.shouldProcess), 0, "" }, { "isGpRel", T_BOOL, offsetof(PyRabbitizerLoPairingInfo, pairingInfo.isGpRel), 0, "" }, { "isGpGot", T_BOOL, offsetof(PyRabbitizerLoPairingInfo, pairingInfo.isGpGot), 0, "" }, @@ -32,6 +30,32 @@ static PyMemberDef rabbitizer_type_LoPairingInfo_members[] = { }; +#define DEF_MEMBER_GET_INT32(name) \ + static PyObject *rabbitizer_type_LoPairingInfo_member_get_##name(PyRabbitizerLoPairingInfo *self, UNUSED PyObject *closure) { \ + return PyLong_FromLong(self->pairingInfo.name); \ + } + +#define DEF_MEMBER_GET_INT64(name) \ + static PyObject *rabbitizer_type_LoPairingInfo_member_get_##name(PyRabbitizerLoPairingInfo *self, UNUSED PyObject *closure) { \ + return PyLong_FromLongLong(self->pairingInfo.name); \ + } + +DEF_MEMBER_GET_INT32(instrOffset) +DEF_MEMBER_GET_INT64(value) + + +#define MEMBER_GET(name, docs) { #name, (getter) rabbitizer_type_LoPairingInfo_member_get_##name, (setter) NULL, PyDoc_STR(docs), NULL } +#define MEMBER_SET(name, docs) { #name, (getter) NULL, (setter) rabbitizer_type_LoPairingInfo_member_set_##name, PyDoc_STR(docs), NULL } +#define MEMBER_GET_SET(name, docs) { #name, (getter) rabbitizer_type_LoPairingInfo_member_get_##name, (setter) rabbitizer_type_LoPairingInfo_member_set_##name, PyDoc_STR(docs), NULL } + +static PyGetSetDef rabbitizer_type_LoPairingInfo_getsetters[] = { + MEMBER_GET(instrOffset, ""), + MEMBER_GET(value, ""), + + { 0 } +}; + + DEF_RAB_TYPE(LoPairingInfo) @@ -49,5 +73,5 @@ PyTypeObject rabbitizer_type_LoPairingInfo_TypeObject = { // .tp_str = (reprfunc) rabbitizer_type_LoPairingInfo_str, .tp_members = rabbitizer_type_LoPairingInfo_members, // .tp_methods = rabbitizer_type_Instr_methods, - // .tp_getset = Instr_getsetters, + .tp_getset = rabbitizer_type_LoPairingInfo_getsetters, };