Mercurial > irccd
annotate vera/rules/T004.tcl @ 680:900ca2f95838
Irccd: do not allow multiple server with same name
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 12 Apr 2018 20:45:02 +0200 |
parents | 6ec510722582 |
children |
rev | line source |
---|---|
510
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 #!/usr/bin/tclsh |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # Some keywords should be immediately followed by a colon |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 set keywords { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 default |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 private |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 protected |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 public |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 } |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 proc isKeyword {s} { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 global keywords |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 return [expr [lsearch $keywords $s] != -1] |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 } |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 foreach f [getSourceFileNames] { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 set lastKeywordLine 0 |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 set lastKeywordColumn 0 |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 set lastKeywordValue "" |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 set last "" |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 foreach t [getTokens $f 1 0 -1 -1 [concat $keywords colon]] { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 set tokenValue [lindex $t 0] |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 set tokenName [lindex $t 3] |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 if {$tokenName == "colon"} { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 if {$last == "keyword" && $lastKeywordLine != 0} { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 set line [lindex $t 1] |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 set column [lindex $t 2] |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 if {$line != $lastKeywordLine || |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 $column != [expr $lastKeywordColumn + [string length $lastKeywordValue]]} { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 set nonWhiteFound "false" |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 foreach tb [getTokens $f $lastKeywordLine [expr $lastKeywordColumn + 1] $line $column {}] { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 set tbName [lindex $tb 3] |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 if {[lsearch {space newline ccomment cppcomment} $tbName] == -1} { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 set nonWhiteFound "true" |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 break |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 } |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 } |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 if {$nonWhiteFound == "false"} { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 report $f $line "colon not immediately after the \'$lastKeywordValue\' keyword" |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 } |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 } |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 } |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 set last "colon" |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 } else { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 set lastKeywordLine [lindex $t 1] |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 set lastKeywordColumn [lindex $t 2] |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 set lastKeywordValue $tokenValue |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 set last "keyword" |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 } |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 } |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 } |