comparison src/testdir/test_vim9_disassemble.vim @ 24430:fe71212fd202 v8.2.2755

patch 8.2.2755: Vim9: no error for using a number in a condition Commit: https://github.com/vim/vim/commit/af8ea0d066d31cf3cd0a39c5c49ce0342728588d Author: Bram Moolenaar <Bram@vim.org> Date: Sun Apr 11 18:24:46 2021 +0200 patch 8.2.2755: Vim9: no error for using a number in a condition Problem: Vim9: no error for using a number in a condition. Solution: Also use ISN_COND2BOOL if the type is t_number_bool. (closes #7644)
author Bram Moolenaar <Bram@vim.org>
date Sun, 11 Apr 2021 18:30:05 +0200
parents cabed216cc2f
children b5fbe8280853
comparison
equal deleted inserted replaced
24429:72b285e88c65 24430:fe71212fd202
768 # GUI not running but can start later, call has() 768 # GUI not running but can start later, call has()
769 instr_expected = 'HasGuiRunning.*' .. 769 instr_expected = 'HasGuiRunning.*' ..
770 'if has("gui_running")\_s*' .. 770 'if has("gui_running")\_s*' ..
771 '\d PUSHS "gui_running"\_s*' .. 771 '\d PUSHS "gui_running"\_s*' ..
772 '\d BCALL has(argc 1)\_s*' .. 772 '\d BCALL has(argc 1)\_s*' ..
773 '\d 2BOOL (!!val)\_s*' .. 773 '\d COND2BOOL\_s*' ..
774 '\d JUMP_IF_FALSE -> \d\_s*' .. 774 '\d JUMP_IF_FALSE -> \d\_s*' ..
775 ' echo "yes"\_s*' .. 775 ' echo "yes"\_s*' ..
776 '\d PUSHS "yes"\_s*' .. 776 '\d PUSHS "yes"\_s*' ..
777 '\d ECHO 1\_s*' .. 777 '\d ECHO 1\_s*' ..
778 'else\_s*' .. 778 'else\_s*' ..
1535 def Test_disassemble_return_bool() 1535 def Test_disassemble_return_bool()
1536 var instr = execute('disassemble ReturnBool') 1536 var instr = execute('disassemble ReturnBool')
1537 assert_match('ReturnBool\_s*' .. 1537 assert_match('ReturnBool\_s*' ..
1538 'var name: bool = 1 && 0 || 1\_s*' .. 1538 'var name: bool = 1 && 0 || 1\_s*' ..
1539 '0 PUSHNR 1\_s*' .. 1539 '0 PUSHNR 1\_s*' ..
1540 '1 2BOOL (!!val)\_s*' .. 1540 '1 COND2BOOL\_s*' ..
1541 '2 JUMP_IF_COND_FALSE -> 5\_s*' .. 1541 '2 JUMP_IF_COND_FALSE -> 5\_s*' ..
1542 '3 PUSHNR 0\_s*' .. 1542 '3 PUSHNR 0\_s*' ..
1543 '4 2BOOL (!!val)\_s*' .. 1543 '4 COND2BOOL\_s*' ..
1544 '5 JUMP_IF_COND_TRUE -> 8\_s*' .. 1544 '5 JUMP_IF_COND_TRUE -> 8\_s*' ..
1545 '6 PUSHNR 1\_s*' .. 1545 '6 PUSHNR 1\_s*' ..
1546 '7 2BOOL (!!val)\_s*' .. 1546 '7 COND2BOOL\_s*' ..
1547 '\d STORE $0\_s*' .. 1547 '\d STORE $0\_s*' ..
1548 'return name\_s*' .. 1548 'return name\_s*' ..
1549 '\d\+ LOAD $0\_s*' .. 1549 '\d\+ LOAD $0\_s*' ..
1550 '\d\+ RETURN', 1550 '\d\+ RETURN',
1551 instr) 1551 instr)