Mercurial > vim
comparison src/proto/vim9compile.pro @ 21443:66386ca8a69f v8.2.1272
patch 8.2.1272: Vim9: type not checked if declaration also assigns value
Commit: https://github.com/vim/vim/commit/4cdb13ce81309b62b636f2c614241959174d3fef
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jul 22 21:45:14 2020 +0200
patch 8.2.1272: Vim9: type not checked if declaration also assigns value
Problem: Vim9: type not checked if declaration also assigns value.
Solution: Check the type. (issue https://github.com/vim/vim/issues/6507)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 22 Jul 2020 22:00:04 +0200 |
parents | 54a304e4dc57 |
children | 574517d682cf |
comparison
equal
deleted
inserted
replaced
21442:0c134036ff70 | 21443:66386ca8a69f |
---|---|
1 /* vim9compile.c */ | 1 /* vim9compile.c */ |
2 int check_defined(char_u *p, size_t len, cctx_T *cctx); | 2 int check_defined(char_u *p, size_t len, cctx_T *cctx); |
3 void clear_type_list(garray_T *gap); | 3 void clear_type_list(garray_T *gap); |
4 type_T *typval2type(typval_T *tv); | 4 type_T *typval2type(typval_T *tv, garray_T *type_gap); |
5 type_T *typval2type_vimvar(typval_T *tv, garray_T *type_gap); | |
6 int check_typval_type(type_T *expected, typval_T *actual_tv); | |
5 int check_type(type_T *expected, type_T *actual, int give_msg); | 7 int check_type(type_T *expected, type_T *actual, int give_msg); |
6 int check_argtype(type_T *expected, typval_T *actual_tv); | |
7 int check_compare_types(exptype_T type, typval_T *tv1, typval_T *tv2); | 8 int check_compare_types(exptype_T type, typval_T *tv1, typval_T *tv2); |
8 char_u *skip_type(char_u *start); | 9 char_u *skip_type(char_u *start); |
9 type_T *parse_type(char_u **arg, garray_T *type_gap); | 10 type_T *parse_type(char_u **arg, garray_T *type_gap); |
10 char *vartype_name(vartype_T type); | 11 char *vartype_name(vartype_T type); |
11 char *type_name(type_T *type, char **tofree); | 12 char *type_name(type_T *type, char **tofree); |