Mercurial > vim
comparison src/testdir/test_vim9_disassemble.vim @ 23072:4b398a229b0b v8.2.2082
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Commit: https://github.com/vim/vim/commit/e0de171ecd2ff7acd56deda2cf81f0d13a69c803
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Dec 2 17:36:54 2020 +0100
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Problem: Vim9: can still use the depricated #{} dict syntax.
Solution: Remove support for #{} in Vim9 script. (closes https://github.com/vim/vim/issues/7406, closes https://github.com/vim/vim/issues/7405)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 02 Dec 2020 17:45:05 +0100 |
parents | a943b175586a |
children | 6aa8ddf7a3fa |
comparison
equal
deleted
inserted
replaced
23071:20dac5998fa6 | 23072:4b398a229b0b |
---|---|
388 res) | 388 res) |
389 enddef | 389 enddef |
390 | 390 |
391 def s:ScriptFuncNew() | 391 def s:ScriptFuncNew() |
392 var ll = [1, "two", 333] | 392 var ll = [1, "two", 333] |
393 var dd = #{one: 1, two: "val"} | 393 var dd = {one: 1, two: "val"} |
394 enddef | 394 enddef |
395 | 395 |
396 def Test_disassemble_new() | 396 def Test_disassemble_new() |
397 var res = execute('disass s:ScriptFuncNew') | 397 var res = execute('disass s:ScriptFuncNew') |
398 assert_match('<SNR>\d*_ScriptFuncNew\_s*' .. | 398 assert_match('<SNR>\d*_ScriptFuncNew\_s*' .. |
400 '\d PUSHNR 1\_s*' .. | 400 '\d PUSHNR 1\_s*' .. |
401 '\d PUSHS "two"\_s*' .. | 401 '\d PUSHS "two"\_s*' .. |
402 '\d PUSHNR 333\_s*' .. | 402 '\d PUSHNR 333\_s*' .. |
403 '\d NEWLIST size 3\_s*' .. | 403 '\d NEWLIST size 3\_s*' .. |
404 '\d STORE $0\_s*' .. | 404 '\d STORE $0\_s*' .. |
405 'var dd = #{one: 1, two: "val"}\_s*' .. | 405 'var dd = {one: 1, two: "val"}\_s*' .. |
406 '\d PUSHS "one"\_s*' .. | 406 '\d PUSHS "one"\_s*' .. |
407 '\d PUSHNR 1\_s*' .. | 407 '\d PUSHNR 1\_s*' .. |
408 '\d PUSHS "two"\_s*' .. | 408 '\d PUSHS "two"\_s*' .. |
409 '\d PUSHS "val"\_s*' .. | 409 '\d PUSHS "val"\_s*' .. |
410 '\d NEWDICT size 2\_s*', | 410 '\d NEWDICT size 2\_s*', |
1290 instr) | 1290 instr) |
1291 assert_equal([2, 3], ListSlice()) | 1291 assert_equal([2, 3], ListSlice()) |
1292 enddef | 1292 enddef |
1293 | 1293 |
1294 def DictMember(): number | 1294 def DictMember(): number |
1295 var d = #{item: 1} | 1295 var d = {item: 1} |
1296 var res = d.item | 1296 var res = d.item |
1297 res = d["item"] | 1297 res = d["item"] |
1298 return res | 1298 return res |
1299 enddef | 1299 enddef |
1300 | 1300 |
1301 def Test_disassemble_dict_member() | 1301 def Test_disassemble_dict_member() |
1302 var instr = execute('disassemble DictMember') | 1302 var instr = execute('disassemble DictMember') |
1303 assert_match('DictMember\_s*' .. | 1303 assert_match('DictMember\_s*' .. |
1304 'var d = #{item: 1}\_s*' .. | 1304 'var d = {item: 1}\_s*' .. |
1305 '\d PUSHS "item"\_s*' .. | 1305 '\d PUSHS "item"\_s*' .. |
1306 '\d PUSHNR 1\_s*' .. | 1306 '\d PUSHNR 1\_s*' .. |
1307 '\d NEWDICT size 1\_s*' .. | 1307 '\d NEWDICT size 1\_s*' .. |
1308 '\d STORE $0\_s*' .. | 1308 '\d STORE $0\_s*' .. |
1309 'var res = d.item\_s*' .. | 1309 'var res = d.item\_s*' .. |
1471 ['[1, 2] == aList', 'COMPARELIST =='], | 1471 ['[1, 2] == aList', 'COMPARELIST =='], |
1472 ['[1, 2] != aList', 'COMPARELIST !='], | 1472 ['[1, 2] != aList', 'COMPARELIST !='], |
1473 ['[1, 2] is aList', 'COMPARELIST is'], | 1473 ['[1, 2] is aList', 'COMPARELIST is'], |
1474 ['[1, 2] isnot aList', 'COMPARELIST isnot'], | 1474 ['[1, 2] isnot aList', 'COMPARELIST isnot'], |
1475 | 1475 |
1476 ['#{a: 1} == aDict', 'COMPAREDICT =='], | 1476 ['{a: 1} == aDict', 'COMPAREDICT =='], |
1477 ['#{a: 1} != aDict', 'COMPAREDICT !='], | 1477 ['{a: 1} != aDict', 'COMPAREDICT !='], |
1478 ['#{a: 1} is aDict', 'COMPAREDICT is'], | 1478 ['{a: 1} is aDict', 'COMPAREDICT is'], |
1479 ['#{a: 1} isnot aDict', 'COMPAREDICT isnot'], | 1479 ['{a: 1} isnot aDict', 'COMPAREDICT isnot'], |
1480 | 1480 |
1481 ['{->33} == {->44}', 'COMPAREFUNC =='], | 1481 ['{->33} == {->44}', 'COMPAREFUNC =='], |
1482 ['{->33} != {->44}', 'COMPAREFUNC !='], | 1482 ['{->33} != {->44}', 'COMPAREFUNC !='], |
1483 ['{->33} is {->44}', 'COMPAREFUNC is'], | 1483 ['{->33} is {->44}', 'COMPAREFUNC is'], |
1484 ['{->33} isnot {->44}', 'COMPAREFUNC isnot'], | 1484 ['{->33} isnot {->44}', 'COMPAREFUNC isnot'], |
1517 ' var isNull = v:null', | 1517 ' var isNull = v:null', |
1518 ' var aNumber = 222', | 1518 ' var aNumber = 222', |
1519 ' var aString = "yy"', | 1519 ' var aString = "yy"', |
1520 ' var aBlob = 0z22', | 1520 ' var aBlob = 0z22', |
1521 ' var aList = [3, 4]', | 1521 ' var aList = [3, 4]', |
1522 ' var aDict = #{x: 2}', | 1522 ' var aDict = {x: 2}', |
1523 floatDecl, | 1523 floatDecl, |
1524 ' if ' .. case[0], | 1524 ' if ' .. case[0], |
1525 ' echo 42' | 1525 ' echo 42' |
1526 ' endif', | 1526 ' endif', |
1527 'enddef'], 'Xdisassemble') | 1527 'enddef'], 'Xdisassemble') |