Skip to content

Commit bf7905c

Browse files
committed
[clang-tidy][NFC] Use llvm::DenseMap
1 parent 74e34ef commit bf7905c

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

clang-tools-extra/clang-tidy/objc/AssertEquals.cpp

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,15 @@
88

99
#include "AssertEquals.h"
1010

11-
#include <map>
1211
#include <string>
1312

1413
using namespace clang::ast_matchers;
1514

1615
namespace clang::tidy::objc {
1716

1817
// Mapping from `XCTAssert*Equal` to `XCTAssert*EqualObjects` name.
19-
static const std::map<std::string, std::string> &nameMap() {
20-
static const std::map<std::string, std::string> Map{
18+
static const llvm::DenseMap<std::string, std::string> &nameMap() {
19+
static const llvm::DenseMap<std::string, std::string> Map{
2120
{"XCTAssertEqual", "XCTAssertEqualObjects"},
2221
{"XCTAssertNotEqual", "XCTAssertNotEqualObjects"},
2322

@@ -26,34 +25,34 @@ static const std::map<std::string, std::string> &nameMap() {
2625
}
2726

2827
void AssertEquals::registerMatchers(MatchFinder *Finder) {
29-
for (const auto &Pair : nameMap()) {
28+
for (const auto &[CurrName, _] : nameMap()) {
3029
Finder->addMatcher(
3130
binaryOperator(anyOf(hasOperatorName("!="), hasOperatorName("==")),
32-
isExpandedFromMacro(Pair.first),
31+
isExpandedFromMacro(CurrName),
3332
anyOf(hasLHS(hasType(qualType(
3433
hasCanonicalType(asString("NSString *"))))),
3534
hasRHS(hasType(qualType(
3635
hasCanonicalType(asString("NSString *"))))))
3736

3837
)
39-
.bind(Pair.first),
38+
.bind(CurrName),
4039
this);
4140
}
4241
}
4342

4443
void AssertEquals::check(const ast_matchers::MatchFinder::MatchResult &Result) {
45-
for (const auto &Pair : nameMap()) {
46-
if (const auto *Root = Result.Nodes.getNodeAs<BinaryOperator>(Pair.first)) {
44+
for (const auto &[CurrName, TargetName] : nameMap()) {
45+
if (const auto *Root = Result.Nodes.getNodeAs<BinaryOperator>(CurrName)) {
4746
const SourceManager *Sm = Result.SourceManager;
4847
// The macros are nested two levels, so going up twice.
4948
auto MacroCallsite = Sm->getImmediateMacroCallerLoc(
5049
Sm->getImmediateMacroCallerLoc(Root->getBeginLoc()));
51-
diag(MacroCallsite, "use " + Pair.second + " for comparing objects")
50+
diag(MacroCallsite, "use " + TargetName + " for comparing objects")
5251
<< FixItHint::CreateReplacement(
5352
clang::CharSourceRange::getCharRange(
5453
MacroCallsite,
55-
MacroCallsite.getLocWithOffset(Pair.first.length())),
56-
Pair.second);
54+
MacroCallsite.getLocWithOffset(CurrName.length())),
55+
TargetName);
5756
}
5857
}
5958
}

0 commit comments

Comments
 (0)