[clang-tools-extra] [clang-tidy][NFC] Use llvm::DenseMap (PR #167050)

Baranov Victor via cfe-commits cfe-commits at lists.llvm.org
Fri Nov 7 15:50:54 PST 2025


================
@@ -7,53 +7,48 @@
 //===----------------------------------------------------------------------===//
 
 #include "AssertEquals.h"
+#include "llvm/ADT/StringMap.h"
 
-#include <map>
 #include <string>
 
 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{
-      {"XCTAssertEqual", "XCTAssertEqualObjects"},
-      {"XCTAssertNotEqual", "XCTAssertNotEqualObjects"},
-
-  };
-  return Map;
-}
+static const llvm::StringMap<StringRef> NameMap{
+    {"XCTAssertEqual", "XCTAssertEqualObjects"},
+    {"XCTAssertNotEqual", "XCTAssertNotEqualObjects"},
+};
 
 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(std::string(CurrName)),
----------------
vbvictor wrote:

Will make `isExpandedFromMacro` accept `StringRef` in another PR and remove this.

https://github.com/llvm/llvm-project/pull/167050


More information about the cfe-commits mailing list