summaryrefslogtreecommitdiffstats
path: root/src/proto
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2024-01-12 17:36:40 +0100
committerChristian Brabandt <cb@256bit.org>2024-01-12 17:41:09 +0100
commit4f32c83a775a195ae7e1545b2840fb773f93414f (patch)
treed9519e67920220913c08fee59ccc63f7c37572c0 /src/proto
parent8610f74382039c9c54d6c4aeb978d252e762360a (diff)
patch 9.1.0020: Vim9: cannot compile all methods in a classv9.1.0020
Problem: Vim9: cannot compile all methods in a class Solution: Support compiling all the methods in a class using :defcompile (Yegappan Lakshmanan) closes: #13844 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/proto')
-rw-r--r--src/proto/userfunc.pro1
-rw-r--r--src/proto/vim9class.pro3
2 files changed, 4 insertions, 0 deletions
diff --git a/src/proto/userfunc.pro b/src/proto/userfunc.pro
index e393c04707..9bb461663e 100644
--- a/src/proto/userfunc.pro
+++ b/src/proto/userfunc.pro
@@ -50,6 +50,7 @@ void list_functions(regmatch_T *regmatch);
ufunc_T *define_function(exarg_T *eap, char_u *name_arg, garray_T *lines_to_free, int class_flags, ocmember_T *obj_members, int obj_member_count);
void ex_function(exarg_T *eap);
ufunc_T *find_func_by_name(char_u *name, compiletype_T *compile_type);
+void defcompile_function(ufunc_T *ufunc, class_T *cl);
void ex_defcompile(exarg_T *eap);
int eval_fname_script(char_u *p);
int translated_function_exists(char_u *name, int is_global);
diff --git a/src/proto/vim9class.pro b/src/proto/vim9class.pro
index f1b63602a7..a746eb7729 100644
--- a/src/proto/vim9class.pro
+++ b/src/proto/vim9class.pro
@@ -31,6 +31,9 @@ void object_free_items(int copyID);
void emsg_var_cl_define(char *msg, char_u *name, size_t len, class_T *cl);
void method_not_found_msg(class_T *cl, vartype_T v_type, char_u *name, size_t len);
void member_not_found_msg(class_T *cl, vartype_T v_type, char_u *name, size_t len);
+void defcompile_class(class_T *cl);
+void defcompile_classes_in_script(void);
+int is_class_name(char_u *name, typval_T *rettv);
int class_instance_of(class_T *cl, class_T *other_cl);
void f_instanceof(typval_T *argvars, typval_T *rettv);
/* vim: set ft=c : */