Handle ambiguous function declarations vs c++-like initialized declarations.

This commit is contained in:
Roberto Raggi
2009-10-27 16:08:23 +01:00
parent 0b294b41c7
commit 213316f2a7

View File

@@ -566,6 +566,11 @@ ResolveExpression::resolveBaseExpression(const QList<Result> &baseResults, int a
FullySpecifiedType ty = result.first.simplified();
Symbol *lastVisibleSymbol = result.second;
if (Function *funTy = ty->asFunctionType()) {
if (funTy->isAmbiguous())
ty = funTy->returnType().simplified();
}
if (accessOp == T_ARROW) {
if (lastVisibleSymbol && ty->isClassType() && ! lastVisibleSymbol->isClass()) {
// ### remove ! lastVisibleSymbol->isClass() from the condition.