Mercurial > vim
diff src/testdir/test_vim9_disassemble.vim @ 25634:27cb2e79ccde v8.2.3353
patch 8.2.3353: Vim9: type of argument for negate not checked at compile time
Commit: https://github.com/vim/vim/commit/cd6b4f300189b4920f7ee7f0204338e91210674b
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Aug 15 20:36:28 2021 +0200
patch 8.2.3353: Vim9: type of argument for negate not checked at compile time
Problem: Vim9: type of argument for negate not checked at compile time.
Solution: Add a compile time check.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 15 Aug 2021 20:45:04 +0200 |
parents | 6f13d9ea0d04 |
children | 7b80b25a5c2b |
line wrap: on
line diff
--- a/src/testdir/test_vim9_disassemble.vim +++ b/src/testdir/test_vim9_disassemble.vim @@ -1680,25 +1680,27 @@ def Test_disassemble_any_slice() enddef def NegateNumber(): number - var nr = 9 - var plus = +nr - var res = -nr - return res + g:nr = 9 + var plus = +g:nr + var minus = -g:nr + return minus enddef def Test_disassemble_negate_number() var instr = execute('disassemble NegateNumber') assert_match('NegateNumber\_s*' .. - 'var nr = 9\_s*' .. - '\d STORE 9 in $0\_s*' .. - 'var plus = +nr\_s*' .. - '\d LOAD $0\_s*' .. - '\d CHECKNR\_s*' .. - '\d STORE $1\_s*' .. - 'var res = -nr\_s*' .. - '\d LOAD $0\_s*' .. + 'g:nr = 9\_s*' .. + '\d PUSHNR 9\_s*' .. + '\d STOREG g:nr\_s*' .. + 'var plus = +g:nr\_s*' .. + '\d LOADG g:nr\_s*' .. + '\d CHECKTYPE number stack\[-1\]\_s*' .. + '\d STORE $0\_s*' .. + 'var minus = -g:nr\_s*' .. + '\d LOADG g:nr\_s*' .. + '\d CHECKTYPE number stack\[-1\]\_s*' .. '\d NEGATENR\_s*' .. - '\d STORE $2\_s*', + '\d STORE $1\_s*', instr) assert_equal(-9, NegateNumber()) enddef