0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

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>
This commit is contained in:
Yegappan Lakshmanan
2023-09-08 19:27:51 +02:00
committed by Christian Brabandt
parent 86cfb39030
commit 7bcd25cad3
9 changed files with 275 additions and 15 deletions

View File

@@ -1515,6 +1515,7 @@ struct itf2class_S {
#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 @@ struct ufunc_S
#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