CppTools: Provide the editor snapshot for SemanticInfoUpdater

...so that SemanticInfoUpdater does not depend anymore on the
EditorDocumentParser. Accessing the snapshot was a blocking operation
that delayed the semantic info update longer than actually needed.

Change-Id: I348d22ef83ab310d4319b2e8b9678fe90ee24d6a
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
Nikolai Kosjar
2014-08-26 14:26:28 +02:00
parent 46b5ed2ba9
commit 45570d4068
9 changed files with 33 additions and 27 deletions

View File

@@ -61,7 +61,7 @@ public:
static BuiltinEditorDocumentProcessor *get(const QString &filePath);
private:
void onDocumentUpdated(CPlusPlus::Document::Ptr document);
void onParserFinished(CPlusPlus::Document::Ptr document, CPlusPlus::Snapshot snapshot);
void onSemanticInfoUpdated(const CppTools::SemanticInfo semanticInfo);
SemanticInfo::Source createSemanticInfoSource(bool force) const;
@@ -70,6 +70,8 @@ private:
QScopedPointer<BuiltinEditorDocumentParser> m_parser;
QFuture<void> m_parserFuture;
CPlusPlus::Snapshot m_documentSnapshot;
SemanticInfoUpdater m_semanticInfoUpdater;
QScopedPointer<SemanticHighlighter> m_semanticHighlighter;
};