diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2010-05-27 16:33:18 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2010-05-27 16:33:18 +0200 |
commit | 64e9f652e07883c8c9c081a4b179bbbd6444b67f (patch) | |
tree | 8aada2cbaf292d76221e9f510fe6054b1d4def30 /src/libs/cplusplus/LookupContext.cpp | |
parent | 9cde6baebc85be85581e376080d1ff717176ebfa (diff) | |
download | qt-creator-64e9f652e07883c8c9c081a4b179bbbd6444b67f.tar.gz |
Handle using declarations
Diffstat (limited to 'src/libs/cplusplus/LookupContext.cpp')
-rw-r--r-- | src/libs/cplusplus/LookupContext.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index 5f883feab9..1a510b6bd2 100644 --- a/src/libs/cplusplus/LookupContext.cpp +++ b/src/libs/cplusplus/LookupContext.cpp @@ -794,6 +794,21 @@ bool CreateBindings::visit(BaseClass *b) return false; } +bool CreateBindings::visit(UsingDeclaration *u) +{ + if (u->name()) { + if (const QualifiedNameId *q = u->name()->asQualifiedNameId()) { + if (const NameId *unqualifiedId = q->unqualifiedNameId()->asNameId()) { + if (ClassOrNamespace *delegate = _currentClassOrNamespace->lookupType(q)) { + ClassOrNamespace *b = _currentClassOrNamespace->findOrCreateType(unqualifiedId); + b->addUsing(delegate); + } + } + } + } + return false; +} + bool CreateBindings::visit(UsingNamespaceDirective *u) { if (ClassOrNamespace *e = _currentClassOrNamespace->lookupType(u->name())) { |