Clang: implement requestFollowSymbol plug-in side

Invoke follow symbol in clang backend
if env variable QTC_CLANG_FOLLOW_SYMBOL is 1.
Does not include backend implementation.

Change-Id: Ia20a677830ebdd7f24800af5c5d6e8b1bf579205
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Ivan Donchevskii
2017-07-27 11:42:37 +02:00
parent 4ad0e5295c
commit e6a50fd44a
17 changed files with 259 additions and 14 deletions

View File

@@ -36,6 +36,7 @@ namespace ClangBackEnd {
static FollowSymbolJob::AsyncResult runAsyncHelperFollow(const TranslationUnit &translationUnit,
quint32 line,
quint32 column,
const QVector<Utf8String> &dependentFiles,
bool resolveTarget)
{
TIME_SCOPE_DURATION("FollowSymbolJobRunner");
@@ -57,9 +58,10 @@ IAsyncJob::AsyncPrepareResult FollowSymbolJob::prepareAsyncRun()
= m_pinnedDocument.translationUnit(jobRequest.preferredTranslationUnit);
const quint32 line = jobRequest.line;
const quint32 column = jobRequest.column;
const QVector<Utf8String> &dependentFiles = jobRequest.dependentFiles;
const bool resolveTarget = jobRequest.resolveTarget;
setRunner([translationUnit, line, column, resolveTarget]() {
return runAsyncHelperFollow(translationUnit, line, column, resolveTarget);
setRunner([translationUnit, line, column, dependentFiles, resolveTarget]() {
return runAsyncHelperFollow(translationUnit, line, column, dependentFiles, resolveTarget);
});
return AsyncPrepareResult{translationUnit.id()};