END
v9.CheckScriptSuccess(lines)
+ # using static class member twice
+ lines =<< trim END
+ vim9script
+
+ class HTML
+ static author: string = 'John Doe'
+
+ static def MacroSubstitute(s: string): string
+ return substitute(s, '{{author}}', author, 'gi')
+ enddef
+ endclass
+
+ assert_equal('some text', HTML.MacroSubstitute('some text'))
+ assert_equal('some text', HTML.MacroSubstitute('some text'))
+ END
+ v9.CheckScriptSuccess(lines)
+
# access private member in lambda
lines =<< trim END
vim9script
if (GA_GROW_FAILS(&ectx->ec_stack, 1))
goto theend;
classmember_T *cm = &iptr->isn_arg.classmember;
- *STACK_TV_BOT(0) =
- cm->cm_class->class_members_tv[cm->cm_idx];
+ copy_tv(cm->cm_class->class_members_tv + cm->cm_idx,
+ STACK_TV_BOT(0));
++ectx->ec_stack.ga_len;
}
break;