patch 9.0.1569: cannot use "this.member" in lambda in class method
Problem: Cannot use "this.member" in lambda in class method.
Solution: Adjust check for reserved keyword. (Hirohito Higashi,
closes #12416, closes #12076, closes #12336)
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index 1aee9e0..d89b14e 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -856,6 +856,27 @@
END
v9.CheckScriptSuccess(lines)
+ # access private member in lambda body
+ lines =<< trim END
+ vim9script
+
+ class Foo
+ this._x: number = 6
+
+ def Add(n: number): number
+ var Lam = () => {
+ this._x = this._x + n
+ }
+ Lam()
+ return this._x
+ enddef
+ endclass
+
+ var foo = Foo.new()
+ assert_equal(13, foo.Add(7))
+ END
+ v9.CheckScriptSuccess(lines)
+
# check shadowing
lines =<< trim END
vim9script