Mercurial > irccd
annotate vera/rules/T006.tcl @ 655:cda30ca5bb76
Irccd: style (controller) #782
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 27 Mar 2018 20:30:59 +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 # Keywords return and throw should be immediately followed by a semicolon or a single space |
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 foreach f [getSourceFileNames] { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 foreach t [getTokens $f 1 0 -1 -1 {return throw}] { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 set keyword [lindex $t 0] |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 set line [lindex $t 1] |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 set column [lindex $t 2] |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 set followingTokens [getTokens $f $line [expr $column + [string length $keyword]] [expr $line + 1] 0 {}] |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 if {$followingTokens == {}} { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 report $f $line "keyword '${keyword}' not immediately followed by a semicolon or a single space" |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 } else { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 set first [lindex [lindex $followingTokens 0] 0] |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 if {$first != ";" && $first != " "} { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 if {!([llength $followingTokens] >= 2 && $keyword == "throw" && $first == "(" && [lindex [lindex $followingTokens 1] 0] == ")")} { |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 report $f $line "keyword '${keyword}' not immediately followed by a semicolon or a single space" |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 } |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 } |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 } |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 } |
6ec510722582
CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 } |