Mercurial > vim
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 /* |