comparison src/vim9type.c @ 33540:86dbcbb94fdb v9.0.2019

patch 9.0.2019: Vim9: no support for funcrefs Commit: https://github.com/vim/vim/commit/29bb67f1beefc7fd393dbfd9ee77d92f1db3a3c0 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Sat Oct 14 11:18:50 2023 +0200 patch 9.0.2019: Vim9: no support for funcrefs Problem: Vim9: no support for funcrefs Solution: Add support for object/class funcref members closes: #11981 #12417 #12960 #12324 #13333 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
author Christian Brabandt <cb@256bit.org>
date Sat, 14 Oct 2023 11:30:07 +0200
parents 921673b465a6
children 1fcb7c9dc546
comparison
equal deleted inserted replaced
33539:98e6eaaf8458 33540:86dbcbb94fdb
142 *ret = *type; 142 *ret = *type;
143 143
144 if (ret->tt_member != NULL) 144 if (ret->tt_member != NULL)
145 ret->tt_member = alloc_type(ret->tt_member); 145 ret->tt_member = alloc_type(ret->tt_member);
146 146
147 if (type->tt_args != NULL) 147 if (type->tt_argcount > 0 && type->tt_args != NULL)
148 { 148 {
149 int i; 149 int i;
150 150
151 ret->tt_args = ALLOC_MULT(type_T *, type->tt_argcount); 151 ret->tt_args = ALLOC_MULT(type_T *, type->tt_argcount);
152 if (ret->tt_args != NULL) 152 if (ret->tt_args != NULL)
153 for (i = 0; i < type->tt_argcount; ++i) 153 for (i = 0; i < type->tt_argcount; ++i)
154 ret->tt_args[i] = alloc_type(type->tt_args[i]); 154 ret->tt_args[i] = alloc_type(type->tt_args[i]);
155 } 155 }
156 else
157 ret->tt_args = NULL;
156 158
157 return ret; 159 return ret;
158 } 160 }
159 161
160 /* 162 /*