[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdevelop] languages/clang: Need to reset the document tracker during ParseJob run
From: Olivier JG <olivier.jg () gmail ! com>
Date: 2015-10-08 15:25:42
Message-ID: E1ZkD4g-00026N-3x () scm ! kde ! org
[Download RAW message or body]
Git commit 74771372c4c1b005bb877404a0878a864a4a67c6 by Olivier JG.
Committed on 08/10/2015 at 15:29.
Pushed by olivierjg into branch 'master'.
Need to reset the document tracker during ParseJob run
This will lock the revision and reset the needsUpdate flag in the
tracker.
M +6 -2 languages/clang/clangparsejob.cpp
http://commits.kde.org/kdevelop/74771372c4c1b005bb877404a0878a864a4a67c6
diff --git a/languages/clang/clangparsejob.cpp b/languages/clang/clangparsejob.cpp
index e9ef4f1..48afb5f 100644
--- a/languages/clang/clangparsejob.cpp
+++ b/languages/clang/clangparsejob.cpp
@@ -151,7 +151,7 @@ ClangParsingEnvironmentFile* parsingEnvironmentFile(const \
TopDUContext* context)
return dynamic_cast<ClangParsingEnvironmentFile*>(context->parsingEnvironmentFile().data());
}
-bool hasTracker(const IndexedString& url)
+DocumentChangeTracker* trackerForUrl(const IndexedString& url)
{
return ICore::self()->languageController()->backgroundParser()->trackerForUrl(url);
}
@@ -198,6 +198,10 @@ ClangParseJob::ClangParseJob(const IndexedString& url, \
ILanguageSupport* languag const IndexedString indexedUrl(textDocument->url());
m_unsavedRevisions.insert(indexedUrl, \
ModificationRevision::revisionForFile(indexedUrl)); }
+
+ if (auto tracker = trackerForUrl(url)) {
+ tracker->reset();
+ }
}
ClangSupport* ClangParseJob::clang() const
@@ -329,7 +333,7 @@ void ClangParseJob::run(ThreadWeaver::JobPointer /*self*/, \
ThreadWeaver::Thread file->setModificationRevision(it.value());
}
}
- if (::hasTracker(context->url())) {
+ if (trackerForUrl(context->url())) {
if (clang()->index()->translationUnitForUrl(context->url()) == \
m_environment.translationUnitUrl()) {
// cache the parse session and the contained translation unit for \
this chain
// this then allows us to quickly reparse the document if it is \
changed by
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic