mirror of
https://github.com/vim/vim.git
synced 2025-10-06 05:44:14 -04:00
patch 9.0.1838: Vim9: Cannot modify class member vars from def function
Problem: Vim9: Cannot modify class member vars from def function Solution: Add support for modifying class member variables from a def function closes: #12995 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
This commit is contained in:
committed by
Christian Brabandt
parent
b147d31489
commit
3775f777a6
@@ -3783,4 +3783,28 @@ def Test_readonly_member_change_in_def_func()
|
||||
v9.CheckScriptFailure(lines, 'E46: Cannot change read-only variable "val"')
|
||||
enddef
|
||||
|
||||
" Test for reading and writing a class member from a def function
|
||||
def Test_modify_class_member_from_def_function()
|
||||
var lines =<< trim END
|
||||
vim9script
|
||||
class A
|
||||
this.var1: number = 10
|
||||
public static var2 = 20
|
||||
public static var3 = 30
|
||||
static _priv_var4: number = 40
|
||||
endclass
|
||||
def T()
|
||||
assert_equal(20, A.var2)
|
||||
assert_equal(30, A.var3)
|
||||
A.var2 = 50
|
||||
A.var3 = 60
|
||||
assert_equal(50, A.var2)
|
||||
assert_equal(60, A.var3)
|
||||
assert_fails('echo A._priv_var4', 'E1333: Cannot access private member: _priv_var4')
|
||||
enddef
|
||||
T()
|
||||
END
|
||||
v9.CheckScriptSuccess(lines)
|
||||
enddef
|
||||
|
||||
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
|
||||
|
Reference in New Issue
Block a user