forked from qt-creator/qt-creator
Clang: Reparse only if files are changed
Includes are now watched by a file watcher. Unsaved file changes are watched too. If they are changed the translation units which depend on them are set to a state which require a reparse. Later the diagnostics of this units are collected and send back to creator. Change-Id: I2fb5c7dd6644687f22399edd8d18edd6215c9505 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This commit is contained in:
@@ -30,7 +30,9 @@
|
||||
|
||||
#include <clangcodecompleteresults.h>
|
||||
#include <projectpart.h>
|
||||
#include <projects.h>
|
||||
#include <translationunit.h>
|
||||
#include <translationunits.h>
|
||||
#include <unsavedfiles.h>
|
||||
#include <utf8string.h>
|
||||
|
||||
@@ -51,8 +53,12 @@ using ClangBackEnd::ProjectPart;
|
||||
TEST(ClangCodeCompleteResults, GetData)
|
||||
{
|
||||
ProjectPart projectPart(Utf8StringLiteral("projectPartId"));
|
||||
UnsavedFiles unsavedFiles;
|
||||
TranslationUnit translationUnit(Utf8StringLiteral(TESTDATA_DIR"/complete_testfile_1.cpp"), unsavedFiles, projectPart);
|
||||
ClangBackEnd::ProjectParts projects;
|
||||
ClangBackEnd::UnsavedFiles unsavedFiles;
|
||||
ClangBackEnd::TranslationUnits translationUnits{projects, unsavedFiles};
|
||||
TranslationUnit translationUnit(Utf8StringLiteral(TESTDATA_DIR"/complete_testfile_1.cpp"),
|
||||
projectPart,
|
||||
translationUnits);
|
||||
CXCodeCompleteResults *cxCodeCompleteResults = clang_codeCompleteAt(translationUnit.cxTranslationUnit(), translationUnit.filePath().constData(), 49, 1, 0, 0, 0);
|
||||
|
||||
ClangCodeCompleteResults codeCompleteResults(cxCodeCompleteResults);
|
||||
@@ -72,8 +78,12 @@ TEST(ClangCodeCompleteResults, GetInvalidData)
|
||||
TEST(ClangCodeCompleteResults, MoveClangCodeCompleteResults)
|
||||
{
|
||||
ProjectPart projectPart(Utf8StringLiteral("projectPartId"));
|
||||
UnsavedFiles unsavedFiles;
|
||||
TranslationUnit translationUnit(Utf8StringLiteral(TESTDATA_DIR"/complete_testfile_1.cpp"), unsavedFiles, projectPart);
|
||||
ClangBackEnd::ProjectParts projects;
|
||||
ClangBackEnd::UnsavedFiles unsavedFiles;
|
||||
ClangBackEnd::TranslationUnits translationUnits{projects, unsavedFiles};
|
||||
TranslationUnit translationUnit(Utf8StringLiteral(TESTDATA_DIR"/complete_testfile_1.cpp"),
|
||||
projectPart,
|
||||
translationUnits);
|
||||
CXCodeCompleteResults *cxCodeCompleteResults = clang_codeCompleteAt(translationUnit.cxTranslationUnit(), translationUnit.filePath().constData(), 49, 1, 0, 0, 0);
|
||||
|
||||
ClangCodeCompleteResults codeCompleteResults(cxCodeCompleteResults);
|
||||
|
||||
Reference in New Issue
Block a user