]> git.ipfire.org Git - thirdparty/vim.git/commit
patch 9.0.1780: Vim9 type not defined during object creation v9.0.1780
authorYegappan Lakshmanan <yegappan@yahoo.com>
Tue, 22 Aug 2023 19:29:28 +0000 (21:29 +0200)
committerChristian Brabandt <cb@256bit.org>
Tue, 22 Aug 2023 19:29:28 +0000 (21:29 +0200)
commit618e47d1cd93954bad26d47e5353b4f1432daa5e
tree56be8ec254e3039862771c0a046c7fbb4ac3ffc1
parent8dabccd295271104ad5af0abc48e283d644cff59
patch 9.0.1780: Vim9 type not defined during object creation

Problem:  Vim9 type not defined during object creation
Solution: Define type during object creation and not during class
          definition, parse mulit-line member initializers, fix lock
          initialization

If type is not specified for a member, set it during object creation
instead of during class definition.  Add a runtime type check for the
object member initialization expression

Also, while at it, when copying an object or class, make sure the lock
is correctly initialized.

And finally, parse multi-line member initializers correctly.

closes: #11957
closes: #12868
closes: #12869
closes: #12881

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
runtime/doc/vim9class.txt
src/testdir/test_vim9_class.vim
src/version.c
src/vim9class.c
src/vim9compile.c