diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-06-18 22:18:18 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-06-18 22:18:18 +0200 |
commit | 0779fab2979d6d055ba3c464f1c2b9d90dc9e49f (patch) | |
tree | ffb8a09814a4a667086a26ade06b552d3039bb31 | |
parent | c8cb883015619cfe6db931ac2d6e15b0be5c56ed (diff) | |
download | vim-git-0779fab2979d6d055ba3c464f1c2b9d90dc9e49f.tar.gz |
patch 8.2.1008: Vim9: no test for disassambling newly added instructionsv8.2.1008
Problem: Vim9: no test for disassambling newly added instructions.
Solution: Add a function and check disassembly.
-rw-r--r-- | src/testdir/test_vim9_disassemble.vim | 36 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 38 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim index 2e541d9f9..557b90bcc 100644 --- a/src/testdir/test_vim9_disassemble.vim +++ b/src/testdir/test_vim9_disassemble.vim @@ -185,6 +185,42 @@ def Test_disassemble_store_member() res) enddef +def s:ListAssign() + let x: string + let y: string + let l: list<any> + [x, y; l] = g:stringlist +enddef + +def Test_disassemble_list_assign() + let res = execute('disass s:ListAssign') + assert_match('<SNR>\d*_ListAssign\_s*' .. + 'let x: string\_s*' .. + '\d PUSHS "\[NULL\]"\_s*' .. + '\d STORE $0\_s*' .. + 'let y: string\_s*' .. + '\d PUSHS "\[NULL\]"\_s*' .. + '\d STORE $1\_s*' .. + 'let l: list<any>\_s*' .. + '\d NEWLIST size 0\_s*' .. + '\d STORE $2\_s*' .. + '\[x, y; l\] = g:stringlist\_s*' .. + '\d LOADG g:stringlist\_s*' .. + '\d CHECKTYPE list stack\[-1\]\_s*' .. + '\d CHECKLEN >= 2\_s*' .. + '\d\+ ITEM 0\_s*' .. + '\d\+ CHECKTYPE string stack\[-1\]\_s*' .. + '\d\+ STORE $0\_s*' .. + '\d\+ ITEM 1\_s*' .. + '\d\+ CHECKTYPE string stack\[-1\]\_s*' .. + '\d\+ STORE $1\_s*' .. + '\d\+ SLICE 2\_s*' .. + '\d\+ STORE $2\_s*' .. + '\d\+ PUSHNR 0\_s*' .. + '\d\+ RETURN', + res) +enddef + def s:ScriptFuncUnlet() g:somevar = "value" unlet g:somevar diff --git a/src/version.c b/src/version.c index 6ea02b95a..a3fedf1cd 100644 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1008, +/**/ 1007, /**/ 1006, |