Mercurial > embed
annotate vera/rules/T017.tcl @ 71:26304c6e4b69
mstch: import 1.0.2
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 18 Jul 2018 12:31:28 +0200 |
parents | 82b832e1875d |
children |
rev | line source |
---|---|
57
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 #!/usr/bin/tclsh |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # Unnamed namespaces are not allowed in header files |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 foreach fileName [getSourceFileNames] { |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 set extension [file extension $fileName] |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 if {[lsearch {.h .hh .hpp .hxx .ipp} $extension] != -1} { |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 set state "start" |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 foreach token [getTokens $fileName 1 0 -1 -1 {namespace identifier leftbrace}] { |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 set type [lindex $token 3] |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 if {$state == "namespace" && $type == "leftbrace"} { |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 report $fileName $namespaceLine "unnamed namespace not allowed in header file" |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 } |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 if {$type == "namespace"} { |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 set namespaceLine [lindex $token 1] |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 } |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 set state $type |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 } |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 } |
82b832e1875d
vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 } |