From 93f57a99a1e9df7e427c346ef78fd1955ee89669 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Wed, 4 Mar 2015 10:59:19 +0200 Subject: C++: Fix nested type resolving in member functions Task-number: QTCREATORBUG-13976 Task-number: QTCREATORBUG-13978 Change-Id: I598f9cb99ffd044abfc6ed9aa16d4a3045985008 Reviewed-by: Przemyslaw Gorszkowski --- src/libs/cplusplus/LookupContext.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/libs/cplusplus/LookupContext.cpp') 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; } -- cgit v1.2.1