Mercurial > irccd
annotate extern/vera/src/plugins/Exclusions.cpp @ 655:cda30ca5bb76
Irccd: style (controller) #782
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 27 Mar 2018 20:30:59 +0200 |
parents | a7c0eb100760 |
children |
rev | line source |
---|---|
548
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 // |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 // Copyright (C) 2006-2007 Maciej Sobczak |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 // Distributed under the Boost Software License, Version 1.0. |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 // (See accompanying file LICENSE_1_0.txt or copy at |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 // http://www.boost.org/LICENSE_1_0.txt) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 // |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 #include "Exclusions.h" |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 #include "Rules.h" |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 #include "../structures/SourceFiles.h" |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 #include "tcl/cpptcl-1.1.4/cpptcl.h" |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 #include <fstream> |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 #include <sstream> |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 #include <cstring> |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 #include <cerrno> |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 #include <boost/regex.hpp> |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 #include <boost/lexical_cast.hpp> |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 #include <boost/foreach.hpp> |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 #define foreach BOOST_FOREACH |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 namespace // unnamed |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 typedef std::set<Vera::Structures::SourceFiles::FileName> FileNameSet; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 typedef std::map<Vera::Plugins::Rules::RuleName, FileNameSet> ExclusionMap; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 ExclusionMap exclusions; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 typedef std::vector<boost::regex> RegexList; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 RegexList exclusionRegexs; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 } // unnamed namespace |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 namespace Vera |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 namespace Plugins |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 void Exclusions::setExclusions(const ExclusionFileName & fileName) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 try |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 setExclusionsTcl(fileName); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 catch (...) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 setExclusionsRegex(fileName); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 void Exclusions::setExclusionsRegex(const ExclusionFileName & fileName) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 std::ifstream exclusionsFile(fileName.c_str()); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 if (exclusionsFile.is_open() == false) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 std::ostringstream ss; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 ss << "Cannot open exclusions file " << fileName << ": " |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 << strerror(errno); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 throw ExclusionError(ss.str()); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 std::string re; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 while (std::getline(exclusionsFile, re)) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 // don't process empty lines and lines begining with a # |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 if (re.empty() == false && re.substr(0, 1) != "#") |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 exclusionRegexs.push_back(boost::regex(re)); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 if (exclusionsFile.bad()) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 throw std::runtime_error( |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 "Cannot read from " + fileName + ": " + strerror(errno)); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 void Exclusions::setExclusionsTcl(const ExclusionFileName & fileName) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 std::ifstream exclusionsFile(fileName.c_str()); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 if (exclusionsFile.is_open() == false) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
83 std::ostringstream ss; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 ss << "Cannot open exclusions file " << fileName << ": " |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 << strerror(errno); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 throw ExclusionError(ss.str()); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 Tcl::interpreter interp; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 interp.eval(exclusionsFile); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 if (exclusionsFile.bad()) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 throw std::runtime_error( |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
94 "Cannot read from " + fileName + ": " + strerror(errno)); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 const Tcl::object ruleNames = interp.eval("array names ruleExclusions"); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 const size_t ruleNamesLength = ruleNames.length(interp); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
99 for (size_t i = 0; i != ruleNamesLength; ++i) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 const std::string ruleName = ruleNames.at(interp, i).get(); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
102 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
103 const Tcl::object exceptionList = interp.eval("set ruleExclusions(" + ruleName + ")"); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
104 const size_t exceptionListLength = exceptionList.length(interp); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
105 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
106 FileNameSet files; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 for (size_t j = 0; j != exceptionListLength; ++j) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
108 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
109 const Structures::SourceFiles::FileName file = exceptionList.at(interp, j).get(); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 files.insert(file); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
112 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
113 exclusions[ruleName] = files; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
115 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
116 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
117 bool Exclusions::isExcluded(const Structures::SourceFiles::FileName & name, |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
118 int lineNumber, const Rules::RuleName & currentRule, const std::string & msg) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
119 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
120 std::string fmsg = name + ":" + boost::lexical_cast<std::string>(lineNumber) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
121 + ": " + currentRule + ": " + msg; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
122 foreach(boost::regex const& re, exclusionRegexs) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
123 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
124 if (boost::regex_search(fmsg, re)) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
125 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
126 return true; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
127 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
129 return false; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
130 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
131 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
132 bool Exclusions::isExcluded(const Structures::SourceFiles::FileName & name) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
133 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
134 const Rules::RuleName currentRule = Rules::getCurrentRule(); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
135 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
136 const ExclusionMap::const_iterator eit = exclusions.find(currentRule); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
137 if (eit != exclusions.end()) |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
138 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
139 const FileNameSet & files = eit->second; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
140 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
141 const FileNameSet::const_iterator fit = |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
142 files.find(name.substr(name.find_last_of("\\/") + 1)); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
143 return fit != files.end(); |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
144 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
145 else |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
146 { |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
147 return false; |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
149 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
150 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
151 } |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
152 |
a7c0eb100760
CMake: import vera++ 1.3.0, closes #729
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
153 } |