Mercurial > vim
comparison src/typval.c @ 34676:5b25ec43f208 v9.1.0219
patch 9.1.0219: Vim9: No enum support
Commit: https://github.com/vim/vim/commit/3164cf8f12f14b725b918e3170bb0a9085af8298
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Thu Mar 28 10:36:42 2024 +0100
patch 9.1.0219: Vim9: No enum support
Problem: No enum support
Solution: Implement enums for Vim9 script
(Yegappan Lakshmanan)
closes: #14224
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 28 Mar 2024 10:45:06 +0100 |
parents | cce6b834635c |
children | 047733a6b42b |
comparison
equal
deleted
inserted
replaced
34675:42bca55140ec | 34676:5b25ec43f208 |
---|---|
264 case VAR_CLASS: | 264 case VAR_CLASS: |
265 case VAR_TYPEALIAS: | 265 case VAR_TYPEALIAS: |
266 check_typval_is_value(varp); | 266 check_typval_is_value(varp); |
267 break; | 267 break; |
268 case VAR_OBJECT: | 268 case VAR_OBJECT: |
269 emsg(_(e_using_object_as_number)); | 269 { |
270 class_T *cl = varp->vval.v_object->obj_class; | |
271 if (cl != NULL && IS_ENUM(cl)) | |
272 semsg(_(e_using_enum_str_as_number), cl->class_name); | |
273 else | |
274 emsg(_(e_using_object_as_number)); | |
275 } | |
270 break; | 276 break; |
271 case VAR_VOID: | 277 case VAR_VOID: |
272 emsg(_(e_cannot_use_void_value)); | 278 emsg(_(e_cannot_use_void_value)); |
273 break; | 279 break; |
274 case VAR_UNKNOWN: | 280 case VAR_UNKNOWN: |
1137 case VAR_CLASS: | 1143 case VAR_CLASS: |
1138 case VAR_TYPEALIAS: | 1144 case VAR_TYPEALIAS: |
1139 check_typval_is_value(varp); | 1145 check_typval_is_value(varp); |
1140 break; | 1146 break; |
1141 case VAR_OBJECT: | 1147 case VAR_OBJECT: |
1142 emsg(_(e_using_object_as_string)); | 1148 { |
1149 class_T *cl = varp->vval.v_object->obj_class; | |
1150 if (cl != NULL && IS_ENUM(cl)) | |
1151 semsg(_(e_using_enum_str_as_string), cl->class_name); | |
1152 else | |
1153 emsg(_(e_using_object_as_string)); | |
1154 } | |
1143 break; | 1155 break; |
1144 case VAR_JOB: | 1156 case VAR_JOB: |
1145 #ifdef FEAT_JOB_CHANNEL | 1157 #ifdef FEAT_JOB_CHANNEL |
1146 if (in_vim9script()) | 1158 if (in_vim9script()) |
1147 { | 1159 { |