Mercurial > vim
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); |