comparison src/vim9class.c @ 34834:d3127b18fe1e v9.1.0286

patch 9.1.0286: Vim9: E1027 with defcompile for abstract methods Commit: https://github.com/vim/vim/commit/1af0fbf955f799392f614bc38f9d2fcbd9960526 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Tue Apr 9 21:39:27 2024 +0200 patch 9.1.0286: Vim9: E1027 with defcompile for abstract methods Problem: Vim9: E1027 with defcompile for abstract methods with non-void return types, but still compiles it (zzzyxwvut) Solution: Don't compile abstract methods (Yegappan Lakshmanan) fixes: #14443 closes: #14447 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Tue, 09 Apr 2024 21:45:04 +0200
parents d4fb6ea26ae4
children 8c9e43278b2c
comparison
equal deleted inserted replaced
34833:0fde4c80d761 34834:d3127b18fe1e
3721 : cl->class_obj_method_count; 3721 : cl->class_obj_method_count;
3722 for (int i = 0; i < func_count; i++) 3722 for (int i = 0; i < func_count; i++)
3723 { 3723 {
3724 ufunc_T *ufunc = loop == 1 ? cl->class_class_functions[i] 3724 ufunc_T *ufunc = loop == 1 ? cl->class_class_functions[i]
3725 : cl->class_obj_methods[i]; 3725 : cl->class_obj_methods[i];
3726 defcompile_function(ufunc, cl); 3726 // Don't compile abstract methods
3727 if (!IS_ABSTRACT_METHOD(ufunc))
3728 defcompile_function(ufunc, cl);
3727 } 3729 }
3728 } 3730 }
3729 } 3731 }
3730 3732
3731 /* 3733 /*