0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -04:00

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>
This commit is contained in:
Yegappan Lakshmanan
2024-03-28 10:36:42 +01:00
committed by Christian Brabandt
parent 8ede7a0694
commit 3164cf8f12
25 changed files with 2324 additions and 140 deletions

View File

@@ -1562,9 +1562,10 @@ struct itf2class_S {
// array with ints follows
};
#define CLASS_INTERFACE 1
#define CLASS_EXTENDED 2 // another class extends this one
#define CLASS_ABSTRACT 4 // abstract class
#define CLASS_INTERFACE 0x1
#define CLASS_EXTENDED 0x2 // another class extends this one
#define CLASS_ABSTRACT 0x4 // abstract class
#define CLASS_ENUM 0x8 // enum
// "class_T": used for v_class of typval of VAR_CLASS
// Also used for an interface (class_flags has CLASS_INTERFACE).
@@ -1613,6 +1614,9 @@ struct class_S
type_T class_object_type; // same as class_type but VAR_OBJECT
};
#define IS_INTERFACE(cl) ((cl)->class_flags & CLASS_INTERFACE)
#define IS_ENUM(cl) ((cl)->class_flags & CLASS_ENUM)
// Used for v_object of typval of VAR_OBJECT.
// The member variables follow in an array of typval_T.
struct object_S