Mercurial > vim
view src/testdir/vim9.vim @ 20397:c225be44692a v8.2.0753
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Commit: https://github.com/vim/vim/commit/32e351179eacfc84f64cd5029e221582d400bb38
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu May 14 22:41:15 2020 +0200
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Problem: Vim9: expressions are evaluated in the discovery phase.
Solution: Bail out if an expression is not a constant. Require a type for
declared constants.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 14 May 2020 22:45:04 +0200 |
parents | ce1b73835822 |
children | 489cb75c76b6 |
line wrap: on
line source
" Utility functions for testing vim9 script " Check that "lines" inside ":def" results in an "error" message. func CheckDefFailure(lines, error) call writefile(['def Func()'] + a:lines + ['enddef'], 'Xdef') call assert_fails('so Xdef', a:error, a:lines) call delete('Xdef') endfunc " Check that "lines" inside ":def" results in an "error" message when executed. func CheckDefExecFailure(lines, error) call writefile(['def Func()'] + a:lines + ['enddef'], 'Xdef') so Xdef call assert_fails('call Func()', a:error, a:lines) call delete('Xdef') endfunc def CheckScriptFailure(lines: list<string>, error: string) writefile(lines, 'Xdef') assert_fails('so Xdef', error, lines) delete('Xdef') enddef def CheckScriptSuccess(lines: list<string>) writefile(lines, 'Xdef') so Xdef delete('Xdef') enddef