diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp index b3012b2096d3c1634b42635bb92d2e5bbdd21a39..2c333910e3feca8dc7bf197d4d8c2276e8af12ea 100644 --- a/src/libs/cplusplus/ResolveExpression.cpp +++ b/src/libs/cplusplus/ResolveExpression.cpp @@ -555,6 +555,7 @@ bool ResolveExpression::visit(MemberAccessAST *ast) // The candidate types for the base expression are stored in // _results. const QList<LookupItem> baseResults = _results; + _results.clear(); // Evaluate the expression-id that follows the access operator. const Name *memberName = 0; diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index 579be85360c22f010a5a0d380dc104b808d927b0..76a265b67e8f94c52c46c385a0cf95f3d79f4e83 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -1427,7 +1427,7 @@ CPPEditor::Link CPPEditor::findLinkAt(const QTextCursor &cursor, TypeOfExpression typeOfExpression; typeOfExpression.init(doc, snapshot); - QList<LookupItem> resolvedSymbols = typeOfExpression(expression, scope, TypeOfExpression::Preprocess); + const QList<LookupItem> resolvedSymbols = typeOfExpression(expression, scope, TypeOfExpression::Preprocess); if (!resolvedSymbols.isEmpty()) { const LookupItem result = skipForwardDeclarations(resolvedSymbols); @@ -1435,12 +1435,8 @@ CPPEditor::Link CPPEditor::findLinkAt(const QTextCursor &cursor, if (Symbol *symbol = result.declaration()) { Symbol *def = 0; - qWarning() << "find definition?"; -#warning port me -#if 0 - if (resolveTarget && !lastSymbol->isFunction()) + if (resolveTarget) def = findDefinition(symbol, snapshot); -#endif link = linkToSymbol(def ? def : symbol); link.begin = beginOfToken;