[clang-tidy] Allow disabling compatibility check for generated fixes.
llvm-svn: 302536
This commit is contained in:
parent
06297e839a
commit
9660d4d328
|
@ -237,9 +237,11 @@ StringRef ClangTidyContext::getCheckName(unsigned DiagnosticID) const {
|
|||
return "";
|
||||
}
|
||||
|
||||
ClangTidyDiagnosticConsumer::ClangTidyDiagnosticConsumer(ClangTidyContext &Ctx)
|
||||
: Context(Ctx), LastErrorRelatesToUserCode(false),
|
||||
LastErrorPassesLineFilter(false), LastErrorWasIgnored(false) {
|
||||
ClangTidyDiagnosticConsumer::ClangTidyDiagnosticConsumer(
|
||||
ClangTidyContext &Ctx, bool RemoveIncompatibleErrors)
|
||||
: Context(Ctx), RemoveIncompatibleErrors(RemoveIncompatibleErrors),
|
||||
LastErrorRelatesToUserCode(false), LastErrorPassesLineFilter(false),
|
||||
LastErrorWasIgnored(false) {
|
||||
IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
|
||||
Diags.reset(new DiagnosticsEngine(
|
||||
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs), &*DiagOpts, this,
|
||||
|
@ -611,7 +613,9 @@ void ClangTidyDiagnosticConsumer::finish() {
|
|||
std::sort(Errors.begin(), Errors.end(), LessClangTidyError());
|
||||
Errors.erase(std::unique(Errors.begin(), Errors.end(), EqualClangTidyError()),
|
||||
Errors.end());
|
||||
removeIncompatibleErrors(Errors);
|
||||
|
||||
if (RemoveIncompatibleErrors)
|
||||
removeIncompatibleErrors(Errors);
|
||||
|
||||
for (const ClangTidyError &Error : Errors)
|
||||
Context.storeError(Error);
|
||||
|
|
|
@ -223,7 +223,8 @@ private:
|
|||
// implementation file.
|
||||
class ClangTidyDiagnosticConsumer : public DiagnosticConsumer {
|
||||
public:
|
||||
ClangTidyDiagnosticConsumer(ClangTidyContext &Ctx);
|
||||
ClangTidyDiagnosticConsumer(ClangTidyContext &Ctx,
|
||||
bool RemoveIncompatibleErrors = true);
|
||||
|
||||
// FIXME: The concept of converting between FixItHints and Replacements is
|
||||
// more generic and should be pulled out into a more useful Diagnostics
|
||||
|
@ -249,6 +250,7 @@ private:
|
|||
bool passesLineFilter(StringRef FileName, unsigned LineNumber) const;
|
||||
|
||||
ClangTidyContext &Context;
|
||||
bool RemoveIncompatibleErrors;
|
||||
std::unique_ptr<DiagnosticsEngine> Diags;
|
||||
SmallVector<ClangTidyError, 8> Errors;
|
||||
std::unique_ptr<llvm::Regex> HeaderFilter;
|
||||
|
|
Loading…
Reference in New Issue