From 4ebdb1f2b217410cdc1cee0e0c0da8fceb7627f2 Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 18 Oct 2016 11:06:20 +1100 Subject: py: Be more specific with MP_DECLARE_CONST_FUN_OBJ macros. In order to have more fine-grained control over how builtin functions are constructed, the MP_DECLARE_CONST_FUN_OBJ macros are made more specific, with suffix of _0, _1, _2, _3, _VAR, _VAR_BETEEN or _KW. These names now match the MP_DEFINE_CONST_FUN_OBJ macros. --- py/builtin.h | 96 +++++++++++++++++++++++++++++------------------------------- 1 file changed, 46 insertions(+), 50 deletions(-) (limited to 'py/builtin.h') diff --git a/py/builtin.h b/py/builtin.h index cd1be3ab8..df33e2b73 100644 --- a/py/builtin.h +++ b/py/builtin.h @@ -32,56 +32,55 @@ mp_obj_t mp_builtin___import__(size_t n_args, const mp_obj_t *args); mp_obj_t mp_builtin_open(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs); mp_obj_t mp_micropython_mem_info(size_t n_args, const mp_obj_t *args); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin___build_class___obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin___import___obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin___repl_print___obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_abs_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_all_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_any_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_bin_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_callable_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_compile_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_chr_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_dir_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_divmod_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_eval_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_exec_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_execfile_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_getattr_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_setattr_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_globals_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_hasattr_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_hash_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_hex_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_id_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_isinstance_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_issubclass_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_iter_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_len_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_list_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_locals_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_max_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_min_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_next_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_oct_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_ord_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_pow_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_print_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_repr_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_round_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_sorted_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_sum_obj); +MP_DECLARE_CONST_FUN_OBJ_VAR(mp_builtin___build_class___obj); +MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin___import___obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin___repl_print___obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_abs_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_all_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_any_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_bin_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_callable_obj); +MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_compile_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_chr_obj); +MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_dir_obj); +MP_DECLARE_CONST_FUN_OBJ_2(mp_builtin_divmod_obj); +MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_eval_obj); +MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_exec_obj); +MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_execfile_obj); +MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_getattr_obj); +MP_DECLARE_CONST_FUN_OBJ_3(mp_builtin_setattr_obj); +MP_DECLARE_CONST_FUN_OBJ_0(mp_builtin_globals_obj); +MP_DECLARE_CONST_FUN_OBJ_2(mp_builtin_hasattr_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_hash_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_hex_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_id_obj); +MP_DECLARE_CONST_FUN_OBJ_2(mp_builtin_isinstance_obj); +MP_DECLARE_CONST_FUN_OBJ_2(mp_builtin_issubclass_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_iter_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_len_obj); +MP_DECLARE_CONST_FUN_OBJ_0(mp_builtin_locals_obj); +MP_DECLARE_CONST_FUN_OBJ_KW(mp_builtin_max_obj); +MP_DECLARE_CONST_FUN_OBJ_KW(mp_builtin_min_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_next_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_oct_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_ord_obj); +MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_pow_obj); +MP_DECLARE_CONST_FUN_OBJ_KW(mp_builtin_print_obj); +MP_DECLARE_CONST_FUN_OBJ_1(mp_builtin_repr_obj); +MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_round_obj); +MP_DECLARE_CONST_FUN_OBJ_KW(mp_builtin_sorted_obj); +MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_sum_obj); // Defined by a port, but declared here for simplicity -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_help_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_input_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_builtin_open_obj); +MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_help_obj); +MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_input_obj); +MP_DECLARE_CONST_FUN_OBJ_KW(mp_builtin_open_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_namedtuple_obj); +MP_DECLARE_CONST_FUN_OBJ_2(mp_namedtuple_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_op_contains_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_op_getitem_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_op_setitem_obj); -MP_DECLARE_CONST_FUN_OBJ(mp_op_delitem_obj); +MP_DECLARE_CONST_FUN_OBJ_2(mp_op_contains_obj); +MP_DECLARE_CONST_FUN_OBJ_2(mp_op_getitem_obj); +MP_DECLARE_CONST_FUN_OBJ_3(mp_op_setitem_obj); +MP_DECLARE_CONST_FUN_OBJ_2(mp_op_delitem_obj); extern const mp_obj_module_t mp_module___main__; extern const mp_obj_module_t mp_module_builtins; @@ -116,7 +115,4 @@ extern const mp_obj_module_t mp_module_webrepl; extern const mp_obj_module_t mp_module_framebuf; extern const mp_obj_module_t mp_module_btree; -// extmod functions -MP_DECLARE_CONST_FUN_OBJ(pyb_mount_obj); - #endif // __MICROPY_INCLUDED_PY_BUILTIN_H__ -- cgit v1.2.3