summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Smith <peter.smith@linaro.org>2017-06-27 10:04:04 +0000
committerPeter Smith <peter.smith@linaro.org>2017-06-27 10:04:04 +0000
commit8b3cb34a601c17ed887b9ef221a90852fb9e788c (patch)
tree57328e9fd29b95f08f69e728c9be2e6eb54ae7d2
parentd3f458fc751045f1f53b01ff1a731e9b811a4234 (diff)
[NFC] Update to account for DiagnosticRenderer use of FullSourceLoc
D31709 [NFC] Refactor DiagnosticRenderer to use FullSourceLoc was committed in r305684 and reverted in 305688 as clang-tidy and clang-query failed to build. This change updates the extra tools to use the new interface. Reviewers: christof, rnk, rsmith, rovka, alexfh Reviewed By: alexfh Differential Revision: https://reviews.llvm.org/D34513 git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@306385 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--clang-query/Query.cpp8
-rw-r--r--clang-tidy/ClangTidyDiagnosticConsumer.cpp47
2 files changed, 26 insertions, 29 deletions
diff --git a/clang-query/Query.cpp b/clang-query/Query.cpp
index b3344dad..072ee6b9 100644
--- a/clang-query/Query.cpp
+++ b/clang-query/Query.cpp
@@ -97,10 +97,10 @@ bool MatchQuery::run(llvm::raw_ostream &OS, QuerySession &QS) const {
if (R.isValid()) {
TextDiagnostic TD(OS, AST->getASTContext().getLangOpts(),
&AST->getDiagnostics().getDiagnosticOptions());
- TD.emitDiagnostic(R.getBegin(), DiagnosticsEngine::Note,
- "\"" + BI->first + "\" binds here",
- CharSourceRange::getTokenRange(R), None,
- &AST->getSourceManager());
+ TD.emitDiagnostic(
+ FullSourceLoc(R.getBegin(), AST->getSourceManager()),
+ DiagnosticsEngine::Note, "\"" + BI->first + "\" binds here",
+ CharSourceRange::getTokenRange(R), None);
}
break;
}
diff --git a/clang-tidy/ClangTidyDiagnosticConsumer.cpp b/clang-tidy/ClangTidyDiagnosticConsumer.cpp
index 6bbb9bc4..07933113 100644
--- a/clang-tidy/ClangTidyDiagnosticConsumer.cpp
+++ b/clang-tidy/ClangTidyDiagnosticConsumer.cpp
@@ -36,10 +36,9 @@ public:
: DiagnosticRenderer(LangOpts, DiagOpts), Error(Error) {}
protected:
- void emitDiagnosticMessage(SourceLocation Loc, PresumedLoc PLoc,
+ void emitDiagnosticMessage(FullSourceLoc Loc, PresumedLoc PLoc,
DiagnosticsEngine::Level Level, StringRef Message,
ArrayRef<CharSourceRange> Ranges,
- const SourceManager *SM,
DiagOrStoredDiag Info) override {
// Remove check name from the message.
// FIXME: Remove this once there's a better way to pass check names than
@@ -49,9 +48,10 @@ protected:
if (Message.endswith(CheckNameInMessage))
Message = Message.substr(0, Message.size() - CheckNameInMessage.size());
- auto TidyMessage = Loc.isValid()
- ? tooling::DiagnosticMessage(Message, *SM, Loc)
- : tooling::DiagnosticMessage(Message);
+ auto TidyMessage =
+ Loc.isValid()
+ ? tooling::DiagnosticMessage(Message, Loc.getManager(), Loc)
+ : tooling::DiagnosticMessage(Message);
if (Level == DiagnosticsEngine::Note) {
Error.Notes.push_back(TidyMessage);
return;
@@ -60,15 +60,13 @@ protected:
Error.Message = TidyMessage;
}
- void emitDiagnosticLoc(SourceLocation Loc, PresumedLoc PLoc,
+ void emitDiagnosticLoc(FullSourceLoc Loc, PresumedLoc PLoc,
DiagnosticsEngine::Level Level,
- ArrayRef<CharSourceRange> Ranges,
- const SourceManager &SM) override {}
+ ArrayRef<CharSourceRange> Ranges) override {}
- void emitCodeContext(SourceLocation Loc, DiagnosticsEngine::Level Level,
+ void emitCodeContext(FullSourceLoc Loc, DiagnosticsEngine::Level Level,
SmallVectorImpl<CharSourceRange> &Ranges,
- ArrayRef<FixItHint> Hints,
- const SourceManager &SM) override {
+ ArrayRef<FixItHint> Hints) override {
assert(Loc.isValid());
for (const auto &FixIt : Hints) {
CharSourceRange Range = FixIt.RemoveRange;
@@ -77,7 +75,8 @@ protected:
assert(Range.getBegin().isFileID() && Range.getEnd().isFileID() &&
"Only file locations supported in fix-it hints.");
- tooling::Replacement Replacement(SM, Range, FixIt.CodeToInsert);
+ tooling::Replacement Replacement(Loc.getManager(), Range,
+ FixIt.CodeToInsert);
llvm::Error Err = Error.Fix[Replacement.getFilePath()].add(Replacement);
// FIXME: better error handling (at least, don't let other replacements be
// applied).
@@ -89,16 +88,13 @@ protected:
}
}
- void emitIncludeLocation(SourceLocation Loc, PresumedLoc PLoc,
- const SourceManager &SM) override {}
+ void emitIncludeLocation(FullSourceLoc Loc, PresumedLoc PLoc) override {}
- void emitImportLocation(SourceLocation Loc, PresumedLoc PLoc,
- StringRef ModuleName,
- const SourceManager &SM) override {}
+ void emitImportLocation(FullSourceLoc Loc, PresumedLoc PLoc,
+ StringRef ModuleName) override {}
- void emitBuildingModuleLocation(SourceLocation Loc, PresumedLoc PLoc,
- StringRef ModuleName,
- const SourceManager &SM) override {}
+ void emitBuildingModuleLocation(FullSourceLoc Loc, PresumedLoc PLoc,
+ StringRef ModuleName) override {}
void endDiagnostic(DiagOrStoredDiag D,
DiagnosticsEngine::Level Level) override {
@@ -419,11 +415,12 @@ void ClangTidyDiagnosticConsumer::HandleDiagnostic(
Errors.back());
SmallString<100> Message;
Info.FormatDiagnostic(Message);
- SourceManager *Sources = nullptr;
- if (Info.hasSourceManager())
- Sources = &Info.getSourceManager();
- Converter.emitDiagnostic(Info.getLocation(), DiagLevel, Message,
- Info.getRanges(), Info.getFixItHints(), Sources);
+ FullSourceLoc Loc =
+ (Info.getLocation().isInvalid())
+ ? FullSourceLoc()
+ : FullSourceLoc(Info.getLocation(), Info.getSourceManager());
+ Converter.emitDiagnostic(Loc, DiagLevel, Message, Info.getRanges(),
+ Info.getFixItHints());
checkFilters(Info.getLocation());
}