diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2010-05-26 10:08:29 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2010-05-26 10:10:23 +0200 |
commit | d2a62b07f02a83e648304979f4f61f769c17397b (patch) | |
tree | a0996d34f50590aefd642faebc574c8366a7c028 /src/libs/cplusplus/LookupContext.cpp | |
parent | 1263babfc6c96eb56613182310cb5c9eabcd8dc0 (diff) | |
download | qt-creator-d2a62b07f02a83e648304979f4f61f769c17397b.tar.gz |
Create bindings for anonymous typedefs.
Diffstat (limited to 'src/libs/cplusplus/LookupContext.cpp')
-rw-r--r-- | src/libs/cplusplus/LookupContext.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index 77880ca06c..5f883feab9 100644 --- a/src/libs/cplusplus/LookupContext.cpp +++ b/src/libs/cplusplus/LookupContext.cpp @@ -755,7 +755,7 @@ bool CreateBindings::visit(Enum *e) bool CreateBindings::visit(Declaration *decl) { if (decl->isTypedef()) { - const FullySpecifiedType ty = decl->type(); + FullySpecifiedType ty = decl->type(); const Identifier *typedefId = decl->identifier(); if (typedefId && ! (ty.isConst() || ty.isVolatile())) { @@ -766,6 +766,11 @@ bool CreateBindings::visit(Declaration *decl) Overview oo; qDebug() << "found entity not found for" << oo(namedTy->name()); } + } else if (Class *klass = ty->asClassType()) { + if (const NameId *nameId = decl->name()->asNameId()) { + ClassOrNamespace *binding = _currentClassOrNamespace->findOrCreateType(nameId); + binding->addSymbol(klass); + } } } } |