Merge pull request #19292 from jrose-apple/get-out-the-map

Minor improvements to the use of StringMap/StringSet
This commit is contained in:
Jordan Rose
2018-09-14 10:52:59 -07:00
committed by GitHub
13 changed files with 27 additions and 57 deletions

View File

@@ -387,7 +387,7 @@ public:
};
class TextReplacementsRenamer : public Renamer {
llvm::StringMap<char> &ReplaceTextContext;
llvm::StringSet<> &ReplaceTextContext;
std::vector<Replacement> Replacements;
public:
@@ -395,7 +395,9 @@ public:
private:
StringRef registerText(StringRef Text) {
return ReplaceTextContext.insert({Text, char()}).first->getKey();
if (Text.empty())
return Text;
return ReplaceTextContext.insert(Text).first->getKey();
}
StringRef getCallArgLabelReplacement(StringRef OldLabelRange,
@@ -497,7 +499,7 @@ private:
public:
TextReplacementsRenamer(const SourceManager &SM, StringRef OldName,
StringRef NewName,
llvm::StringMap<char> &ReplaceTextContext)
llvm::StringSet<> &ReplaceTextContext)
: Renamer(SM, OldName), ReplaceTextContext(ReplaceTextContext),
New(NewName) {
assert(Old.isValid() && New.isValid());
@@ -3295,7 +3297,7 @@ int swift::ide::syntacticRename(SourceFile *SF, ArrayRef<RenameLoc> RenameLocs,
return true; // Already diagnosed.
size_t index = 0;
llvm::StringMap<char> ReplaceTextContext;
llvm::StringSet<> ReplaceTextContext;
for(const RenameLoc &Rename: RenameLocs) {
ResolvedLoc &Resolved = ResolvedLocs[index++];
TextReplacementsRenamer Renamer(SM, Rename.OldName, Rename.NewName,