forked from aniani/vim
patch 9.1.0261: Vim9: protected class and funcrefs accessible outside the class
Problem: Vim9: protected class and funcrefs accessible outside the class (Aliaksei Budavei) Solution: Check if class and object funcrefs are protected (Yegappan) closes: #14407 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
bd28cae1f1
commit
3e33650b3a
@@ -570,10 +570,16 @@ parse_argument_types(
|
||||
fp->uf_arg_types[i] = type;
|
||||
if (i < fp->uf_args.ga_len
|
||||
&& (type->tt_type == VAR_FUNC
|
||||
|| type->tt_type == VAR_PARTIAL)
|
||||
&& var_wrong_func_name(
|
||||
((char_u **)fp->uf_args.ga_data)[i], TRUE))
|
||||
return FAIL;
|
||||
|| type->tt_type == VAR_PARTIAL))
|
||||
{
|
||||
char_u *name = ((char_u **)fp->uf_args.ga_data)[i];
|
||||
if (obj_members != NULL && *name == '_')
|
||||
// protected object method
|
||||
name++;
|
||||
|
||||
if (var_wrong_func_name(name, TRUE))
|
||||
return FAIL;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user