patch 9.0.1292: :defer may call the wrong method for an object
Problem: :defer may call the wrong method for an object. (Ernie Rael)
Solution: When en object is from a class that extends or implements, figure
out the method to call at runtime. (closes #11910)
diff --git a/src/vim9.h b/src/vim9.h
index fd98bb5..4df97c6 100644
--- a/src/vim9.h
+++ b/src/vim9.h
@@ -380,6 +380,8 @@
typedef struct {
char_u *fre_func_name; // function name for legacy function
loopvarinfo_T fre_loopvar_info; // info about variables inside loops
+ class_T *fre_class; // class for a method
+ int fre_method_idx; // method index on "fre_class"
} funcref_extra_T;
// arguments to ISN_FUNCREF