From 8a32c41f6f419f3f3315c679722ca4455fca5155 Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Wed, 11 Aug 2010 15:02:08 +0200 Subject: [PATCH] Removed TemplateArgumentList --- src/libs/cplusplus/FindUsages.cpp | 4 ++-- src/shared/cplusplus/AST.h | 2 +- src/shared/cplusplus/ASTClone.cpp | 4 ++-- src/shared/cplusplus/ASTfwd.h | 2 -- src/shared/cplusplus/CheckName.cpp | 2 +- src/shared/cplusplus/Parser.cpp | 16 ++++++++-------- src/shared/cplusplus/Parser.h | 6 +++--- 7 files changed, 17 insertions(+), 19 deletions(-) diff --git a/src/libs/cplusplus/FindUsages.cpp b/src/libs/cplusplus/FindUsages.cpp index 9dbaa457a7b..74f678b0e14 100644 --- a/src/libs/cplusplus/FindUsages.cpp +++ b/src/libs/cplusplus/FindUsages.cpp @@ -1830,7 +1830,7 @@ bool FindUsages::visit(QualifiedNameAST *ast) template_id = class_or_namespace_name->asTemplateId(); if (template_id) { - for (TemplateArgumentListAST *arg_it = template_id->template_argument_list; arg_it; arg_it = arg_it->next) { + for (ExpressionListAST *arg_it = template_id->template_argument_list; arg_it; arg_it = arg_it->next) { this->expression(arg_it->value); } } @@ -1863,7 +1863,7 @@ bool FindUsages::visit(QualifiedNameAST *ast) if (template_id) { identifier_token = template_id->identifier_token; - for (TemplateArgumentListAST *template_arguments = template_id->template_argument_list; + for (ExpressionListAST *template_arguments = template_id->template_argument_list; template_arguments; template_arguments = template_arguments->next) { this->expression(template_arguments->value); } diff --git a/src/shared/cplusplus/AST.h b/src/shared/cplusplus/AST.h index 37dd5bb6909..227eb21483b 100644 --- a/src/shared/cplusplus/AST.h +++ b/src/shared/cplusplus/AST.h @@ -2216,7 +2216,7 @@ class CPLUSPLUS_EXPORT TemplateIdAST: public NameAST public: unsigned identifier_token; unsigned less_token; - TemplateArgumentListAST *template_argument_list; + ExpressionListAST *template_argument_list; unsigned greater_token; public: diff --git a/src/shared/cplusplus/ASTClone.cpp b/src/shared/cplusplus/ASTClone.cpp index c5a522ebdb8..996d4dbda5b 100644 --- a/src/shared/cplusplus/ASTClone.cpp +++ b/src/shared/cplusplus/ASTClone.cpp @@ -804,9 +804,9 @@ TemplateIdAST *TemplateIdAST::clone(MemoryPool *pool) const TemplateIdAST *ast = new (pool) TemplateIdAST; ast->identifier_token = identifier_token; ast->less_token = less_token; - for (TemplateArgumentListAST *iter = template_argument_list, **ast_iter = &ast->template_argument_list; + for (ExpressionListAST *iter = template_argument_list, **ast_iter = &ast->template_argument_list; iter; iter = iter->next, ast_iter = &(*ast_iter)->next) - *ast_iter = new (pool) TemplateArgumentListAST((iter->value) ? iter->value->clone(pool) : 0); + *ast_iter = new (pool) ExpressionListAST((iter->value) ? iter->value->clone(pool) : 0); ast->greater_token = greater_token; return ast; } diff --git a/src/shared/cplusplus/ASTfwd.h b/src/shared/cplusplus/ASTfwd.h index cd434c05ef0..9812c824539 100644 --- a/src/shared/cplusplus/ASTfwd.h +++ b/src/shared/cplusplus/ASTfwd.h @@ -234,8 +234,6 @@ typedef List<ObjCPropertyAttributeAST *> ObjCPropertyAttributeListAST; typedef List<ObjCMessageArgumentDeclarationAST *> ObjCMessageArgumentDeclarationListAST; typedef List<ObjCSynthesizedPropertyAST *> ObjCSynthesizedPropertyListAST; -typedef ExpressionListAST TemplateArgumentListAST; - } // end of namespace CPlusPlus diff --git a/src/shared/cplusplus/CheckName.cpp b/src/shared/cplusplus/CheckName.cpp index c1a27b21660..4e67a6124c6 100644 --- a/src/shared/cplusplus/CheckName.cpp +++ b/src/shared/cplusplus/CheckName.cpp @@ -356,7 +356,7 @@ bool CheckName::visit(TemplateIdAST *ast) { const Identifier *id = identifier(ast->identifier_token); std::vector<FullySpecifiedType> templateArguments; - for (TemplateArgumentListAST *it = ast->template_argument_list; it; + for (ExpressionListAST *it = ast->template_argument_list; it; it = it->next) { ExpressionAST *arg = it->value; FullySpecifiedType exprTy = semantic()->check(arg, _scope); diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp index c9a2aedca1c..b1bcd590545 100644 --- a/src/shared/cplusplus/Parser.cpp +++ b/src/shared/cplusplus/Parser.cpp @@ -818,7 +818,7 @@ Parser::TemplateArgumentListEntry *Parser::templateArgumentListEntry(unsigned to return 0; } -bool Parser::parseTemplateArgumentList(TemplateArgumentListAST *&node) +bool Parser::parseTemplateArgumentList(ExpressionListAST *&node) { DEBUG_THIS_RULE(); @@ -830,10 +830,10 @@ bool Parser::parseTemplateArgumentList(TemplateArgumentListAST *&node) unsigned start = cursor(); - TemplateArgumentListAST **template_argument_ptr = &node; + ExpressionListAST **template_argument_ptr = &node; ExpressionAST *template_argument = 0; if (parseTemplateArgument(template_argument)) { - *template_argument_ptr = new (_pool) TemplateArgumentListAST; + *template_argument_ptr = new (_pool) ExpressionListAST; (*template_argument_ptr)->value = template_argument; template_argument_ptr = &(*template_argument_ptr)->next; @@ -844,7 +844,7 @@ bool Parser::parseTemplateArgumentList(TemplateArgumentListAST *&node) consumeToken(); // consume T_COMMA if (parseTemplateArgument(template_argument)) { - *template_argument_ptr = new (_pool) TemplateArgumentListAST; + *template_argument_ptr = new (_pool) ExpressionListAST; (*template_argument_ptr)->value = template_argument; template_argument_ptr = &(*template_argument_ptr)->next; @@ -855,10 +855,10 @@ bool Parser::parseTemplateArgumentList(TemplateArgumentListAST *&node) if (_pool != _translationUnit->memoryPool()) { MemoryPool *pool = _translationUnit->memoryPool(); - TemplateArgumentListAST *template_argument_list = node; - for (TemplateArgumentListAST *iter = template_argument_list, **ast_iter = &node; + ExpressionListAST *template_argument_list = node; + for (ExpressionListAST *iter = template_argument_list, **ast_iter = &node; iter; iter = iter->next, ast_iter = &(*ast_iter)->next) - *ast_iter = new (pool) TemplateArgumentListAST((iter->value) ? iter->value->clone(pool) : 0); + *ast_iter = new (pool) ExpressionListAST((iter->value) ? iter->value->clone(pool) : 0); } _templateArgumentList.insert(std::make_pair(start, TemplateArgumentListEntry(start, cursor(), node))); @@ -4117,7 +4117,7 @@ bool Parser::parseNameId(NameAST *&name) else if (LA() == T_LPAREN) { // a template-id followed by a T_LPAREN - if (TemplateArgumentListAST *template_arguments = template_id->template_argument_list) { + if (ExpressionListAST *template_arguments = template_id->template_argument_list) { if (! template_arguments->next && template_arguments->value && template_arguments->value->asBinaryExpression()) { diff --git a/src/shared/cplusplus/Parser.h b/src/shared/cplusplus/Parser.h index ec8a74538b8..4b19f1cf10f 100644 --- a/src/shared/cplusplus/Parser.h +++ b/src/shared/cplusplus/Parser.h @@ -184,7 +184,7 @@ public: bool parseStringLiteral(ExpressionAST *&node); bool parseSwitchStatement(StatementAST *&node); bool parseTemplateArgument(ExpressionAST *&node); - bool parseTemplateArgumentList(TemplateArgumentListAST *&node); + bool parseTemplateArgumentList(ExpressionListAST *&node); bool parseTemplateDeclaration(DeclarationAST *&node); bool parseTemplateParameter(DeclarationAST *&node); bool parseTemplateParameterList(DeclarationListAST *&node); @@ -319,9 +319,9 @@ public: struct TemplateArgumentListEntry { unsigned index; unsigned cursor; - TemplateArgumentListAST *ast; + ExpressionListAST *ast; - TemplateArgumentListEntry(unsigned index = 0, unsigned cursor = 0, TemplateArgumentListAST *ast = 0) + TemplateArgumentListEntry(unsigned index = 0, unsigned cursor = 0, ExpressionListAST *ast = 0) : index(index), cursor(cursor), ast(ast) {} }; -- GitLab