8000 expose all types from obj.h to native modules · micropython/micropython@03a65e1 · GitHub
[go: up one dir, main page]

Skip to content

Commit 03a65e1

Browse files
committed
expose all types from obj.h to native modules
1 parent f020eac commit 03a65e1

File tree

3 files changed

+112
-0
lines changed

3 files changed

+112
-0
lines changed

py/nativeglue.c

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,14 +332,56 @@ const mp_fun_table_t mp_fun_table = {
332332
mp_get_stream_raise,
333333
&mp_plat_print,
334334
&mp_type_type,
335+
&mp_type_object,
336+
&mp_type_NoneType,
337+
&mp_type_bool,
338+
&mp_type_int,
335339
&mp_type_str,
340+
&mp_type_bytes,
341+
&mp_type_bytearray,
342+
&mp_type_memoryview,
343+
&mp_type_float,
344+
&mp_type_complex,
345+
&mp_type_tuple,
336346
&mp_type_list,
347+
&mp_type_map, // map (the python builtin, not the dict implementation detail)
348+
&mp_type_enumerate,
349+
&mp_type_filter,
350+
#if MICROPY_PY_COLLECTIONS_DEQUE
351+
&mp_type_deque,
352+
#else
353+
NULL,
354+
#endif
337355
&mp_type_dict,
356+
#if MICROPY_PY_COLLECTIONS_ORDEREDDICT
357+
&mp_type_ordereddict,
358+
#else
359+
NULL,
360+
#endif
361+
&mp_type_range,
362+
&mp_type_set,
363+
&mp_type_frozenset,
364+
&mp_type_slice,
365+
&mp_type_zip,
366+
&mp_type_array,
367+
&mp_type_super,
368+
&mp_type_gen_wrap,
369+
&mp_type_native_gen_wrap,
370+
&mp_type_gen_instance,
338371
&mp_type_fun_builtin_0,
339372
&mp_type_fun_builtin_1,
340373
&mp_type_fun_builtin_2,
341374
&mp_type_fun_builtin_3,
342375
&mp_type_fun_builtin_var,
376+
&mp_type_fun_bc,
377+
&mp_type_module,
378+
&mp_type_staticmethod,
379+
&mp_type_classmethod,
380+
&mp_type_property,
381+
&mp_type_stringio,
382+
&mp_type_bytesio,
383+
&mp_type_reversed,
384+
&mp_type_polymorph_iter,
343385
&mp_stream_read_obj,
344386
&mp_stream_readinto_obj,
345387
&mp_stream_unbuffered_readline_obj,

py/nativeglue.h

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,15 +157,51 @@ typedef struct _mp_fun_table_t {
157157
void (*get_buffer_raise)(mp_obj_t obj, mp_buffer_info_t *bufinfo, mp_uint_t flags);
158158
const mp_stream_p_t *(*get_stream_raise)(mp_obj_t self_in, int flags);
159159
const mp_print_t *plat_print;
160+
160161
const mp_obj_type_t *type_type;
162+
const mp_obj_type_t *type_object;
163+
const mp_obj_type_t *type_NoneType;
164+
const mp_obj_type_t *type_bool;
165+
const mp_obj_type_t *type_int;
161166
const mp_obj_type_t *type_str;
167+
const mp_obj_type_t *type_bytes;
168+
const mp_obj_type_t 8000 *type_bytearray;
169+
const mp_obj_type_t *type_memoryview;
170+
const mp_obj_type_t *type_float;
171+
const mp_obj_type_t *type_complex;
172+
const mp_obj_type_t *type_tuple;
162173
const mp_obj_type_t *type_list;
174+
const mp_obj_type_t *type_map; // map (the python builtin, not the dict implementation detail)
175+
const mp_obj_type_t *type_enumerate;
176+
const mp_obj_type_t *type_filter;
177+
const mp_obj_type_t *type_deque;
163178
const mp_obj_type_t *type_dict;
179+
const mp_obj_type_t *type_ordereddict;
180+
const mp_obj_type_t *type_range;
181+
const mp_obj_type_t *type_set;
182+
const mp_obj_type_t *type_frozenset;
183+
const mp_obj_type_t *type_slice;
184+
const mp_obj_type_t *type_zip;
185+
const mp_obj_type_t *type_array;
186+
const mp_obj_type_t *type_super;
187+
const mp_obj_type_t *type_gen_wrap;
188+
const mp_obj_type_t *type_native_gen_wrap;
189+
const mp_obj_type_t *type_gen_instance;
164190
const mp_obj_type_t *type_fun_builtin_0;
165191
const mp_obj_type_t *type_fun_builtin_1;
166192
const mp_obj_type_t *type_fun_builtin_2;
167193
const mp_obj_type_t *type_fun_builtin_3;
168194
const mp_obj_type_t *type_fun_builtin_var;
195+
const mp_obj_type_t *type_fun_bc;
196+
const mp_obj_type_t *type_module;
197+
const mp_obj_type_t *type_staticmethod;
198+
const mp_obj_type_t *type_classmethod;
199+
const mp_obj_type_t *type_property;
200+
const mp_obj_type_t *type_stringio;
201+
const mp_obj_type_t *type_bytesio;
202+
const mp_obj_type_t *type_reversed;
203+
const mp_obj_type_t *type_polymorph_iter;
204+
169205
const mp_obj_fun_builtin_var_t *stream_read_obj;
170206
const mp_obj_fun_builtin_var_t *stream_readinto_obj;
171207
const mp_obj_fun_builtin_var_t *stream_unbuffered_readline_obj;

tools/mpy_ld.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -666,14 +666,48 @@ def link_objects(env, native_qstr_vals_len, native_qstr_objs_len):
666666
fun_table = {key: 67 + idx
667667
for idx, key in enumerate([
668668
'mp_type_type',
669+
'mp_type_object',
670+
'mp_type_NoneType',
671+
'mp_type_bool',
672+
'mp_type_int',
669673
'mp_type_str',
674+
'mp_type_bytes',
675+
'mp_type_bytearray',
676+
'mp_type_memoryview',
677+
'mp_type_float',
678+
'mp_type_complex',
679+
'mp_type_tuple',
670680
'mp_type_list',
681+
'mp_type_map',
682+
'mp_type_enumerate',
683+
'mp_type_filter',
684+
'mp_type_deque',
671685
'mp_type_dict',
686+
'mp_type_ordereddict',
687+
'mp_type_range',
688+
'mp_type_set',
689+
'mp_type_frozenset',
690+
'mp_type_slice',
691+
'mp_type_zip',
692+
'mp_type_array',
693+
'mp_type_super',
694+
'mp_type_gen_wrap',
695+
'mp_type_native_gen_wrap',
696+
'mp_type_gen_instance',
672697
'mp_type_fun_builtin_0',
673698
'mp_type_fun_builtin_1',
674699
'mp_type_fun_builtin_2',
675700
'mp_type_fun_builtin_3',
676701
'mp_type_fun_builtin_var',
702+
'mp_type_fun_bc',
703+
'mp_type_module',
704+
'mp_type_staticmethod',
705+
'mp_type_classmethod',
706+
'mp_type_property',
707+
'mp_type_stringio',
708+
'mp_type_bytesio',
709+
'mp_type_reversed',
710+
'mp_type_polymorph_iter',
677711
'mp_stream_read_obj',
678712
'mp_stream_readinto_obj',
679713
'mp_stream_unbuffered_readline_obj',

0 commit comments

Comments
 (0)
0