@@ -387,15 +387,17 @@ class RenameRangeDetailCollector : public Renamer {
387387};
388388
389389class TextReplacementsRenamer : public Renamer {
390- llvm::StringMap< char > &ReplaceTextContext;
390+ llvm::StringSet< > &ReplaceTextContext;
391391 std::vector<Replacement> Replacements;
392392
393393public:
394394 const DeclNameViewer New;
395395
396396private:
397397 StringRef registerText (StringRef Text) {
398- return ReplaceTextContext.insert ({Text, char ()}).first ->getKey ();
398+ if (Text.empty ())
399+ return Text;
400+ return ReplaceTextContext.insert (Text).first ->getKey ();
399401 }
400402
401403 StringRef getCallArgLabelReplacement (StringRef OldLabelRange,
@@ -497,7 +499,7 @@ class TextReplacementsRenamer : public Renamer {
497499public:
498500 TextReplacementsRenamer (const SourceManager &SM, StringRef OldName,
499501 StringRef NewName,
500- llvm::StringMap< char > &ReplaceTextContext)
502+ llvm::StringSet< > &ReplaceTextContext)
501503 : Renamer(SM, OldName), ReplaceTextContext(ReplaceTextContext),
502504 New (NewName) {
503505 assert (Old.isValid () && New.isValid ());
@@ -3295,7 +3297,7 @@ int swift::ide::syntacticRename(SourceFile *SF, ArrayRef<RenameLoc> RenameLocs,
32953297 return true ; // Already diagnosed.
32963298
32973299 size_t index = 0 ;
3298- llvm::StringMap< char > ReplaceTextContext;
3300+ llvm::StringSet< > ReplaceTextContext;
32993301 for (const RenameLoc &Rename: RenameLocs) {
33003302 ResolvedLoc &Resolved = ResolvedLocs[index++];
33013303 TextReplacementsRenamer Renamer (SM, Rename.OldName , Rename.NewName ,
0 commit comments