C++: Ignore return type on function overrides comparison

Change-Id: I9933e1cc1fb996181e818e2ea0aff76f9255f849
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
Orgad Shaneh
2013-12-05 19:51:53 +02:00
committed by Orgad Shaneh
parent a625d9656c
commit 0ce3f3e68c
4 changed files with 22 additions and 14 deletions

View File

@@ -144,11 +144,13 @@ QList<Symbol *> FunctionUtils::overrides(Function *function, Class *functionsCla
for (int i = 0, total = c->memberCount(); i < total; ++i) {
Symbol *candidate = c->memberAt(i);
const Name *candidateName = candidate->name();
const FullySpecifiedType candidateType = candidate->type();
if (!candidateName || !candidateType.isValid())
const Function *candidateFunc = candidate->type()->asFunctionType();
if (!candidateName || !candidateFunc)
continue;
if (candidateName->isEqualTo(referenceName) && candidateType.isEqualTo(referenceType))
if (candidateName->isEqualTo(referenceName)
&& candidateFunc->isSignatureEqualTo(function)) {
result << candidate;
}
}
}