Mercurial > malikania
annotate vera/rules/T017.tcl @ 82:ee850a6ab89e
Client: namespace and hierarchy
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sun, 22 Jan 2017 11:07:36 +0100 |
parents | 0edaba9986ba |
children |
rev | line source |
---|---|
54
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 #!/usr/bin/tclsh |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # Unnamed namespaces are not allowed in header files |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 foreach fileName [getSourceFileNames] { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 set extension [file extension $fileName] |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 if {[lsearch {.h .hh .hpp .hxx .ipp} $extension] != -1} { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 set state "start" |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 foreach token [getTokens $fileName 1 0 -1 -1 {namespace identifier leftbrace}] { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 set type [lindex $token 3] |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 if {$state == "namespace" && $type == "leftbrace"} { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 report $fileName $namespaceLine "unnamed namespace not allowed in header file" |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 } |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 if {$type == "namespace"} { |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 set namespaceLine [lindex $token 1] |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 } |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 set state $type |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 } |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 } |
0edaba9986ba
CMake: add vera++, closes 602
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 } |