mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 9.0.1185: using class from imported script not tested
Problem: Using class from imported script not tested. Solution: Add tests. Implement what is missing.
This commit is contained in:
@@ -244,9 +244,13 @@ ex_class(exarg_T *eap)
|
||||
}
|
||||
char_u *name_start = arg;
|
||||
|
||||
// "export class" gets used when creating the class, don't use "is_export"
|
||||
// for the items inside the class.
|
||||
int class_export = is_export;
|
||||
is_export = FALSE;
|
||||
|
||||
// TODO:
|
||||
// generics: <Tkey, Tentry>
|
||||
// handle "is_export" if it is set
|
||||
|
||||
// Name for "extends BaseClass"
|
||||
char_u *extends = NULL;
|
||||
@@ -558,7 +562,7 @@ early_ret:
|
||||
{
|
||||
typval_T tv;
|
||||
tv.v_type = VAR_UNKNOWN;
|
||||
if (eval_variable(extends, 0, 0, &tv, NULL, EVAL_VAR_IMPORT) == FAIL)
|
||||
if (eval_variable_import(extends, &tv) == FAIL)
|
||||
{
|
||||
semsg(_(e_class_name_not_found_str), extends);
|
||||
success = FALSE;
|
||||
@@ -594,7 +598,7 @@ early_ret:
|
||||
char_u *impl = ((char_u **)ga_impl.ga_data)[i];
|
||||
typval_T tv;
|
||||
tv.v_type = VAR_UNKNOWN;
|
||||
if (eval_variable(impl, 0, 0, &tv, NULL, EVAL_VAR_IMPORT) == FAIL)
|
||||
if (eval_variable_import(impl, &tv) == FAIL)
|
||||
{
|
||||
semsg(_(e_interface_name_not_found_str), impl);
|
||||
success = FALSE;
|
||||
@@ -930,6 +934,7 @@ early_ret:
|
||||
typval_T tv;
|
||||
tv.v_type = VAR_CLASS;
|
||||
tv.vval.v_class = cl;
|
||||
is_export = class_export;
|
||||
set_var_const(cl->class_name, current_sctx.sc_sid,
|
||||
NULL, &tv, FALSE, ASSIGN_DECL, 0);
|
||||
return;
|
||||
|
Reference in New Issue
Block a user