Mercurial > vim
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 |