Mercurial > vim
comparison src/proto/vim9class.pro @ 34472:5c1a025192ed v9.1.0148
patch 9.1.0148: Vim9: can't call internal methods with objects
Commit: https://github.com/vim/vim/commit/d3eae7bc116297f70220f21ded436ed0a88066d8
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Sun Mar 3 16:26:58 2024 +0100
patch 9.1.0148: Vim9: can't call internal methods with objects
Problem: Vim9: can't call internal methods with objects
Solution: Add support for empty(), len() and string() function
calls for objects (Yegappan Lakshmanan)
closes: #14129
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 03 Mar 2024 16:45:06 +0100 |
parents | 0f2632b04cde |
children | 5b25ec43f208 |
comparison
equal
deleted
inserted
replaced
34471:7f6302969e3d | 34472:5c1a025192ed |
---|---|
1 /* vim9class.c */ | 1 /* vim9class.c */ |
2 int object_index_from_itf_index(class_T *itf, int is_method, int idx, class_T *cl); | 2 int object_index_from_itf_index(class_T *itf, int is_method, int idx, class_T *cl); |
3 int is_valid_builtin_obj_methodname(char_u *funcname); | |
4 ufunc_T *class_get_builtin_method(class_T *cl, class_builtin_T builtin_method, int *method_idx); | |
3 void ex_class(exarg_T *eap); | 5 void ex_class(exarg_T *eap); |
4 type_T *oc_member_type(class_T *cl, int is_object, char_u *name, char_u *name_end, int *member_idx); | 6 type_T *oc_member_type(class_T *cl, int is_object, char_u *name, char_u *name_end, int *member_idx); |
5 type_T *oc_member_type_by_idx(class_T *cl, int is_object, int member_idx); | 7 type_T *oc_member_type_by_idx(class_T *cl, int is_object, int member_idx); |
6 void ex_enum(exarg_T *eap); | 8 void ex_enum(exarg_T *eap); |
7 void typealias_free(typealias_T *ta); | 9 void typealias_free(typealias_T *ta); |
32 void method_not_found_msg(class_T *cl, vartype_T v_type, char_u *name, size_t len); | 34 void method_not_found_msg(class_T *cl, vartype_T v_type, char_u *name, size_t len); |
33 void member_not_found_msg(class_T *cl, vartype_T v_type, char_u *name, size_t len); | 35 void member_not_found_msg(class_T *cl, vartype_T v_type, char_u *name, size_t len); |
34 void defcompile_class(class_T *cl); | 36 void defcompile_class(class_T *cl); |
35 void defcompile_classes_in_script(void); | 37 void defcompile_classes_in_script(void); |
36 int is_class_name(char_u *name, typval_T *rettv); | 38 int is_class_name(char_u *name, typval_T *rettv); |
39 void protected_method_access_errmsg(char_u *method_name); | |
40 int object_empty(object_T *obj); | |
41 int object_len(object_T *obj); | |
42 char_u *object_string(object_T *obj, char_u *numbuf, int copyID, int echo_style, int restore_copyID, int composite_val); | |
37 int class_instance_of(class_T *cl, class_T *other_cl); | 43 int class_instance_of(class_T *cl, class_T *other_cl); |
38 void f_instanceof(typval_T *argvars, typval_T *rettv); | 44 void f_instanceof(typval_T *argvars, typval_T *rettv); |
39 /* vim: set ft=c : */ | 45 /* vim: set ft=c : */ |