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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }