|
8 | 8 |
|
9 | 9 | */
|
10 | 10 |
|
| 11 | +#define UNWRAP(_h) ((_h)._i) |
| 12 | +#define WRAP(_ptr) ((HPy){(_ptr)}) |
| 13 | + |
11 | 14 | static inline HPy HPyModule_Create(HPyContext ctx, HPyModuleDef *def) {
|
12 |
| - return ctx->ctx_Module_Create ( ctx, def ); |
| 15 | + return WRAP(ctx->ctx_Module_Create ( ctx, def )); |
13 | 16 | }
|
14 | 17 |
|
15 | 18 | static inline HPy HPy_Dup(HPyContext ctx, HPy h) {
|
16 |
| - return ctx->ctx_Dup ( ctx, h ); |
| 19 | + return WRAP(ctx->ctx_Dup ( ctx, UNWRAP(h) )); |
17 | 20 | }
|
18 | 21 |
|
19 | 22 | static inline void HPy_Close(HPyContext ctx, HPy h) {
|
20 |
| - ctx->ctx_Close ( ctx, h ); |
| 23 | + ctx->ctx_Close ( ctx, UNWRAP(h) ); |
21 | 24 | }
|
22 | 25 |
|
23 | 26 | static inline HPy HPyLong_FromLong(HPyContext ctx, long value) {
|
24 |
| - return ctx->ctx_Long_FromLong ( ctx, value ); |
| 27 | + return WRAP(ctx->ctx_Long_FromLong ( ctx, value )); |
25 | 28 | }
|
26 | 29 |
|
27 | 30 | static inline HPy HPyLong_FromLongLong(HPyContext ctx, long long v) {
|
28 |
| - return ctx->ctx_Long_FromLongLong ( ctx, v ); |
| 31 | + return WRAP(ctx->ctx_Long_FromLongLong ( ctx, v )); |
29 | 32 | }
|
30 | 33 |
|
31 | 34 | static inline HPy HPyLong_FromUnsignedLongLong(HPyContext ctx, unsigned long long v) {
|
32 |
| - return ctx->ctx_Long_FromUnsignedLongLong ( ctx, v ); |
| 35 | + return WRAP(ctx->ctx_Long_FromUnsignedLongLong ( ctx, v )); |
33 | 36 | }
|
34 | 37 |
|
35 | 38 | static inline long HPyLong_AsLong(HPyContext ctx, HPy h) {
|
36 |
| - return ctx->ctx_Long_AsLong ( ctx, h ); |
| 39 | + return ctx->ctx_Long_AsLong ( ctx, UNWRAP(h) ); |
37 | 40 | }
|
38 | 41 |
|
39 | 42 | static inline HPy HPyFloat_FromDouble(HPyContext ctx, double v) {
|
40 |
| - return ctx->ctx_Float_FromDouble ( ctx, v ); |
| 43 | + return WRAP(ctx->ctx_Float_FromDouble ( ctx, v )); |
41 | 44 | }
|
42 | 45 |
|
43 | 46 | static inline HPy HPyNumber_Add(HPyContext ctx, HPy h1, HPy h2) {
|
44 |
| - return ctx->ctx_Number_Add ( ctx, h1, h2 ); |
| 47 | + return WRAP(ctx->ctx_Number_Add ( ctx, UNWRAP(h1), UNWRAP(h2) )); |
45 | 48 | }
|
46 | 49 |
|
47 | 50 | static inline void HPyErr_SetString(HPyContext ctx, HPy h_type, const char *message) {
|
48 |
| - ctx->ctx_Err_SetString ( ctx, h_type, message ); |
| 51 | + ctx->ctx_Err_SetString ( ctx, UNWRAP(h_type), message ); |
49 | 52 | }
|
50 | 53 |
|
51 | 54 | static inline int HPyErr_Occurred(HPyContext ctx) {
|
52 |
| - return ctx->ctx_Err_Occurred ( ctx ); |
| 55 | + return ctx->ctx_Err_Occurred ( ctx ); |
53 | 56 | }
|
54 | 57 |
|
55 | 58 | static inline int HPyObject_IsTrue(HPyContext ctx, HPy h) {
|
56 |
| - return ctx->ctx_Object_IsTrue ( ctx, h ); |
| 59 | + return ctx->ctx_Object_IsTrue ( ctx, UNWRAP(h) ); |
57 | 60 | }
|
58 | 61 |
|
59 | 62 | static inline HPy HPy_GetAttr(HPyContext ctx, HPy obj, HPy name) {
|
60 |
| - return ctx->ctx_GetAttr ( ctx, obj, name ); |
| 63 | + return WRAP(ctx->ctx_GetAttr ( ctx, UNWRAP(obj), UNWRAP(name) )); |
61 | 64 | }
|
62 | 65 |
|
63 | 66 | static inline HPy HPy_GetAttr_s(HPyContext ctx, HPy obj, const char *name) {
|
64 |
| - return ctx->ctx_GetAttr_s ( ctx, obj, name ); |
| 67 | + return WRAP(ctx->ctx_GetAttr_s ( ctx, UNWRAP(obj), name )); |
65 | 68 | }
|
66 | 69 |
|
67 | 70 | static inline int HPy_HasAttr(HPyContext ctx, HPy obj, HPy name) {
|
68 |
| - return ctx->ctx_HasAttr ( ctx, obj, name ); |
| 71 | + return ctx->ctx_HasAttr ( ctx, UNWRAP(obj), UNWRAP(name) ); |
69 | 72 | }
|
70 | 73 |
|
71 | 74 | static inline int HPy_HasAttr_s(HPyContext ctx, HPy obj, const char *name) {
|
72 |
| - return ctx->ctx_HasAttr_s ( ctx, obj, name ); |
| 75 | + return ctx->ctx_HasAttr_s ( ctx, UNWRAP(obj), name ); |
73 | 76 | }
|
74 | 77 |
|
75 | 78 | static inline int HPy_SetAttr(HPyContext ctx, HPy obj, HPy name, HPy value) {
|
76 |
| - return ctx->ctx_SetAttr ( ctx, obj, name, value ); |
| 79 | + return ctx->ctx_SetAttr ( ctx, UNWRAP(obj), UNWRAP(name), UNWRAP(value)); |
77 | 80 | }
|
78 | 81 |
|
79 | 82 | static inline int HPy_SetAttr_s(HPyContext ctx, HPy obj, const char *name, HPy value) {
|
80 |
| - return ctx->ctx_SetAttr_s ( ctx, obj, name, value ); |
| 83 | + return ctx->ctx_SetAttr_s ( ctx, UNWRAP(obj), name, UNWRAP(value)); |
81 | 84 | }
|
82 | 85 |
|
83 | 86 | static inline HPy HPy_GetItem(HPyContext ctx, HPy obj, HPy key) {
|
84 |
| - return ctx->ctx_GetItem ( ctx, obj, key ); |
| 87 | + return WRAP(ctx->ctx_GetItem ( ctx, UNWRAP(obj), UNWRAP(key))); |
85 | 88 | }
|
86 | 89 |
|
87 | 90 | static inline HPy HPy_GetItem_i(HPyContext ctx, HPy obj, HPy_ssize_t idx) {
|
88 |
| - return ctx->ctx_GetItem_i ( ctx, obj, idx ); |
| 91 | + return WRAP(ctx->ctx_GetItem_i ( ctx, UNWRAP(obj), idx )); |
89 | 92 | }
|
90 | 93 |
|
91 | 94 | static inline HPy HPy_GetItem_s(HPyContext ctx, HPy obj, const char *key) {
|
92 |
| - return ctx->ctx_GetItem_s ( ctx, obj, key ); |
| 95 | + return WRAP(ctx->ctx_GetItem_s ( ctx, UNWRAP(obj), key )); |
93 | 96 | }
|
94 | 97 |
|
95 | 98 | static inline int HPy_SetItem(HPyContext ctx, HPy obj, HPy key, HPy value) {
|
96 |
| - return ctx->ctx_SetItem ( ctx, obj, key, value ); |
| 99 | + return ctx->ctx_SetItem ( ctx, UNWRAP(obj), UNWRAP(key), UNWRAP(value)); |
97 | 100 | }
|
98 | 101 |
|
99 | 102 | static inline int HPy_SetItem_i(HPyContext ctx, HPy obj, HPy_ssize_t idx, HPy value) {
|
100 |
| - return ctx->ctx_SetItem_i ( ctx, obj, idx, value ); |
| 103 | + return ctx->ctx_SetItem_i ( ctx, UNWRAP(obj), idx, UNWRAP(value)); |
101 | 104 | }
|
102 | 105 |
|
103 | 106 | static inline int HPy_SetItem_s(HPyContext ctx, HPy obj, const char *key, HPy value) {
|
104 |
| - return ctx->ctx_SetItem_s ( ctx, obj, key, value ); |
| 107 | + return ctx->ctx_SetItem_s ( ctx, UNWRAP(obj), key, UNWRAP(value)); |
105 | 108 | }
|
106 | 109 |
|
107 | 110 | static inline int HPyBytes_Check(HPyContext ctx, HPy h) {
|
108 |
| - return ctx->ctx_Bytes_Check ( ctx, h ); |
| 111 | + return ctx->ctx_Bytes_Check ( ctx, UNWRAP(h) ); |
109 | 112 | }
|
110 | 113 |
|
111 | 114 | static inline HPy_ssize_t HPyBytes_Size(HPyContext ctx, HPy h) {
|
112 |
| - return ctx->ctx_Bytes_Size ( ctx, h ); |
| 115 | + return ctx->ctx_Bytes_Size ( ctx, UNWRAP(h) ); |
113 | 116 | }
|
114 | 117 |
|
115 | 118 | static inline HPy_ssize_t HPyBytes_GET_SIZE(HPyContext ctx, HPy h) {
|
116 |
| - return ctx->ctx_Bytes_GET_SIZE ( ctx, h ); |
| 119 | + return ctx->ctx_Bytes_GET_SIZE ( ctx, UNWRAP(h) ); |
117 | 120 | }
|
118 | 121 |
|
119 | 122 | static inline char *HPyBytes_AsString(HPyContext ctx, HPy h) {
|
120 |
| - return ctx->ctx_Bytes_AsString ( ctx, h ); |
| 123 | + return ctx->ctx_Bytes_AsString ( ctx, UNWRAP(h) ); |
121 | 124 | }
|
122 | 125 |
|
123 | 126 | static inline char *HPyBytes_AS_STRING(HPyContext ctx, HPy h) {
|
124 |
| - return ctx->ctx_Bytes_AS_STRING ( ctx, h ); |
| 127 | + return ctx->ctx_Bytes_AS_STRING ( ctx, UNWRAP(h) ); |
125 | 128 | }
|
126 | 129 |
|
127 | 130 | static inline HPy HPyUnicode_FromString(HPyContext ctx, const char *utf8) {
|
128 |
| - return ctx->ctx_Unicode_FromString ( ctx, utf8 ); |
| 131 | + return WRAP(ctx->ctx_Unicode_FromString ( ctx, utf8 )); |
129 | 132 | }
|
130 | 133 |
|
131 | 134 | static inline int HPyUnicode_Check(HPyContext ctx, HPy h) {
|
132 |
| - return ctx->ctx_Unicode_Check ( ctx, h ); |
| 135 | + return ctx->ctx_Unicode_Check ( ctx, UNWRAP(h) ); |
133 | 136 | }
|
134 | 137 |
|
135 | 138 | static inline HPy HPyUnicode_AsUTF8String(HPyContext ctx, HPy h) {
|
136 |
| - return ctx->ctx_Unicode_AsUTF8String ( ctx, h ); |
| 139 | + return WRAP(ctx->ctx_Unicode_AsUTF8String ( ctx, UNWRAP(h) )); |
137 | 140 | }
|
138 | 141 |
|
139 | 142 | static inline HPy HPyUnicode_FromWideChar(HPyContext ctx, const wchar_t *w, HPy_ssize_t size) {
|
140 |
| - return ctx->ctx_Unicode_FromWideChar ( ctx, w, size ); |
| 143 | + return WRAP(ctx->ctx_Unicode_FromWideChar ( ctx, w, size )); |
141 | 144 | }
|
142 | 145 |
|
143 | 146 | static inline HPy HPyList_New(HPyContext ctx, HPy_ssize_t len) {
|
144 |
| - return ctx->ctx_List_New ( ctx, len ); |
| 147 | + return WRAP(ctx->ctx_List_New ( ctx, len )); |
145 | 148 | }
|
146 | 149 |
|
147 | 150 | static inline int HPyList_Append(HPyContext ctx, HPy h_list, HPy h_item) {
|
148 |
| - return ctx->ctx_List_Append ( ctx, h_list, h_item ); |
| 151 | + return ctx->ctx_List_Append ( ctx, UNWRAP(h_list), UNWRAP(h_item) ); |
149 | 152 | }
|
150 | 153 |
|
151 | 154 | static inline HPy HPyDict_New(HPyContext ctx) {
|
152 |
| - return ctx->ctx_Dict_New ( ctx ); |
| 155 | + return WRAP(ctx->ctx_Dict_New ( ctx )); |
153 | 156 | }
|
154 | 157 |
|
155 | 158 | static inline int HPyDict_SetItem(HPyContext ctx, HPy h_dict, HPy h_key, HPy h_val) {
|
156 |
| - return ctx->ctx_Dict_SetItem ( ctx, h_dict, h_key, h_val ); |
| 159 | + return ctx->ctx_Dict_SetItem ( ctx, UNWRAP(h_dict), UNWRAP(h_key), UNWRAP(h_val) ); |
157 | 160 | }
|
158 | 161 |
|
159 | 162 | static inline HPy HPyDict_GetItem(HPyContext ctx, HPy h_dict, HPy h_key) {
|
160 |
| - return ctx->ctx_Dict_GetItem ( ctx, h_dict, h_key ); |
| 163 | + return WRAP(ctx->ctx_Dict_GetItem ( ctx, UNWRAP(h_dict), UNWRAP(h_key) )); |
161 | 164 | }
|
162 | 165 |
|
163 | 166 | static inline HPy HPy_FromPyObject(HPyContext ctx, struct _object *obj) {
|
164 |
| - return ctx->ctx_FromPyObject ( ctx, obj ); |
| 167 | + return WRAP(ctx->ctx_FromPyObject ( ctx, obj )); |
165 | 168 | }
|
166 | 169 |
|
167 | 170 | static inline struct _object *HPy_AsPyObject(HPyContext ctx, HPy h) {
|
168 |
| - return ctx->ctx_AsPyObject ( ctx, h ); |
| 171 | + return ctx->ctx_AsPyObject ( ctx, UNWRAP(h) ); |
169 | 172 | }
|
170 | 173 |
|
171 | 174 | static inline struct _object *_HPy_CallRealFunctionFromTrampoline(HPyContext ctx, struct _object *self, struct _object *args, struct _object *kw, void *func, int ml_flags) {
|
172 |
| - return ctx->ctx_CallRealFunctionFromTrampoline ( ctx, self, args, kw, func, ml_flags ); |
| 175 | + return ctx->ctx_CallRealFunctionFromTrampoline ( ctx, self, args, kw, func, ml_flags ); |
173 | 176 | }
|
174 | 177 |
|
0 commit comments