diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2010-08-13 13:51:14 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2010-08-13 13:52:59 +0200 |
commit | 308f481e841a6081b087ae179c64ab9e0cdbdcdd (patch) | |
tree | e5fa20357a3c7c449b0563418578f72b86450240 /src/shared/cplusplus | |
parent | 1d30c09bd1d37b2ea76f3ef4519ee6b27cbda099 (diff) | |
download | qt-creator-308f481e841a6081b087ae179c64ab9e0cdbdcdd.tar.gz |
Bind using declarations and using namespace directives.
Diffstat (limited to 'src/shared/cplusplus')
-rw-r--r-- | src/shared/cplusplus/Bind.cpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/shared/cplusplus/Bind.cpp b/src/shared/cplusplus/Bind.cpp index 752cd32ed6..a303cbad3b 100644 --- a/src/shared/cplusplus/Bind.cpp +++ b/src/shared/cplusplus/Bind.cpp @@ -1990,21 +1990,22 @@ bool Bind::visit(TemplateTypeParameterAST *ast) bool Bind::visit(UsingAST *ast) { - // unsigned using_token = ast->using_token; - // unsigned typename_token = ast->typename_token; - /*const Name *name =*/ this->name(ast->name); - // unsigned semicolon_token = ast->semicolon_token; - // UsingDeclaration *symbol = ast->symbol; + unsigned sourceLocation = ast->name ? ast->name->firstToken() : ast->firstToken(); + const Name *name = this->name(ast->name); + + UsingDeclaration *symbol = control()->newUsingDeclaration(sourceLocation, name); + ast->symbol = symbol; + _scope->addMember(symbol); return false; } bool Bind::visit(UsingDirectiveAST *ast) { - // unsigned using_token = ast->using_token; - // unsigned namespace_token = ast->namespace_token; - /*const Name *name =*/ this->name(ast->name); - // unsigned semicolon_token = ast->semicolon_token; - // UsingNamespaceDirective *symbol = ast->symbol; + unsigned sourceLocation = ast->name ? ast->name->firstToken() : ast->firstToken(); + const Name *name = this->name(ast->name); + UsingNamespaceDirective *symbol = control()->newUsingNamespaceDirective(sourceLocation, name); + ast->symbol = symbol; + _scope->addMember(symbol); return false; } |