[PATCH] Fix replacements for files with relative paths are not applied.
klimek at google.com
Sun Sep 29 09:26:53 PDT 2013
Comment at: lib/Tooling/Refactoring.cpp:108-112
@@ -105,3 +107,7 @@
const FileEntry *Entry = Sources.getFileEntryForID(DecomposedLocation.first);
- this->FilePath = Entry != NULL ? Entry->getName() : InvalidLocation;
+ // Make FilePath absolute so replacements can be applied correctly when
+ // relative paths for files are used.
+ llvm::SmallString<256> FilePath(Entry->getName());
+ this->FilePath = FilePath.c_str();
this->ReplacementRange = Range(DecomposedLocation.second, Length);
Ariel Bernal wrote:
> Manuel Klimek wrote:
> > 1. was it intentional that you removed the Entry != NULL check?
> > 2. please add a regression test
> No it wasn't, it was a mistake, I fixed it and added a regression test. The problem is that this patch breaks many other tests in c-index-test and also some unit tests.
Which ones and why? The easiest way to review that would be if you included the fixes for all breaking tests in the patch :D
More information about the cfe-commits