comparison src/proto/vim9class.pro @ 33088:667a17904f64 v9.0.1829

patch 9.0.1829: Vim9 missing access-checks for private vars Commit: https://github.com/vim/vim/commit/eb91e24d5eca99ad902924911e78f292e9ca0971 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Thu Aug 31 18:10:46 2023 +0200 patch 9.0.1829: Vim9 missing access-checks for private vars Problem: Vim9 missing access-checks for private vars Solution: Use the proper check for private/readonly variable. Access level for a member cannot be changed in a class implementing an interface. Update the code indentation closes: #12978 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com> Co-authored-by: Ernie Rael <errael@raelity.com>
author Christian Brabandt <cb@256bit.org>
date Thu, 31 Aug 2023 18:15:10 +0200
parents 75c283beb74f
children d994ba4bd9ca
comparison
equal deleted inserted replaced
33087:fd188704bc4c 33088:667a17904f64
1 /* vim9class.c */ 1 /* vim9class.c */
2 int object_index_from_itf_index(class_T *itf, int is_method, int idx, class_T *cl); 2 int object_index_from_itf_index(class_T *itf, int is_method, int idx, class_T *cl);
3 void ex_class(exarg_T *eap); 3 void ex_class(exarg_T *eap);
4 type_T *class_member_type(class_T *cl, char_u *name, char_u *name_end, int *member_idx); 4 type_T *class_member_type(class_T *cl, char_u *name, char_u *name_end, int *member_idx, omacc_T *access);
5 void ex_enum(exarg_T *eap); 5 void ex_enum(exarg_T *eap);
6 void ex_type(exarg_T *eap); 6 void ex_type(exarg_T *eap);
7 int class_object_index(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int verbose); 7 int class_object_index(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int verbose);
8 ufunc_T *find_class_func(char_u **arg); 8 ufunc_T *find_class_func(char_u **arg);
9 int class_member_index(char_u *name, size_t len, class_T **cl_ret, cctx_T *cctx); 9 int class_member_index(char_u *name, size_t len, class_T **cl_ret, cctx_T *cctx);