annotate runtime/syntax/ipfilter.vim @ 33278:b5ed566262d3 v9.0.1906

patch 9.0.1906: Vim9: Interfaces should not support class methods and variables Commit: https://github.com/vim/vim/commit/92d9ee5f4ca0d2de04c39afbafc7609da43fb2e9 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Sun Sep 17 17:03:19 2023 +0200 patch 9.0.1906: Vim9: Interfaces should not support class methods and variables Problem: Vim9: Interfaces should not support class methods and variables Solution: Make sure interface follow the interface specification Vim9 interface changes to follow the new interface specification: 1) An interface can have only read-only and read-write instance variables. 2) An interface can have only public instance methods. 3) An interface cannot have class variables and class methods. 4) An interface cannot have private instance variables and private instance methods. 5) A interface can extend another interface using "extends". The sub-interface gets all the variables and methods in the super interface. That means: - Interfaces should not support class methods and variables. - Adjust error numbers and add additional tests. - Interface methods can be defined in one of the super classes. - Interface variables can be defined in one of the super classes. and instance variables can be repeated in sub interfaces. - Check the class variable types with the type in interface. closes: #13100 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
author Christian Brabandt <cb@256bit.org>
date Sun, 17 Sep 2023 17:15:06 +0200
parents 1e9e9d89f0ee
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " ipfilter syntax file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 " Language: ipfilter configuration file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 " Maintainer: Hendrik Scholz <hendrik@scholz.net>
29193
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
4 " Last Change: 2022 Jun 14
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 "
146
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
6 " http://www.wormulon.net/files/misc/ipfilter.vim
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 " This will also work for OpenBSD pf but there might be some tags that are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 " not correctly identified.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 " Please send comments to hendrik@scholz.net
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 146
diff changeset
12 " quit when a syntax file was already loaded
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 146
diff changeset
13 if exists("b:current_syntax")
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16
146
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
17 " Comment
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
18 syn match IPFComment /#.*$/ contains=ipfTodo
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
19 syn keyword IPFTodo TODO XXX FIXME contained
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
146
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
21 syn keyword IPFActionBlock block
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
22 syn keyword IPFActionPass pass
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
23 syn keyword IPFProto tcp udp icmp
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
24 syn keyword IPFSpecial quick log first
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
25 " how could we use keyword for words with '-' ?
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
26 syn match IPFSpecial /return-rst/
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
27 syn match IPFSpecial /dup-to/
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
28 "syn match IPFSpecial /icmp-type unreach/
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
29 syn keyword IPFAny all any
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
30 syn match IPFIPv4 /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
31 syn match IPFNetmask /\/\d\+/
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32
146
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
33 " service name constants
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
34 syn keyword IPFService auth bgp domain finger ftp http https ident
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
35 syn keyword IPFService imap irc isakmp kerberos mail nameserver nfs
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
36 syn keyword IPFService nntp ntp pop3 portmap pptp rpcbind rsync smtp
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
37 syn keyword IPFService snmp snmptrap socks ssh sunrpc syslog telnet
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
38 syn keyword IPFService tftp www
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
39
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
40 " Comment
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
41 hi def link IPFComment Comment
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
42 hi def link IPFTodo Todo
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
43
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
44 hi def link IPFService Constant
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
45
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
46 hi def link IPFAction Type
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 hi def link ipfActionBlock String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 hi def link ipfActionPass Type
146
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
49 hi def link IPFSpecial Statement
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
50 hi def link IPFIPv4 Label
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
51 hi def link IPFNetmask String
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
52 hi def link IPFAny Statement
5cc0aca13a3f updated for version 7.0046
vimboss
parents: 128
diff changeset
53 hi def link IPFProto Identifier
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54
29193
1e9e9d89f0ee Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 10048
diff changeset
55 let b:current_syntax = 'ipfilter'