mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 9.0.1178: a child class cannot override functions from a base class
Problem: A child class cannot override functions from a base class. Solution: Allow overriding and implement "super".
This commit is contained in:
@@ -1465,6 +1465,7 @@ typedef struct {
|
||||
#define TTFLAG_NUMBER_OK 0x04 // tt_type is VAR_FLOAT, VAR_NUMBER is OK
|
||||
#define TTFLAG_STATIC 0x08 // one of the static types, e.g. t_any
|
||||
#define TTFLAG_CONST 0x10 // cannot be changed
|
||||
#define TTFLAG_SUPER 0x20 // object from "super".
|
||||
|
||||
typedef enum {
|
||||
ACCESS_PRIVATE, // read/write only inside th class
|
||||
@@ -1506,7 +1507,8 @@ struct class_S
|
||||
typval_T *class_members_tv; // allocated array of class member vals
|
||||
|
||||
// class functions: "static def SomeMethod()"
|
||||
int class_class_function_count;
|
||||
int class_class_function_count; // total count
|
||||
int class_class_function_count_child; // count without "extends"
|
||||
ufunc_T **class_class_functions; // allocated
|
||||
|
||||
// object members: "this.varname"
|
||||
@@ -1514,7 +1516,8 @@ struct class_S
|
||||
ocmember_T *class_obj_members; // allocated
|
||||
|
||||
// object methods: "def SomeMethod()"
|
||||
int class_obj_method_count;
|
||||
int class_obj_method_count; // total count
|
||||
int class_obj_method_count_child; // count without "extends"
|
||||
ufunc_T **class_obj_methods; // allocated
|
||||
|
||||
garray_T class_type_list; // used for type pointers
|
||||
|
Reference in New Issue
Block a user