diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2009-12-08 12:04:57 +0100 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2009-12-08 12:20:14 +0100 |
commit | fef2ad6bba36158de74127c3443aba70934cbca9 (patch) | |
tree | 394607141948d387df7f681f33e7255ae711adc0 /src/shared/cplusplus/CheckDeclaration.cpp | |
parent | f7164ae9d4936715cdefc379b73f263a0bf9e712 (diff) | |
download | qt-creator-fef2ad6bba36158de74127c3443aba70934cbca9.tar.gz |
Create TypenameArgument symbols.
Diffstat (limited to 'src/shared/cplusplus/CheckDeclaration.cpp')
-rw-r--r-- | src/shared/cplusplus/CheckDeclaration.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/shared/cplusplus/CheckDeclaration.cpp b/src/shared/cplusplus/CheckDeclaration.cpp index 3349263e1e..719a0c82eb 100644 --- a/src/shared/cplusplus/CheckDeclaration.cpp +++ b/src/shared/cplusplus/CheckDeclaration.cpp @@ -459,7 +459,9 @@ bool CheckDeclaration::visit(TypenameTypeParameterAST *ast) sourceLocation = ast->name->firstToken(); const Name *name = semantic()->check(ast->name, _scope); - Argument *arg = control()->newArgument(sourceLocation, name); // ### new template type + TypenameArgument *arg = control()->newTypenameArgument(sourceLocation, name); + FullySpecifiedType ty = semantic()->check(ast->type_id, _scope); + arg->setType(ty); ast->symbol = arg; _scope->enterSymbol(arg); return false; @@ -472,7 +474,9 @@ bool CheckDeclaration::visit(TemplateTypeParameterAST *ast) sourceLocation = ast->name->firstToken(); const Name *name = semantic()->check(ast->name, _scope); - Argument *arg = control()->newArgument(sourceLocation, name); // ### new template type + TypenameArgument *arg = control()->newTypenameArgument(sourceLocation, name); + FullySpecifiedType ty = semantic()->check(ast->type_id, _scope); + arg->setType(ty); ast->symbol = arg; _scope->enterSymbol(arg); return false; |