Clang: Report only diagnostics that can be shown in the editor

Change-Id: I9c258159d240c6ba7eeff34702d8512d9220b3af
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
This commit is contained in:
Nikolai Kosjar
2015-09-18 17:01:32 +02:00
parent 439db76f64
commit f7741ef63c
16 changed files with 278 additions and 10 deletions

View File

@@ -138,7 +138,7 @@ DiagnosticSet Diagnostic::childDiagnostics() const
return DiagnosticSet(clang_getChildDiagnostics(cxDiagnostic));
}
DiagnosticContainer Diagnostic::toDiagnosticContainer() const
DiagnosticContainer Diagnostic::toDiagnosticContainer(const IsAcceptedDiagnostic &isAcceptedChildDiagnostic) const
{
return DiagnosticContainer(text(),
category(),
@@ -147,7 +147,14 @@ DiagnosticContainer Diagnostic::toDiagnosticContainer() const
location().toSourceLocationContainer(),
getSourceRangeContainers(),
getFixItContainers(),
childDiagnostics().toDiagnosticContainers());
childDiagnostics().toDiagnosticContainers(isAcceptedChildDiagnostic));
}
DiagnosticContainer Diagnostic::toDiagnosticContainer() const
{
const auto acceptAllDiagnostics = [](const Diagnostic &) { return true; };
return toDiagnosticContainer(acceptAllDiagnostics);
}
QVector<SourceRangeContainer> Diagnostic::getSourceRangeContainers() const