Mercurial > vim
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 /* |