Mercurial > vim
annotate src/proto/vim9compile.pro @ 21251:d1215fcdbca8 v8.2.1176
patch 8.2.1176: Vim9: not enough type checking in Vim9 script
Commit: https://github.com/vim/vim/commit/543e6f3467f208930a5d7fadb82133334bf31356
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jul 10 22:45:38 2020 +0200
patch 8.2.1176: Vim9: not enough type checking in Vim9 script
Problem: Vim9: not enough type checking in Vim9 script.
Solution: Use same type checking as in a :def function.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 10 Jul 2020 23:00:03 +0200 |
parents | 1f4d0375f947 |
children | f25d007f90ac |
rev | line source |
---|---|
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 /* vim9compile.c */ |
21194
afed2045ffc9
patch 8.2.1148: warning for using int instead of size_t
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
2 int check_defined(char_u *p, size_t len, cctx_T *cctx); |
21218
1f4d0375f947
patch 8.2.1160: Vim9: memory leak in allocated types
Bram Moolenaar <Bram@vim.org>
parents:
21208
diff
changeset
|
3 void clear_type_list(garray_T *gap); |
20842
bacc2ab11810
patch 8.2.0973: Vim9: type is not checked when assigning to a script variable
Bram Moolenaar <Bram@vim.org>
parents:
20532
diff
changeset
|
4 type_T *typval2type(typval_T *tv); |
bacc2ab11810
patch 8.2.0973: Vim9: type is not checked when assigning to a script variable
Bram Moolenaar <Bram@vim.org>
parents:
20532
diff
changeset
|
5 int check_type(type_T *expected, type_T *actual, int give_msg); |
21251
d1215fcdbca8
patch 8.2.1176: Vim9: not enough type checking in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21218
diff
changeset
|
6 int check_compare_types(exptype_T type, typval_T *tv1, typval_T *tv2); |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 char_u *skip_type(char_u *start); |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
19726
diff
changeset
|
8 type_T *parse_type(char_u **arg, garray_T *type_gap); |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 char *vartype_name(vartype_T type); |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 char *type_name(type_T *type, char **tofree); |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 int get_script_item_idx(int sid, char_u *name, int check_writable); |
19285
86665583dc83
patch 8.2.0201: cannot assign to an imported variable
Bram Moolenaar <Bram@vim.org>
parents:
19181
diff
changeset
|
12 imported_T *find_imported(char_u *name, size_t len, cctx_T *cctx); |
21208
09377fd59b2e
patch 8.2.1155: Vim9: cannot handle line break inside lambda
Bram Moolenaar <Bram@vim.org>
parents:
21194
diff
changeset
|
13 char_u *peek_next_line_from_context(cctx_T *cctx); |
09377fd59b2e
patch 8.2.1155: Vim9: cannot handle line break inside lambda
Bram Moolenaar <Bram@vim.org>
parents:
21194
diff
changeset
|
14 char_u *next_line_from_context(cctx_T *cctx, int skip_comment); |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 char_u *to_name_const_end(char_u *arg); |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 int assignment_len(char_u *p, int *heredoc); |
20953
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20943
diff
changeset
|
17 void vim9_declare_error(char_u *name); |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
19726
diff
changeset
|
18 int check_vim9_unlet(char_u *name); |
20528
489cb75c76b6
patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Bram Moolenaar <Bram@vim.org>
parents:
20339
diff
changeset
|
19 int compile_def_function(ufunc_T *ufunc, int set_return_type, cctx_T *outer_cctx); |
20532
cb4831fa7e25
patch 8.2.0820: Vim9: function type isn't set until compiled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
20 void set_function_type(ufunc_T *ufunc); |
19726
ad37a198a708
patch 8.2.0419: various memory leaks in Vim9 script code
Bram Moolenaar <Bram@vim.org>
parents:
19623
diff
changeset
|
21 void delete_instr(isn_T *isn); |
20943
1693ca876049
patch 8.2.1023: Vim9: redefining a function uses a new index every time
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
22 void clear_def_function(ufunc_T *ufunc); |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 void free_def_functions(void); |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
24 /* vim: set ft=c : */ |