Clang: Add diagnostics

Diagnostics are now moved to the clang backend process. Fixits are
supported too.

Change-Id: I20faacf466bbf78dec479220c3d7b336a47bc453
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This commit is contained in:
Marco Bubke
2015-08-31 16:28:26 +02:00
parent 8dfa9a5dab
commit b278dc87ca
84 changed files with 3633 additions and 132 deletions

View File

@@ -31,6 +31,7 @@
#include "translationunit.h"
#include "codecompleter.h"
#include "diagnosticset.h"
#include "projectpart.h"
#include "translationunitfilenotexitexception.h"
#include "translationunitisnullexception.h"
@@ -99,7 +100,7 @@ void TranslationUnit::reset()
d.reset();
}
void TranslationUnit::reparse()
void TranslationUnit::reparse() const
{
cxTranslationUnit();
@@ -143,11 +144,25 @@ const Utf8String &TranslationUnit::projectPartId() const
return d->projectPart.projectPartId();
}
FileContainer TranslationUnit::fileContainer() const
{
checkIfNull();
return FileContainer(d->filePath, d->projectPart.projectPartId());
}
const time_point &TranslationUnit::lastChangeTimePoint() const
{
return d->lastChangeTimePoint;
}
DiagnosticSet TranslationUnit::diagnostics() const
{
reparse();
return DiagnosticSet(clang_getDiagnosticSetFromTU(cxTranslationUnit()));
}
void TranslationUnit::checkIfNull() const
{
if (isNull())
@@ -215,8 +230,7 @@ void TranslationUnit::reparseTranslationUnit() const
int TranslationUnit::defaultOptions()
{
return CXTranslationUnit_CacheCompletionResults
| CXTranslationUnit_PrecompiledPreamble
| CXTranslationUnit_SkipFunctionBodies;
| CXTranslationUnit_PrecompiledPreamble;
}
uint TranslationUnit::unsavedFilesCount() const