aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangcodemodel
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2019-03-01 12:20:57 +0200
committerOrgad Shaneh <orgad.shaneh@audiocodes.com>2019-03-01 13:06:57 +0200
commitcbfc6e522dced7516dbfa036197476796ca1dcf8 (patch)
treee78aa7f496b1986d127e991da685bcc3382fa1f9 /src/plugins/clangcodemodel
parent89831854059144613279affc4c37eb65dbcbf6e7 (diff)
parentaa14e396f03232ce97a723aaf18ab89f7dfad698 (diff)
Merge remote-tracking branch 'origin/4.9'
Diffstat (limited to 'src/plugins/clangcodemodel')
-rw-r--r--src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp2
-rw-r--r--src/plugins/clangcodemodel/clangdiagnosticfilter.h2
-rw-r--r--src/plugins/clangcodemodel/clangfollowsymbol.cpp23
3 files changed, 19 insertions, 8 deletions
diff --git a/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp b/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp
index d00d488586..db34c904d4 100644
--- a/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp
+++ b/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp
@@ -86,7 +86,7 @@ static void addFunctionOverloadAssistProposalItem(QList<AssistProposalItemInterf
const QString &name)
{
auto *item = static_cast<ClangAssistProposalItem *>(sameItem);
- item->setHasOverloadsWithParameters(true);
+ item->setHasOverloadsWithParameters(codeCompletion.hasParameters);
if (codeCompletion.completionKind == CodeCompletion::ConstructorCompletionKind) {
// It's the constructor, currently constructor definitions do not lead here.
// CLANG-UPGRADE-CHECK: Can we get here with constructor definition?
diff --git a/src/plugins/clangcodemodel/clangdiagnosticfilter.h b/src/plugins/clangcodemodel/clangdiagnosticfilter.h
index 0fe164ecf0..a61734718e 100644
--- a/src/plugins/clangcodemodel/clangdiagnosticfilter.h
+++ b/src/plugins/clangcodemodel/clangdiagnosticfilter.h
@@ -49,7 +49,7 @@ private:
void filterFixits();
private:
- const QString &m_filePath;
+ const QString m_filePath;
QVector<ClangBackEnd::DiagnosticContainer> m_warningDiagnostics;
QVector<ClangBackEnd::DiagnosticContainer> m_errorDiagnostics;
diff --git a/src/plugins/clangcodemodel/clangfollowsymbol.cpp b/src/plugins/clangcodemodel/clangfollowsymbol.cpp
index 96df23ab20..f1113de164 100644
--- a/src/plugins/clangcodemodel/clangfollowsymbol.cpp
+++ b/src/plugins/clangcodemodel/clangfollowsymbol.cpp
@@ -28,6 +28,7 @@
#include <coreplugin/editormanager/editormanager.h>
#include <cpptools/cppmodelmanager.h>
+#include <cpptools/cppfollowsymbolundercursor.h>
#include <texteditor/texteditor.h>
#include <clangsupport/tokeninfocontainer.h>
@@ -183,12 +184,22 @@ void ClangFollowSymbol::findLink(const CppTools::CursorInEditor &data,
return processLinkCallback(Utils::Link());
if (!resolveTarget) {
- processLinkCallback(linkAtCursor(cursor,
- data.filePath().toString(),
- static_cast<uint>(line),
- static_cast<uint>(column),
- processor));
- return;
+ Utils::Link link = linkAtCursor(cursor,
+ data.filePath().toString(),
+ static_cast<uint>(line),
+ static_cast<uint>(column),
+ processor);
+ if (link == Utils::Link()) {
+ CppTools::FollowSymbolUnderCursor followSymbol;
+ return followSymbol.findLink(data,
+ std::move(processLinkCallback),
+ false,
+ snapshot,
+ documentFromSemanticInfo,
+ symbolFinder,
+ inNextSplit);
+ }
+ return processLinkCallback(link);
}
QFuture<CppTools::SymbolInfo> infoFuture