comparison src/testdir/test_vim9_disassemble.vim @ 23414:9bd3873b13e2 v8.2.2250

patch 8.2.2250: Vim9: sublist is ambiguous Commit: https://github.com/vim/vim/commit/de4f95b04134f6dfd10f60051a5078fd903a297d Author: Bram Moolenaar <Bram@vim.org> Date: Wed Dec 30 20:39:21 2020 +0100 patch 8.2.2250: Vim9: sublist is ambiguous Problem: Vim9: sublist is ambiguous. Solution: Require white space around the colon. (closes https://github.com/vim/vim/issues/7409)
author Bram Moolenaar <Bram@vim.org>
date Wed, 30 Dec 2020 20:45:03 +0100
parents 7951c5098e8e
children 5807e3958e38
comparison
equal deleted inserted replaced
23413:490f599d5bbc 23414:9bd3873b13e2
1283 assert_equal('b', StringIndex()) 1283 assert_equal('b', StringIndex())
1284 enddef 1284 enddef
1285 1285
1286 def StringSlice(): string 1286 def StringSlice(): string
1287 var s = "abcd" 1287 var s = "abcd"
1288 var res = s[1:8] 1288 var res = s[1 : 8]
1289 return res 1289 return res
1290 enddef 1290 enddef
1291 1291
1292 def Test_disassemble_string_slice() 1292 def Test_disassemble_string_slice()
1293 var instr = execute('disassemble StringSlice') 1293 var instr = execute('disassemble StringSlice')
1294 assert_match('StringSlice\_s*' .. 1294 assert_match('StringSlice\_s*' ..
1295 'var s = "abcd"\_s*' .. 1295 'var s = "abcd"\_s*' ..
1296 '\d PUSHS "abcd"\_s*' .. 1296 '\d PUSHS "abcd"\_s*' ..
1297 '\d STORE $0\_s*' .. 1297 '\d STORE $0\_s*' ..
1298 'var res = s\[1:8]\_s*' .. 1298 'var res = s\[1 : 8]\_s*' ..
1299 '\d LOAD $0\_s*' .. 1299 '\d LOAD $0\_s*' ..
1300 '\d PUSHNR 1\_s*' .. 1300 '\d PUSHNR 1\_s*' ..
1301 '\d PUSHNR 8\_s*' .. 1301 '\d PUSHNR 8\_s*' ..
1302 '\d STRSLICE\_s*' .. 1302 '\d STRSLICE\_s*' ..
1303 '\d STORE $1\_s*', 1303 '\d STORE $1\_s*',
1329 assert_equal(2, ListIndex()) 1329 assert_equal(2, ListIndex())
1330 enddef 1330 enddef
1331 1331
1332 def ListSlice(): list<number> 1332 def ListSlice(): list<number>
1333 var l = [1, 2, 3] 1333 var l = [1, 2, 3]
1334 var res = l[1:8] 1334 var res = l[1 : 8]
1335 return res 1335 return res
1336 enddef 1336 enddef
1337 1337
1338 def Test_disassemble_list_slice() 1338 def Test_disassemble_list_slice()
1339 var instr = execute('disassemble ListSlice') 1339 var instr = execute('disassemble ListSlice')
1342 '\d PUSHNR 1\_s*' .. 1342 '\d PUSHNR 1\_s*' ..
1343 '\d PUSHNR 2\_s*' .. 1343 '\d PUSHNR 2\_s*' ..
1344 '\d PUSHNR 3\_s*' .. 1344 '\d PUSHNR 3\_s*' ..
1345 '\d NEWLIST size 3\_s*' .. 1345 '\d NEWLIST size 3\_s*' ..
1346 '\d STORE $0\_s*' .. 1346 '\d STORE $0\_s*' ..
1347 'var res = l\[1:8]\_s*' .. 1347 'var res = l\[1 : 8]\_s*' ..
1348 '\d LOAD $0\_s*' .. 1348 '\d LOAD $0\_s*' ..
1349 '\d PUSHNR 1\_s*' .. 1349 '\d PUSHNR 1\_s*' ..
1350 '\d PUSHNR 8\_s*' .. 1350 '\d PUSHNR 8\_s*' ..
1351 '\d LISTSLICE\_s*' .. 1351 '\d LISTSLICE\_s*' ..
1352 '\d STORE $1\_s*', 1352 '\d STORE $1\_s*',
1403 instr) 1403 instr)
1404 assert_equal(3, AnyIndex()) 1404 assert_equal(3, AnyIndex())
1405 enddef 1405 enddef
1406 1406
1407 def AnySlice(): list<number> 1407 def AnySlice(): list<number>
1408 var res = g:somelist[1:3] 1408 var res = g:somelist[1 : 3]
1409 return res 1409 return res
1410 enddef 1410 enddef
1411 1411
1412 def Test_disassemble_any_slice() 1412 def Test_disassemble_any_slice()
1413 var instr = execute('disassemble AnySlice') 1413 var instr = execute('disassemble AnySlice')
1414 assert_match('AnySlice\_s*' .. 1414 assert_match('AnySlice\_s*' ..
1415 'var res = g:somelist\[1:3\]\_s*' .. 1415 'var res = g:somelist\[1 : 3\]\_s*' ..
1416 '\d LOADG g:somelist\_s*' .. 1416 '\d LOADG g:somelist\_s*' ..
1417 '\d PUSHNR 1\_s*' .. 1417 '\d PUSHNR 1\_s*' ..
1418 '\d PUSHNR 3\_s*' .. 1418 '\d PUSHNR 3\_s*' ..
1419 '\d ANYSLICE\_s*' .. 1419 '\d ANYSLICE\_s*' ..
1420 '\d STORE $0\_s*' .. 1420 '\d STORE $0\_s*' ..