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