df6567e634
Pretty much everyone needs to include map.h, since it's such an integral part of the Micro Python object implementation. Thus, the definitions are now in obj.h instead. map.h is removed.
65 lines
2.9 KiB
C
65 lines
2.9 KiB
C
void mp_init(void);
|
|
void mp_deinit(void);
|
|
|
|
void mp_check_nargs(int n_args, machine_uint_t n_args_min, machine_uint_t n_args_max, int n_kw, bool is_kw);
|
|
|
|
mp_map_t *mp_locals_get(void);
|
|
void mp_locals_set(mp_map_t *m);
|
|
mp_map_t *mp_globals_get(void);
|
|
void mp_globals_set(mp_map_t *m);
|
|
|
|
mp_obj_t mp_load_name(qstr qstr);
|
|
mp_obj_t mp_load_global(qstr qstr);
|
|
mp_obj_t mp_load_build_class(void);
|
|
void mp_store_name(qstr qstr, mp_obj_t obj);
|
|
void mp_store_global(qstr qstr, mp_obj_t obj);
|
|
void mp_delete_name(qstr qstr);
|
|
|
|
mp_obj_t mp_unary_op(int op, mp_obj_t arg);
|
|
mp_obj_t mp_binary_op(int op, mp_obj_t lhs, mp_obj_t rhs);
|
|
|
|
mp_obj_t mp_load_const_dec(qstr qstr);
|
|
mp_obj_t mp_load_const_str(qstr qstr);
|
|
mp_obj_t mp_load_const_bytes(qstr qstr);
|
|
|
|
mp_obj_t mp_get_cell(mp_obj_t cell);
|
|
void mp_set_cell(mp_obj_t cell, mp_obj_t val);
|
|
|
|
mp_obj_t mp_make_function_from_id(uint unique_code_id, bool free_unique_code, mp_obj_t def_args);
|
|
mp_obj_t mp_make_function_n(int n_args, void *fun); // fun must have the correct signature for n_args fixed arguments
|
|
mp_obj_t mp_make_function_var(int n_args_min, mp_fun_var_t fun);
|
|
mp_obj_t mp_make_function_var_between(int n_args_min, int n_args_max, mp_fun_var_t fun); // min and max are inclusive
|
|
mp_obj_t mp_make_closure_from_id(uint unique_code_id, mp_obj_t closure_tuple, mp_obj_t def_args);
|
|
|
|
mp_obj_t mp_call_function_0(mp_obj_t fun);
|
|
mp_obj_t mp_call_function_1(mp_obj_t fun, mp_obj_t arg);
|
|
mp_obj_t mp_call_function_2(mp_obj_t fun, mp_obj_t arg1, mp_obj_t arg2);
|
|
mp_obj_t mp_call_function_n_kw_for_native(mp_obj_t fun_in, uint n_args_kw, const mp_obj_t *args);
|
|
mp_obj_t mp_call_function_n_kw(mp_obj_t fun, uint n_args, uint n_kw, const mp_obj_t *args);
|
|
mp_obj_t mp_call_method_n_kw(uint n_args, uint n_kw, const mp_obj_t *args);
|
|
|
|
mp_obj_t mp_build_tuple(int n_args, mp_obj_t *items);
|
|
mp_obj_t mp_build_list(int n_args, mp_obj_t *items);
|
|
mp_obj_t mp_list_append(mp_obj_t list, mp_obj_t arg);
|
|
mp_obj_t mp_build_set(int n_args, mp_obj_t *items);
|
|
mp_obj_t mp_store_set(mp_obj_t set, mp_obj_t item);
|
|
void mp_unpack_sequence(mp_obj_t seq, uint num, mp_obj_t *items);
|
|
mp_obj_t mp_build_map(int n_args);
|
|
mp_obj_t mp_store_map(mp_obj_t map, mp_obj_t key, mp_obj_t value);
|
|
mp_obj_t mp_load_attr(mp_obj_t base, qstr attr);
|
|
void mp_load_method(mp_obj_t base, qstr attr, mp_obj_t *dest);
|
|
void mp_store_attr(mp_obj_t base, qstr attr, mp_obj_t val);
|
|
void mp_store_subscr(mp_obj_t base, mp_obj_t index, mp_obj_t val);
|
|
|
|
mp_obj_t mp_getiter(mp_obj_t o);
|
|
mp_obj_t mp_iternext_allow_raise(mp_obj_t o); // may return MP_OBJ_NULL instead of raising StopIteration()
|
|
mp_obj_t mp_iternext(mp_obj_t o); // will always return MP_OBJ_NULL instead of raising StopIteration(...)
|
|
|
|
mp_obj_t mp_make_raise_obj(mp_obj_t o);
|
|
|
|
extern mp_obj_t mp_sys_path;
|
|
mp_map_t *mp_loaded_modules_get(void);
|
|
mp_obj_t mp_import_name(qstr name, mp_obj_t fromlist, mp_obj_t level);
|
|
mp_obj_t mp_import_from(mp_obj_t module, qstr name);
|
|
void mp_import_all(mp_obj_t module);
|