summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/LookupContext.cpp
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2015-03-04 10:59:19 +0200
committerOrgad Shaneh <orgads@gmail.com>2015-03-05 06:23:31 +0000
commit93f57a99a1e9df7e427c346ef78fd1955ee89669 (patch)
treef8c8bad53368781078d39b3c3db684307e067687 /src/libs/cplusplus/LookupContext.cpp
parent0b996210f6e0b7d98e505dd313fdc1ed69de3217 (diff)
downloadqt-creator-93f57a99a1e9df7e427c346ef78fd1955ee89669.tar.gz
C++: Fix nested type resolving in member functions
Task-number: QTCREATORBUG-13976 Task-number: QTCREATORBUG-13978 Change-Id: I598f9cb99ffd044abfc6ed9aa16d4a3045985008 Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com>
Diffstat (limited to 'src/libs/cplusplus/LookupContext.cpp')
-rw-r--r--src/libs/cplusplus/LookupContext.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp
index 512700c016..35be29d6f2 100644
--- a/src/libs/cplusplus/LookupContext.cpp
+++ b/src/libs/cplusplus/LookupContext.cpp
@@ -1705,11 +1705,14 @@ bool CreateBindings::visit(Declaration *decl)
bool CreateBindings::visit(Function *function)
{
+ ClassOrNamespace *previous = _currentClassOrNamespace;
+ _currentClassOrNamespace = lookupType(function, previous);
for (unsigned i = 0, count = function->memberCount(); i < count; ++i) {
Symbol *s = function->memberAt(i);
if (Block *b = s->asBlock())
visit(b);
}
+ _currentClassOrNamespace = previous;
return false;
}