blob: 98c40c86cbaa0a06f832cdee9d5aa17faf31b079 [file] [log] [blame]
Bram Moolenaar8a7d6542020-01-26 15:56:19 +01001/* vim9compile.c */
Bram Moolenaardc7c3662021-12-20 15:04:29 +00002int lookup_local(char_u *name, size_t len, lvar_T *lvar, cctx_T *cctx);
3int arg_exists(char_u *name, size_t len, int *idxp, type_T **type, int *gen_load_outer, cctx_T *cctx);
4int script_is_vim9(void);
5int script_var_exists(char_u *name, size_t len, cctx_T *cctx);
Bram Moolenaar057e84a2021-02-28 16:55:11 +01006int check_defined(char_u *p, size_t len, cctx_T *cctx, int is_arg);
Bram Moolenaar351ead02021-01-16 16:07:01 +01007int need_type(type_T *actual, type_T *expected, int offset, int arg_idx, cctx_T *cctx, int silent, int actual_is_const);
Bram Moolenaardc7c3662021-12-20 15:04:29 +00008lvar_T *reserve_local(cctx_T *cctx, char_u *name, size_t len, int isConst, type_T *type);
Bram Moolenaarfbbcd002020-10-15 12:46:44 +02009int get_script_item_idx(int sid, char_u *name, int check_writable, cctx_T *cctx);
Bram Moolenaar4e12a5d2020-02-03 20:50:59 +010010imported_T *find_imported(char_u *name, size_t len, cctx_T *cctx);
Bram Moolenaardc7c3662021-12-20 15:04:29 +000011char_u *may_peek_next_line(cctx_T *cctx, char_u *arg, char_u **nextp);
Bram Moolenaar7a4b8982020-07-08 17:36:21 +020012char_u *peek_next_line_from_context(cctx_T *cctx);
13char_u *next_line_from_context(cctx_T *cctx, int skip_comment);
Bram Moolenaardc7c3662021-12-20 15:04:29 +000014int may_get_next_line(char_u *whitep, char_u **arg, cctx_T *cctx);
15int may_get_next_line_error(char_u *whitep, char_u **arg, cctx_T *cctx);
Bram Moolenaar7a6eaa02021-03-21 20:53:29 +010016void fill_exarg_from_cctx(exarg_T *eap, cctx_T *cctx);
Bram Moolenaardc7c3662021-12-20 15:04:29 +000017int func_needs_compiling(ufunc_T *ufunc, compiletype_T compile_type);
Bram Moolenaar8a7d6542020-01-26 15:56:19 +010018int assignment_len(char_u *p, int *heredoc);
Bram Moolenaare55b1c02020-06-21 15:52:59 +020019void vim9_declare_error(char_u *name);
Bram Moolenaardc7c3662021-12-20 15:04:29 +000020int get_var_dest(char_u *name, assign_dest_T *dest, int cmdidx, int *option_scope, int *vimvaridx, type_T **type, cctx_T *cctx);
21int compile_lhs(char_u *var_start, lhs_T *lhs, int cmdidx, int heredoc, int oplen, cctx_T *cctx);
22int compile_assign_lhs(char_u *var_start, lhs_T *lhs, int cmdidx, int is_decl, int heredoc, int oplen, cctx_T *cctx);
23int compile_load_lhs_with_index(lhs_T *lhs, char_u *var_start, cctx_T *cctx);
24int compile_assign_unlet(char_u *var_start, lhs_T *lhs, int is_assign, type_T *rhs_type, cctx_T *cctx);
Bram Moolenaare99d4222021-06-13 14:01:26 +020025int compile_def_function(ufunc_T *ufunc, int check_return_type, compiletype_T compile_type, cctx_T *outer_cctx);
Bram Moolenaar6ff71d82020-05-24 23:45:24 +020026void set_function_type(ufunc_T *ufunc);
Bram Moolenaarfdeab652020-09-19 15:16:50 +020027void unlink_def_function(ufunc_T *ufunc);
Bram Moolenaarcd45ed02020-12-22 17:35:54 +010028void link_def_function(ufunc_T *ufunc);
Bram Moolenaar8a7d6542020-01-26 15:56:19 +010029void free_def_functions(void);
30/* vim: set ft=c : */