alexfh requested changes to this revision.
This revision now requires changes to proceed.
================
Comment at: clang-tidy/ClangTidy.cpp:129
@@ -128,22 +128,3 @@
<< Message.Message << Name;
- for (const tooling::Replacement &Fix : Error.Fix) {
- // Retrieve the source range for applicable fixes. Macro definitions
- // on the command line have locations in a virtual buffer and don't
- // have valid file paths and are therefore not applicable.
- SourceRange Range;
- SourceLocation FixLoc;
- if (Fix.isApplicable()) {
- SmallString<128> FixAbsoluteFilePath = Fix.getFilePath();
- Files.makeAbsolutePath(FixAbsoluteFilePath);
- FixLoc = getLocation(FixAbsoluteFilePath, Fix.getOffset());
- SourceLocation FixEndLoc = FixLoc.getLocWithOffset(Fix.getLength());
- Range = SourceRange(FixLoc, FixEndLoc);
- Diag << FixItHint::CreateReplacement(Range,
Fix.getReplacementText());
- }
-
- ++TotalFixes;
- if (ApplyFixes) {
- bool Success = Fix.isApplicable() && Fix.apply(Rewrite);
- if (Success)
- ++AppliedFixes;
- FixLocations.push_back(std::make_pair(FixLoc, Success));
+ for (const auto &FileAndFixes : Error.Fix) {
+ for (const auto &Fix : FileAndFixes.second) {
----------------
s/Fixes/Replacements/
================
Comment at: clang-tidy/ClangTidyDiagnosticConsumer.cpp:80
@@ -79,3 +79,3 @@
- auto Err =
- Error.Fix.add(tooling::Replacement(SM, Range, FixIt.CodeToInsert));
+ tooling::Replacement replace(SM, Range, FixIt.CodeToInsert);
+ auto Err = Error.Fix[replace.getFilePath()].add(replace);
----------------
nit: 1. `replace` is a verb; 2. variable names should start with a capital.
`Replacement` would be better.
================
Comment at: test/clang-tidy/modernize-pass-by-value-multi-fixes.cpp:1
@@ +1,2 @@
+// RUN: cp %S/Inputs/modernize-pass-by-value/header-with-fix.h
%T/pass-by-value-header-with-fix.h
+// RUN: sed -e 's#//.*$##' %s > %t.cpp
----------------
I think, `cat x > y` is preferred over `cp x y` in lit tests as a more
platform-agnostic way of copying files.
https://reviews.llvm.org/D23257
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits