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
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 {