]> granicus.if.org Git - clang/commitdiff
[Tooling] Use UniqueStringSaver. NFC
authorSam McCall <sam.mccall@gmail.com>
Mon, 23 Jul 2018 11:25:25 +0000 (11:25 +0000)
committerSam McCall <sam.mccall@gmail.com>
Mon, 23 Jul 2018 11:25:25 +0000 (11:25 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@337682 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Tooling/Execution.h
lib/Tooling/Execution.cpp

index 71c97f3db13ea71290978640837aa42eedb9a750..68aef53cb58f3195ae879c5a03a13377d50ffd34 100644 (file)
@@ -57,7 +57,7 @@ public:
 /// set of different results, or a large set of duplicated results.
 class InMemoryToolResults : public ToolResults {
 public:
-  InMemoryToolResults() : StringsPool(Arena) {}
+  InMemoryToolResults() : Strings(Arena) {}
   void addResult(StringRef Key, StringRef Value) override;
   std::vector<std::pair<llvm::StringRef, llvm::StringRef>>
   AllKVResults() override;
@@ -66,8 +66,7 @@ public:
 
 private:
   llvm::BumpPtrAllocator Arena;
-  llvm::StringSaver StringsPool;
-  llvm::DenseSet<llvm::StringRef> Strings;
+  llvm::UniqueStringSaver Strings;
 
   std::vector<std::pair<llvm::StringRef, llvm::StringRef>> KVResults;
 };
index 5d6559fb2b435d1a20690f2049dc4e8c63630f94..7ae67747acb2c4351850136703adb3c534ea23bb 100644 (file)
@@ -21,16 +21,7 @@ static llvm::cl::opt<std::string>
                  llvm::cl::init("standalone"));
 
 void InMemoryToolResults::addResult(StringRef Key, StringRef Value) {
-  auto Intern = [&](StringRef &V) {
-    auto R = Strings.insert(V);
-    if (R.second) { // A new entry, create a new string copy.
-      *R.first = StringsPool.save(V);
-    }
-    V = *R.first;
-  };
-  Intern(Key);
-  Intern(Value);
-  KVResults.push_back({Key, Value});
+  KVResults.push_back({Strings.save(Key), Strings.save(Value)});
 }
 
 std::vector<std::pair<llvm::StringRef, llvm::StringRef>>