diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2010-08-16 11:35:38 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2010-08-16 11:35:38 +0200 |
commit | 2e0cb24cc99123af9ec01c7d6233ceb245fb5583 (patch) | |
tree | 61bee48d148031654444234b96ea7b4c48982f5c /src/shared/cplusplus | |
parent | b81e3585c3546f451c16e4a690dbca7d63cc2794 (diff) | |
download | qt-creator-2e0cb24cc99123af9ec01c7d6233ceb245fb5583.tar.gz |
Create symbols for namespace-aliases.
Diffstat (limited to 'src/shared/cplusplus')
-rw-r--r-- | src/shared/cplusplus/Bind.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/shared/cplusplus/Bind.cpp b/src/shared/cplusplus/Bind.cpp index 97d2f491d6..5fbfa7febc 100644 --- a/src/shared/cplusplus/Bind.cpp +++ b/src/shared/cplusplus/Bind.cpp @@ -1961,11 +1961,16 @@ bool Bind::visit(NamespaceAST *ast) bool Bind::visit(NamespaceAliasDefinitionAST *ast) { - // unsigned namespace_token = ast->namespace_token; - // unsigned namespace_name_token = ast->namespace_name_token; - // unsigned equal_token = ast->equal_token; - /*const Name *name =*/ this->name(ast->name); - // unsigned semicolon_token = ast->semicolon_token; + unsigned sourceLocation = ast->firstToken(); + const Name *name = 0; + if (ast->namespace_name_token) { + sourceLocation = ast->namespace_name_token; + name = control()->nameId(identifier(ast->namespace_name_token)); + } + + NamespaceAlias *namespaceAlias = control()->newNamespaceAlias(sourceLocation, name); + namespaceAlias->setNamespaceName(this->name(ast->name)); + _scope->addMember(namespaceAlias); return false; } |