From 2e0cb24cc99123af9ec01c7d6233ceb245fb5583 Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Mon, 16 Aug 2010 11:35:38 +0200 Subject: Create symbols for namespace-aliases. --- src/shared/cplusplus/Bind.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'src/shared/cplusplus') 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; } -- cgit v1.2.1