Commit 8e1e0bde authored by Roberto Raggi's avatar Roberto Raggi

Process type arguments.

parent 84920f53
......@@ -1892,10 +1892,16 @@ bool Bind::visit(TypenameTypeParameterAST *ast)
{
// unsigned classkey_token = ast->classkey_token;
// unsigned dot_dot_dot_token = ast->dot_dot_dot_token;
/*const Name *name =*/ this->name(ast->name);
// unsigned equal_token = ast->equal_token;
const Name *name = this->name(ast->name);
ExpressionTy type_id = this->expression(ast->type_id);
// TypenameArgument *symbol = ast->symbol;
unsigned sourceLocation = ast->firstToken();
if (ast->name)
sourceLocation = ast->name->firstToken();
TypenameArgument *arg = control()->newTypenameArgument(sourceLocation, name);
arg->setType(type_id);
ast->symbol = arg;
_scope->addMember(arg);
return false;
}
......
......@@ -70,6 +70,9 @@ protected:
using ASTVisitor::translationUnit;
static int visibilityForAccessSpecifier(int tokenKind);
static int visibilityForClassKey(int tokenKind);
void setDeclSpecifiers(Symbol *symbol, const FullySpecifiedType &declSpecifiers);
typedef FullySpecifiedType ExpressionTy;
ExpressionTy expression(ExpressionAST *ast);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment