summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/functionutils.cpp
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2013-12-05 19:51:53 +0200
committerOrgad Shaneh <orgads@gmail.com>2013-12-28 22:02:01 +0100
commit0ce3f3e68c37f4d745c468529dee2083b5378313 (patch)
tree70745ba81a2cd8ac44041885e88ce707a4ded8dc /src/plugins/cpptools/functionutils.cpp
parenta625d9656ce2e453ff5d4ccd20aea91f543ac96c (diff)
downloadqt-creator-0ce3f3e68c37f4d745c468529dee2083b5378313.tar.gz
C++: Ignore return type on function overrides comparison
Change-Id: I9933e1cc1fb996181e818e2ea0aff76f9255f849 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Diffstat (limited to 'src/plugins/cpptools/functionutils.cpp')
-rw-r--r--src/plugins/cpptools/functionutils.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/cpptools/functionutils.cpp b/src/plugins/cpptools/functionutils.cpp
index fd7ae1d89c..0d9b236003 100644
--- a/src/plugins/cpptools/functionutils.cpp
+++ b/src/plugins/cpptools/functionutils.cpp
@@ -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;
+ }
}
}