Bram Moolenaar | 8a7d654 | 2020-01-26 15:56:19 +0100 | [diff] [blame] | 1 | /* vim9compile.c */ |
Bram Moolenaar | dc7c366 | 2021-12-20 15:04:29 +0000 | [diff] [blame] | 2 | int lookup_local(char_u *name, size_t len, lvar_T *lvar, cctx_T *cctx); |
| 3 | int arg_exists(char_u *name, size_t len, int *idxp, type_T **type, int *gen_load_outer, cctx_T *cctx); |
Bram Moolenaar | 766ae5b | 2022-09-14 00:30:51 +0100 | [diff] [blame] | 4 | void update_script_var_block_id(char_u *name, int block_id); |
Bram Moolenaar | dce2441 | 2022-02-08 20:35:30 +0000 | [diff] [blame] | 5 | int script_var_exists(char_u *name, size_t len, cctx_T *cctx, cstack_T *cstack); |
Yegappan Lakshmanan | f36bbcd | 2023-09-10 18:19:06 +0200 | [diff] [blame] | 6 | int cctx_class_method_idx(cctx_T *cctx, char_u *name, size_t len, class_T **cl_ret); |
| 7 | int cctx_class_member_idx(cctx_T *cctx, char_u *name, size_t len, class_T **cl_ret); |
Bram Moolenaar | dce2441 | 2022-02-08 20:35:30 +0000 | [diff] [blame] | 8 | int check_defined(char_u *p, size_t len, cctx_T *cctx, cstack_T *cstack, int is_arg); |
Bram Moolenaar | c6951a7 | 2022-12-29 20:56:24 +0000 | [diff] [blame] | 9 | int need_type_where(type_T *actual, type_T *expected, int number_ok, int offset, where_T where, cctx_T *cctx, int silent, int actual_is_const); |
| 10 | int need_type(type_T *actual, type_T *expected, int number_ok, int offset, int arg_idx, cctx_T *cctx, int silent, int actual_is_const); |
| 11 | lvar_T *reserve_local(cctx_T *cctx, char_u *name, size_t len, int assign, type_T *type); |
Bram Moolenaar | b6a138e | 2022-02-08 21:17:22 +0000 | [diff] [blame] | 12 | int get_script_item_idx(int sid, char_u *name, int check_writable, cctx_T *cctx, cstack_T *cstack); |
Bram Moolenaar | 4b1d963 | 2022-02-13 21:51:08 +0000 | [diff] [blame] | 13 | imported_T *find_imported(char_u *name, size_t len, int load); |
Bram Moolenaar | dc7c366 | 2021-12-20 15:04:29 +0000 | [diff] [blame] | 14 | char_u *may_peek_next_line(cctx_T *cctx, char_u *arg, char_u **nextp); |
Bram Moolenaar | 7a4b898 | 2020-07-08 17:36:21 +0200 | [diff] [blame] | 15 | char_u *peek_next_line_from_context(cctx_T *cctx); |
| 16 | char_u *next_line_from_context(cctx_T *cctx, int skip_comment); |
Bram Moolenaar | dc7c366 | 2021-12-20 15:04:29 +0000 | [diff] [blame] | 17 | int may_get_next_line(char_u *whitep, char_u **arg, cctx_T *cctx); |
| 18 | int may_get_next_line_error(char_u *whitep, char_u **arg, cctx_T *cctx); |
Bram Moolenaar | 7a6eaa0 | 2021-03-21 20:53:29 +0100 | [diff] [blame] | 19 | void fill_exarg_from_cctx(exarg_T *eap, cctx_T *cctx); |
Bram Moolenaar | dc7c366 | 2021-12-20 15:04:29 +0000 | [diff] [blame] | 20 | int func_needs_compiling(ufunc_T *ufunc, compiletype_T compile_type); |
Bram Moolenaar | 0abc287 | 2022-05-10 13:24:30 +0100 | [diff] [blame] | 21 | char_u *compile_one_expr_in_str(char_u *p, cctx_T *cctx); |
LemonBoy | 2eaef10 | 2022-05-06 13:14:50 +0100 | [diff] [blame] | 22 | int compile_all_expr_in_str(char_u *str, int evalstr, cctx_T *cctx); |
Bram Moolenaar | 8a7d654 | 2020-01-26 15:56:19 +0100 | [diff] [blame] | 23 | int assignment_len(char_u *p, int *heredoc); |
Bram Moolenaar | e55b1c0 | 2020-06-21 15:52:59 +0200 | [diff] [blame] | 24 | void vim9_declare_error(char_u *name); |
Bram Moolenaar | 97f8c10 | 2022-04-02 19:43:57 +0100 | [diff] [blame] | 25 | int get_var_dest(char_u *name, assign_dest_T *dest, cmdidx_T cmdidx, int *option_scope, int *vimvaridx, type_T **type, cctx_T *cctx); |
| 26 | int compile_lhs(char_u *var_start, lhs_T *lhs, cmdidx_T cmdidx, int heredoc, int has_cmd, int oplen, cctx_T *cctx); |
| 27 | int compile_assign_lhs(char_u *var_start, lhs_T *lhs, cmdidx_T cmdidx, int is_decl, int heredoc, int has_cmd, int oplen, cctx_T *cctx); |
Bram Moolenaar | dc7c366 | 2021-12-20 15:04:29 +0000 | [diff] [blame] | 28 | int compile_load_lhs_with_index(lhs_T *lhs, char_u *var_start, cctx_T *cctx); |
| 29 | int compile_assign_unlet(char_u *var_start, lhs_T *lhs, int is_assign, type_T *rhs_type, cctx_T *cctx); |
Bram Moolenaar | 139575d | 2022-03-15 19:29:30 +0000 | [diff] [blame] | 30 | compiletype_T get_compile_type(ufunc_T *ufunc); |
Bram Moolenaar | e99d422 | 2021-06-13 14:01:26 +0200 | [diff] [blame] | 31 | int compile_def_function(ufunc_T *ufunc, int check_return_type, compiletype_T compile_type, cctx_T *outer_cctx); |
Bram Moolenaar | 6ff71d8 | 2020-05-24 23:45:24 +0200 | [diff] [blame] | 32 | void set_function_type(ufunc_T *ufunc); |
Bram Moolenaar | fdeab65 | 2020-09-19 15:16:50 +0200 | [diff] [blame] | 33 | void unlink_def_function(ufunc_T *ufunc); |
Bram Moolenaar | cd45ed0 | 2020-12-22 17:35:54 +0100 | [diff] [blame] | 34 | void link_def_function(ufunc_T *ufunc); |
Bram Moolenaar | 8a7d654 | 2020-01-26 15:56:19 +0100 | [diff] [blame] | 35 | void free_def_functions(void); |
| 36 | /* vim: set ft=c : */ |