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')