comparison src/proto/vim9class.pro @ 33446:508dfc0c261c v9.0.1977

patch 9.0.1977: Vim9: object members can change type Commit: https://github.com/vim/vim/commit/fe7b20a1a39dc645a6ea7ae925512f9227fd1695 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Wed Oct 4 19:47:52 2023 +0200 patch 9.0.1977: Vim9: object members can change type Problem: Vim9: object members can change type Solution: Check type during assignment to object/class var closes: #13127 closes: #13262 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
author Christian Brabandt <cb@256bit.org>
date Wed, 04 Oct 2023 20:00:06 +0200
parents 97ceabebaeaf
children bff8ac203a22
comparison
equal deleted inserted replaced
33445:816fd36de6e0 33446:508dfc0c261c
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, int is_object, char_u *name, char_u *name_end, int *member_idx); 4 type_T *class_member_type(class_T *cl, int is_object, char_u *name, char_u *name_end, int *member_idx);
5 type_T *class_member_type_by_idx(class_T *cl, int is_object, int member_idx);
5 void ex_enum(exarg_T *eap); 6 void ex_enum(exarg_T *eap);
6 void ex_type(exarg_T *eap); 7 void ex_type(exarg_T *eap);
7 int class_object_index(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int verbose); 8 int class_object_index(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int verbose);
8 ufunc_T *find_class_func(char_u **arg); 9 ufunc_T *find_class_func(char_u **arg);
9 int class_member_idx(class_T *cl, char_u *name, size_t namelen); 10 int class_member_idx(class_T *cl, char_u *name, size_t namelen);