comparison src/testdir/test_vim9_expr.vim @ 27175:6af18c69c59d v8.2.4116

patch 8.2.4116: Vim9: cannot use a method with a complex expression in :def Commit: https://github.com/vim/vim/commit/c73499351aef8b611b13c70ef8706a7e98df67a8 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jan 16 20:59:39 2022 +0000 patch 8.2.4116: Vim9: cannot use a method with a complex expression in :def Problem: Vim9: cannot use a method with a complex expression in a :def function. Solution: Implement compiling the expression.
author Bram Moolenaar <Bram@vim.org>
date Sun, 16 Jan 2022 22:00:04 +0100
parents 04af0c68dba8
children 63f8dbcf6a74
comparison
equal deleted inserted replaced
27174:10acb2602253 27175:6af18c69c59d
3138 assert_equal([1, 2, 3], sorted) 3138 assert_equal([1, 2, 3], sorted)
3139 END 3139 END
3140 CheckDefAndScriptSuccess(lines) 3140 CheckDefAndScriptSuccess(lines)
3141 3141
3142 lines =<< trim END 3142 lines =<< trim END
3143 vim9script
3144 def SetNumber(n: number) 3143 def SetNumber(n: number)
3145 g:number = n 3144 g:number = n
3146 enddef 3145 enddef
3147 const Setit = SetNumber 3146 const Setit = SetNumber
3148 len('text')->Setit() 3147 len('text')->Setit()
3164 len('xxxxx')->SetDict.key() 3163 len('xxxxx')->SetDict.key()
3165 assert_equal(5, g:number) 3164 assert_equal(5, g:number)
3166 3165
3167 unlet g:number 3166 unlet g:number
3168 END 3167 END
3169 CheckScriptSuccess(lines) # TODO: CheckDefAndScriptSuccess() 3168 CheckDefAndScriptSuccess(lines)
3170 3169
3171 lines =<< trim END 3170 lines =<< trim END
3172 def RetVoid() 3171 def RetVoid()
3173 enddef 3172 enddef
3174 RetVoid()->byteidx(3) 3173 RetVoid()->byteidx(3)