@@ -16,93 +16,33 @@ typedef struct PyGetSetDef {
16
16
void * closure ;
17
17
} PyGetSetDef ;
18
18
19
- #ifndef Py_LIMITED_API
20
- typedef PyObject * (* wrapperfunc )(PyObject * self , PyObject * args ,
21
- void * wrapped );
22
-
23
- typedef PyObject * (* wrapperfunc_kwds )(PyObject * self , PyObject * args ,
24
- void * wrapped , PyObject * kwds );
25
-
26
- struct wrapperbase {
27
- const char * name ;
28
- int offset ;
29
- void * function ;
30
- wrapperfunc wrapper ;
31
- const char * doc ;
32
- int flags ;
33
- PyObject * name_strobj ;
34
- };
35
-
36
- /* Flags for above struct */
37
- #define PyWrapperFlag_KEYWORDS 1 /* wrapper function takes keyword args */
38
-
39
- /* Various kinds of descriptor objects */
40
-
41
- typedef struct {
42
- PyObject_HEAD
43
- PyTypeObject * d_type ;
44
- PyObject * d_name ;
45
- PyObject * d_qualname ;
46
- } PyDescrObject ;
47
-
48
- #define PyDescr_COMMON PyDescrObject d_common
49
-
50
- #define PyDescr_TYPE (x ) (((PyDescrObject *)(x))->d_type)
51
- #define PyDescr_NAME (x ) (((PyDescrObject *)(x))->d_name)
52
-
53
- typedef struct {
54
- PyDescr_COMMON ;
55
- PyMethodDef * d_method ;
56
- vectorcallfunc vectorcall ;
57
- } PyMethodDescrObject ;
58
-
59
- typedef struct {
60
- PyDescr_COMMON ;
61
- struct PyMemberDef * d_member ;
62
- } PyMemberDescrObject ;
63
-
64
- typedef struct {
65
- PyDescr_COMMON ;
66
- PyGetSetDef * d_getset ;
67
- } PyGetSetDescrObject ;
68
-
69
- typedef struct {
70
- PyDescr_COMMON ;
71
- struct wrapperbase * d_base ;
72
- void * d_wrapped ; /* This can be any function pointer */
73
- } PyWrapperDescrObject ;
74
- #endif /* Py_LIMITED_API */
75
-
76
19
PyAPI_DATA (PyTypeObject ) PyClassMethodDescr_Type ;
77
20
PyAPI_DATA (PyTypeObject ) PyGetSetDescr_Type ;
78
21
PyAPI_DATA (PyTypeObject ) PyMemberDescr_Type ;
79
22
PyAPI_DATA (PyTypeObject ) PyMethodDescr_Type ;
80
23
PyAPI_DATA (PyTypeObject ) PyWrapperDescr_Type ;
81
24
PyAPI_DATA (PyTypeObject ) PyDictProxy_Type ;
82
- #ifndef Py_LIMITED_API
83
- PyAPI_DATA ( PyTypeObject ) _PyMethodWrapper_Type ;
84
- #endif /* Py_LIMITED_API */
25
+ PyAPI_DATA ( PyTypeObject ) PyProperty_Type ;
26
+ // Forward declaration for following prototype
27
+ struct PyMemberDef ;
85
28
86
29
PyAPI_FUNC (PyObject * ) PyDescr_NewMethod (PyTypeObject * , PyMethodDef * );
87
30
PyAPI_FUNC (PyObject * ) PyDescr_NewClassMethod (PyTypeObject * , PyMethodDef * );
88
- struct PyMemberDef ; /* forward declaration for following prototype */
89
31
PyAPI_FUNC (PyObject * ) PyDescr_NewMember (PyTypeObject * ,
90
32
struct PyMemberDef * );
91
33
PyAPI_FUNC (PyObject * ) PyDescr_NewGetSet (PyTypeObject * ,
92
34
struct PyGetSetDef * );
93
- #ifndef Py_LIMITED_API
94
- PyAPI_FUNC (PyObject * ) PyDescr_NewWrapper (PyTypeObject * ,
95
- struct wrapperbase * , void * );
96
- PyAPI_FUNC (int ) PyDescr_IsData (PyObject * );
97
- #endif
98
35
99
36
PyAPI_FUNC (PyObject * ) PyDictProxy_New (PyObject * );
100
37
PyAPI_FUNC (PyObject * ) PyWrapper_New (PyObject * , PyObject * );
101
38
39
+ #ifndef Py_LIMITED_API
40
+ # define Py_CPYTHON_DESCROBJECT_H
41
+ # include "cpython/descrobject.h"
42
+ # undef Py_CPYTHON_DESCROBJECT_H
43
+ #endif
102
44
103
- PyAPI_DATA (PyTypeObject ) PyProperty_Type ;
104
45
#ifdef __cplusplus
105
46
}
106
47
#endif
107
48
#endif /* !Py_DESCROBJECT_H */
108
-
0 commit comments