-
Notifications
You must be signed in to change notification settings - Fork 15.2k
[clang-tidy][NFC] Use llvm::DenseMap #167050
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@llvm/pr-subscribers-clang-tools-extra Author: Baranov Victor (vbvictor) ChangesFull diff: https://github.com/llvm/llvm-project/pull/167050.diff 1 Files Affected:
diff --git a/clang-tools-extra/clang-tidy/objc/AssertEquals.cpp b/clang-tools-extra/clang-tidy/objc/AssertEquals.cpp
index 0871558b92569..dc4573a8f064e 100644
--- a/clang-tools-extra/clang-tidy/objc/AssertEquals.cpp
+++ b/clang-tools-extra/clang-tidy/objc/AssertEquals.cpp
@@ -8,7 +8,6 @@
#include "AssertEquals.h"
-#include <map>
#include <string>
using namespace clang::ast_matchers;
@@ -16,8 +15,8 @@ using namespace clang::ast_matchers;
namespace clang::tidy::objc {
// Mapping from `XCTAssert*Equal` to `XCTAssert*EqualObjects` name.
-static const std::map<std::string, std::string> &nameMap() {
- static const std::map<std::string, std::string> Map{
+static const llvm::DenseMap<std::string, std::string> &nameMap() {
+ static const llvm::DenseMap<std::string, std::string> Map{
{"XCTAssertEqual", "XCTAssertEqualObjects"},
{"XCTAssertNotEqual", "XCTAssertNotEqualObjects"},
@@ -26,34 +25,34 @@ static const std::map<std::string, std::string> &nameMap() {
}
void AssertEquals::registerMatchers(MatchFinder *Finder) {
- for (const auto &Pair : nameMap()) {
+ for (const auto &[CurrName, _] : nameMap()) {
Finder->addMatcher(
binaryOperator(anyOf(hasOperatorName("!="), hasOperatorName("==")),
- isExpandedFromMacro(Pair.first),
+ isExpandedFromMacro(CurrName),
anyOf(hasLHS(hasType(qualType(
hasCanonicalType(asString("NSString *"))))),
hasRHS(hasType(qualType(
hasCanonicalType(asString("NSString *"))))))
)
- .bind(Pair.first),
+ .bind(CurrName),
this);
}
}
void AssertEquals::check(const ast_matchers::MatchFinder::MatchResult &Result) {
- for (const auto &Pair : nameMap()) {
- if (const auto *Root = Result.Nodes.getNodeAs<BinaryOperator>(Pair.first)) {
+ for (const auto &[CurrName, TargetName] : nameMap()) {
+ if (const auto *Root = Result.Nodes.getNodeAs<BinaryOperator>(CurrName)) {
const SourceManager *Sm = Result.SourceManager;
// The macros are nested two levels, so going up twice.
auto MacroCallsite = Sm->getImmediateMacroCallerLoc(
Sm->getImmediateMacroCallerLoc(Root->getBeginLoc()));
- diag(MacroCallsite, "use " + Pair.second + " for comparing objects")
+ diag(MacroCallsite, "use " + TargetName + " for comparing objects")
<< FixItHint::CreateReplacement(
clang::CharSourceRange::getCharRange(
MacroCallsite,
- MacroCallsite.getLocWithOffset(Pair.first.length())),
- Pair.second);
+ MacroCallsite.getLocWithOffset(CurrName.length())),
+ TargetName);
}
}
}
|
|
@llvm/pr-subscribers-clang-tidy Author: Baranov Victor (vbvictor) ChangesFull diff: https://github.com/llvm/llvm-project/pull/167050.diff 1 Files Affected:
diff --git a/clang-tools-extra/clang-tidy/objc/AssertEquals.cpp b/clang-tools-extra/clang-tidy/objc/AssertEquals.cpp
index 0871558b92569..dc4573a8f064e 100644
--- a/clang-tools-extra/clang-tidy/objc/AssertEquals.cpp
+++ b/clang-tools-extra/clang-tidy/objc/AssertEquals.cpp
@@ -8,7 +8,6 @@
#include "AssertEquals.h"
-#include <map>
#include <string>
using namespace clang::ast_matchers;
@@ -16,8 +15,8 @@ using namespace clang::ast_matchers;
namespace clang::tidy::objc {
// Mapping from `XCTAssert*Equal` to `XCTAssert*EqualObjects` name.
-static const std::map<std::string, std::string> &nameMap() {
- static const std::map<std::string, std::string> Map{
+static const llvm::DenseMap<std::string, std::string> &nameMap() {
+ static const llvm::DenseMap<std::string, std::string> Map{
{"XCTAssertEqual", "XCTAssertEqualObjects"},
{"XCTAssertNotEqual", "XCTAssertNotEqualObjects"},
@@ -26,34 +25,34 @@ static const std::map<std::string, std::string> &nameMap() {
}
void AssertEquals::registerMatchers(MatchFinder *Finder) {
- for (const auto &Pair : nameMap()) {
+ for (const auto &[CurrName, _] : nameMap()) {
Finder->addMatcher(
binaryOperator(anyOf(hasOperatorName("!="), hasOperatorName("==")),
- isExpandedFromMacro(Pair.first),
+ isExpandedFromMacro(CurrName),
anyOf(hasLHS(hasType(qualType(
hasCanonicalType(asString("NSString *"))))),
hasRHS(hasType(qualType(
hasCanonicalType(asString("NSString *"))))))
)
- .bind(Pair.first),
+ .bind(CurrName),
this);
}
}
void AssertEquals::check(const ast_matchers::MatchFinder::MatchResult &Result) {
- for (const auto &Pair : nameMap()) {
- if (const auto *Root = Result.Nodes.getNodeAs<BinaryOperator>(Pair.first)) {
+ for (const auto &[CurrName, TargetName] : nameMap()) {
+ if (const auto *Root = Result.Nodes.getNodeAs<BinaryOperator>(CurrName)) {
const SourceManager *Sm = Result.SourceManager;
// The macros are nested two levels, so going up twice.
auto MacroCallsite = Sm->getImmediateMacroCallerLoc(
Sm->getImmediateMacroCallerLoc(Root->getBeginLoc()));
- diag(MacroCallsite, "use " + Pair.second + " for comparing objects")
+ diag(MacroCallsite, "use " + TargetName + " for comparing objects")
<< FixItHint::CreateReplacement(
clang::CharSourceRange::getCharRange(
MacroCallsite,
- MacroCallsite.getLocWithOffset(Pair.first.length())),
- Pair.second);
+ MacroCallsite.getLocWithOffset(CurrName.length())),
+ TargetName);
}
}
}
|
|
✅ With the latest revision this PR passed the C/C++ code linter. |
bf7905c to
6858da2
Compare
| Finder->addMatcher( | ||
| binaryOperator(anyOf(hasOperatorName("!="), hasOperatorName("==")), | ||
| isExpandedFromMacro(Pair.first), | ||
| isExpandedFromMacro(std::string(CurrName)), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will make isExpandedFromMacro accept StringRef in another PR and remove this.
No description provided.