Merge remote-tracking branch 'origin/4.4'

Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/libs/utils/utils-lib.pri
	src/plugins/clangcodemodel/clangbackendipcintegration.h
	src/shared/qbs

Change-Id: I240e89afc76d8f40ce69d66683014b603f714707
This commit is contained in:
Eike Ziller
2017-08-23 12:12:41 +02:00
70 changed files with 495 additions and 707 deletions

View File

@@ -47,7 +47,6 @@ using namespace CPlusPlus;
using SemanticUses = QList<CppTools::SemanticInfo::Use>;
namespace CppTools {
namespace Internal {
namespace {
CursorInfo::Range toRange(const SemanticInfo::Use &use)
@@ -186,7 +185,8 @@ private:
{
CursorInfo result;
const CppTools::SemanticInfo::LocalUseMap localUses = findLocalUses();
const CppTools::SemanticInfo::LocalUseMap localUses
= BuiltinCursorInfo::findLocalUses(m_document, m_line, m_column);
result.localUses = localUses;
splitLocalUses(localUses, &result.useRanges, &result.unusedVariablesRanges);
@@ -200,16 +200,6 @@ private:
return result; // OK, result.unusedVariablesRanges will be passed on
}
CppTools::SemanticInfo::LocalUseMap findLocalUses() const
{
AST *ast = m_document->translationUnit()->ast();
FunctionDefinitionUnderCursor functionDefinitionUnderCursor(m_document->translationUnit());
DeclarationAST *declaration = functionDefinitionUnderCursor(ast,
static_cast<unsigned>(m_line),
static_cast<unsigned>(m_column));
return CppTools::LocalSymbols(m_document, declaration).uses;
}
void splitLocalUses(const CppTools::SemanticInfo::LocalUseMap &uses,
CursorInfo::Ranges *rangesForLocalVariableUnderCursor,
CursorInfo::Ranges *rangesForLocalUnusedVariables) const
@@ -365,5 +355,15 @@ QFuture<CursorInfo> BuiltinCursorInfo::run(const CursorInfoParams &cursorInfoPar
return Utils::runAsync(&FindUses::find, document, snapshot, line, column, scope, expression);
}
} // namespace Internal
CppTools::SemanticInfo::LocalUseMap
BuiltinCursorInfo::findLocalUses(const Document::Ptr &document, int line, int column)
{
AST *ast = document->translationUnit()->ast();
FunctionDefinitionUnderCursor functionDefinitionUnderCursor(document->translationUnit());
DeclarationAST *declaration = functionDefinitionUnderCursor(ast,
static_cast<unsigned>(line),
static_cast<unsigned>(column));
return CppTools::LocalSymbols(document, declaration).uses;
}
} // namespace CppTools

View File

@@ -26,17 +26,21 @@
#pragma once
#include "cppcursorinfo.h"
#include "cpptools_global.h"
#include <cplusplus/CppDocument.h>
#include <QFuture>
namespace CppTools {
namespace Internal {
class BuiltinCursorInfo
class CPPTOOLS_EXPORT BuiltinCursorInfo
{
public:
static QFuture<CursorInfo> run(const CursorInfoParams &params);
static CppTools::SemanticInfo::LocalUseMap
findLocalUses(const CPlusPlus::Document::Ptr &document, int line, int column);
};
} // namespace Internal
} // namespace CppTools

View File

@@ -257,7 +257,7 @@ bool BuiltinEditorDocumentProcessor::isParserRunning() const
QFuture<CursorInfo>
BuiltinEditorDocumentProcessor::cursorInfo(const CursorInfoParams &params)
{
return Internal::BuiltinCursorInfo::run(params);
return BuiltinCursorInfo::run(params);
}
void BuiltinEditorDocumentProcessor::onParserFinished(CPlusPlus::Document::Ptr document,