comparison src/testdir/test_vim9_class.vim @ 31649:520857d1fda7 v9.0.1157

patch 9.0.1157: "implements" only handles one interface name Commit: https://github.com/vim/vim/commit/df8f9473596c8fb18ec893de677dba455e8925b3 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 7 14:51:03 2023 +0000 patch 9.0.1157: "implements" only handles one interface name Problem: "implements" only handles one interface name. Solution: Handle a comma separated list of names. Check for duplicate names.
author Bram Moolenaar <Bram@vim.org>
date Sat, 07 Jan 2023 16:00:05 +0100
parents fc259e8db5bf
children ec76f9d2319e
comparison
equal deleted inserted replaced
31648:0dbf2cc7b334 31649:520857d1fda7
625 static count: number 625 static count: number
626 def Method(nr: number) 626 def Method(nr: number)
627 echo nr 627 echo nr
628 enddef 628 enddef
629 endclass 629 endclass
630 END 630
631 v9.CheckScriptSuccess(lines) 631 interface Another
632 this.member: string
633 endinterface
634
635 class SomeImpl implements Some, Another
636 this.member = 'abc'
637 static count: number
638 def Method(nr: number)
639 echo nr
640 enddef
641 endclass
642
643 END
644 v9.CheckScriptSuccess(lines)
645
646 lines =<< trim END
647 vim9script
648
649 interface Some
650 static counter: number
651 endinterface
652
653 class SomeImpl implements Some implements Some
654 static count: number
655 endclass
656 END
657 v9.CheckScriptFailure(lines, 'E1350:')
658
659 lines =<< trim END
660 vim9script
661
662 interface Some
663 static counter: number
664 endinterface
665
666 class SomeImpl implements Some, Some
667 static count: number
668 endclass
669 END
670 v9.CheckScriptFailure(lines, 'E1351: Duplicate interface after "implements": Some')
632 671
633 lines =<< trim END 672 lines =<< trim END
634 vim9script 673 vim9script
635 674
636 interface Some 675 interface Some