forked from qt-creator/qt-creator
Use the last visible symbol if available.
This commit is contained in:
@@ -489,7 +489,7 @@ bool ResolveExpression::visit(CallAST *ast)
|
|||||||
Symbol *lastVisibleSymbol = result.lastVisibleSymbol();
|
Symbol *lastVisibleSymbol = result.lastVisibleSymbol();
|
||||||
|
|
||||||
if (NamedType *namedTy = ty->asNamedType()) {
|
if (NamedType *namedTy = ty->asNamedType()) {
|
||||||
if (ClassOrNamespace *b = _context.classOrNamespace(namedTy->name(), lastVisibleSymbol->scope())) {
|
if (ClassOrNamespace *b = _context.classOrNamespace(namedTy->name(), lastVisibleSymbol)) {
|
||||||
foreach (Symbol *overload, b->lookup(functionCallOp)) {
|
foreach (Symbol *overload, b->lookup(functionCallOp)) {
|
||||||
if (Function *funTy = overload->type()->asFunctionType()) {
|
if (Function *funTy = overload->type()->asFunctionType()) {
|
||||||
if (maybeValidPrototype(funTy, actualArgumentCount)) {
|
if (maybeValidPrototype(funTy, actualArgumentCount)) {
|
||||||
@@ -534,7 +534,7 @@ bool ResolveExpression::visit(ArrayAccessAST *ast)
|
|||||||
addResult(arrTy->elementType().simplified(), lastVisibleSymbol);
|
addResult(arrTy->elementType().simplified(), lastVisibleSymbol);
|
||||||
|
|
||||||
} else if (NamedType *namedTy = ty->asNamedType()) {
|
} else if (NamedType *namedTy = ty->asNamedType()) {
|
||||||
if (ClassOrNamespace *b = _context.classOrNamespace(namedTy->name(), lastVisibleSymbol->scope())) {
|
if (ClassOrNamespace *b = _context.classOrNamespace(namedTy->name(), lastVisibleSymbol)) {
|
||||||
foreach (Symbol *overload, b->lookup(arrayAccessOp)) {
|
foreach (Symbol *overload, b->lookup(arrayAccessOp)) {
|
||||||
if (Function *funTy = overload->type()->asFunctionType()) {
|
if (Function *funTy = overload->type()->asFunctionType()) {
|
||||||
Function *proto = instantiate(namedTy->name(), funTy)->asFunctionType();
|
Function *proto = instantiate(namedTy->name(), funTy)->asFunctionType();
|
||||||
|
|||||||
Reference in New Issue
Block a user