patch 9.0.1885: Vim9: no support for abstract methods
Problem: Vim9: no support for abstract methods
Solution: Add support for defining abstract methods in an abstract class
closes: #13044
closes: #13046
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
diff --git a/src/structs.h b/src/structs.h
index 7acd857..9214096 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1515,6 +1515,7 @@
#define CLASS_INTERFACE 1
#define CLASS_EXTENDED 2 // another class extends this one
+#define CLASS_ABSTRACT 4 // abstract class
// "class_T": used for v_class of typval of VAR_CLASS
// Also used for an interface (class_flags has CLASS_INTERFACE).
@@ -1875,6 +1876,7 @@
#define FC_OBJECT 0x4000 // object method
#define FC_NEW 0x8000 // constructor
+#define FC_ABSTRACT 0x10000 // abstract method
#define MAX_FUNC_ARGS 20 // maximum number of function arguments
#define VAR_SHORT_LEN 20 // short variable name length