forked from qt-creator/qt-creator
CppEditor: Accept LookupContext in virtual function lookup
Required for correct resolving of first virtual appearance Change-Id: I2307027f769fb2f4c0942f4aa4e0d2b5327562b5 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
a28005dacc
commit
056db85657
@@ -128,11 +128,13 @@ bool VirtualFunctionHelper::canLookupVirtualFunctionOverrides(Function *function
|
||||
if (IdExpressionAST *idExpressionAST = m_baseExpressionAST->asIdExpression()) {
|
||||
NameAST *name = idExpressionAST->name;
|
||||
const bool nameIsQualified = name && name->asQualifiedName();
|
||||
result = !nameIsQualified && FunctionHelper::isVirtualFunction(function, m_snapshot);
|
||||
result = !nameIsQualified && FunctionHelper::isVirtualFunction(
|
||||
function, LookupContext(m_document, m_snapshot));
|
||||
} else if (MemberAccessAST *memberAccessAST = m_baseExpressionAST->asMemberAccess()) {
|
||||
NameAST *name = memberAccessAST->member_name;
|
||||
const bool nameIsQualified = name && name->asQualifiedName();
|
||||
if (!nameIsQualified && FunctionHelper::isVirtualFunction(function, m_snapshot)) {
|
||||
if (!nameIsQualified && FunctionHelper::isVirtualFunction(
|
||||
function, LookupContext(m_document, m_snapshot))) {
|
||||
TranslationUnit *unit = m_expressionDocument->translationUnit();
|
||||
QTC_ASSERT(unit, return false);
|
||||
m_accessTokenKind = unit->tokenKind(memberAccessAST->access_token);
|
||||
|
||||
Reference in New Issue
Block a user