patch 9.1.1099: Vim9: import with extends may crash
Problem: Vim9: import with extends may crash, v9.1.1087 wasn't the
correct way to fix it)
Solution: When using an import class, Check for a valid class member
variable at compile time (Yegappan Lakshmanan)
related: #16601
closes: #16603
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/vim9compile.c b/src/vim9compile.c
index aa3e17e..be26c9b 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -2496,9 +2496,10 @@
lhs->lhs_type = cctx->ctx_type_stack.ga_len == 0 ? &t_void
: get_type_on_stack(cctx, 0);
- if (lhs->lhs_type->tt_type == VAR_OBJECT)
+ if (lhs->lhs_type->tt_type == VAR_CLASS
+ || lhs->lhs_type->tt_type == VAR_OBJECT)
{
- // Check whether the object variable is modifiable
+ // Check whether the class or object variable is modifiable
if (!lhs_class_member_modifiable(lhs, var_start, cctx))
return FAIL;
}