Mercurial > vim
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); |