0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -04:00

patch 8.2.4582: useless code handling a type declaration

Problem:    Useless code handling a type declaration.
Solution:   Remove the code and give an error.
This commit is contained in:
Bram Moolenaar
2022-03-16 20:01:39 +00:00
parent d597ab00d7
commit 4c8b546da2
5 changed files with 40 additions and 22 deletions

View File

@@ -937,8 +937,6 @@ get_lval(
}
if (*p == ':')
{
garray_T tmp_type_list;
garray_T *type_list;
char_u *tp = skipwhite(p + 1);
if (tp == p + 1 && !quiet)
@@ -947,27 +945,19 @@ get_lval(
return NULL;
}
if (SCRIPT_ID_VALID(current_sctx.sc_sid))
type_list = &SCRIPT_ITEM(current_sctx.sc_sid)->sn_type_list;
else
if (!SCRIPT_ID_VALID(current_sctx.sc_sid))
{
// TODO: should we give an error here?
type_list = &tmp_type_list;
ga_init2(type_list, sizeof(type_T), 10);
semsg(_(e_using_type_not_in_script_context_str), p);
return NULL;
}
// parse the type after the name
lp->ll_type = parse_type(&tp, type_list, !quiet);
lp->ll_type = parse_type(&tp,
&SCRIPT_ITEM(current_sctx.sc_sid)->sn_type_list,
!quiet);
if (lp->ll_type == NULL && !quiet)
return NULL;
lp->ll_name_end = tp;
// drop the type when not in a script
if (type_list == &tmp_type_list)
{
lp->ll_type = NULL;
clear_type_list(type_list);
}
}
}
}