0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

patch 9.0.1982: vim9: clean up from v9.0.1955

Problem:  vim9: clean up from v9.0.1955
Solution: Fix a few remaining issues, improve error message

- Use `cl_exec`, the executing class, to check permissions in `get_lval()`.
- Handle lockvar of script variable from class.
- Add 'in class "Xxx"' to e_cannot_access_private_variable_str.

closes: #13222

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
This commit is contained in:
Ernie Rael
2023-10-04 20:16:22 +02:00
committed by Christian Brabandt
parent 0583491277
commit 64885645e7
13 changed files with 278 additions and 114 deletions

View File

@@ -407,7 +407,8 @@ compile_class_object_index(cctx_T *cctx, char_u **arg, type_T *type)
{
if (*name == '_' && !inside_class(cctx, cl))
{
semsg(_(e_cannot_access_private_variable_str), m->ocm_name);
semsg(_(e_cannot_access_private_variable_str), m->ocm_name,
cl->class_name);
return FAIL;
}
@@ -442,7 +443,8 @@ compile_class_object_index(cctx_T *cctx, char_u **arg, type_T *type)
// it is defined.
if (*name == '_' && cctx->ctx_ufunc->uf_class != cl)
{
semsg(_(e_cannot_access_private_variable_str), m->ocm_name);
semsg(_(e_cannot_access_private_variable_str), m->ocm_name,
cl->class_name);
return FAIL;
}