comparison src/proto/evalfunc.pro @ 26935:ccb9be1cdd71 v8.2.3996

patch 8.2.3996: Vim9: type checking lacks information about declared type Commit: https://github.com/vim/vim/commit/078a46161e8b1b30bf306d6c1f4f0af7c616a989 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jan 4 15:17:03 2022 +0000 patch 8.2.3996: Vim9: type checking lacks information about declared type Problem: Vim9: type checking for list and dict lacks information about declared type. Solution: Add dv_decl_type and lv_decl_type. Refactor the type stack to store two types in each entry.
author Bram Moolenaar <Bram@vim.org>
date Tue, 04 Jan 2022 16:30:06 +0100
parents d5e9c05b4811
children fb4c30606b4a
comparison
equal deleted inserted replaced
26934:2d3dd8065e25 26935:ccb9be1cdd71
3 char_u *get_function_name(expand_T *xp, int idx); 3 char_u *get_function_name(expand_T *xp, int idx);
4 char_u *get_expr_name(expand_T *xp, int idx); 4 char_u *get_expr_name(expand_T *xp, int idx);
5 int find_internal_func(char_u *name); 5 int find_internal_func(char_u *name);
6 int has_internal_func(char_u *name); 6 int has_internal_func(char_u *name);
7 char *internal_func_name(int idx); 7 char *internal_func_name(int idx);
8 int internal_func_check_arg_types(type_T **types, int idx, int argcount, cctx_T *cctx); 8 int internal_func_check_arg_types(type2_T *types, int idx, int argcount, cctx_T *cctx);
9 void internal_func_get_argcount(int idx, int *argcount, int *min_argcount); 9 void internal_func_get_argcount(int idx, int *argcount, int *min_argcount);
10 type_T *internal_func_ret_type(int idx, int argcount, type_T **argtypes); 10 type_T *internal_func_ret_type(int idx, int argcount, type2_T *argtypes);
11 int internal_func_is_map(int idx); 11 int internal_func_is_map(int idx);
12 int check_internal_func(int idx, int argcount); 12 int check_internal_func(int idx, int argcount);
13 int call_internal_func(char_u *name, int argcount, typval_T *argvars, typval_T *rettv); 13 int call_internal_func(char_u *name, int argcount, typval_T *argvars, typval_T *rettv);
14 void call_internal_func_by_idx(int idx, typval_T *argvars, typval_T *rettv); 14 void call_internal_func_by_idx(int idx, typval_T *argvars, typval_T *rettv);
15 int call_internal_method(char_u *name, int argcount, typval_T *argvars, typval_T *rettv, typval_T *basetv); 15 int call_internal_method(char_u *name, int argcount, typval_T *argvars, typval_T *rettv, typval_T *basetv);