From 03854281da39790878062c00eb46b03c9b5beeb1 Mon Sep 17 00:00:00 2001
From: Roberto Raggi <qtc-committer@nokia.com>
Date: Tue, 6 Jan 2009 12:13:49 +0100
Subject: [PATCH] Accept the next-declarator in NewDeclaratorAST::accept() and
 implemented NewDeclarator::lastToken().

---
 shared/cplusplus/AST.cpp | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/shared/cplusplus/AST.cpp b/shared/cplusplus/AST.cpp
index ff19e4439b8..cf37e5cb593 100644
--- a/shared/cplusplus/AST.cpp
+++ b/shared/cplusplus/AST.cpp
@@ -1821,9 +1821,11 @@ void NewDeclaratorAST::accept0(ASTVisitor *visitor)
 {
     if (visitor->visit(this)) {
         for (PtrOperatorAST *ptr_op = ptr_operators; ptr_op;
-                 ptr_op = static_cast<PtrOperatorAST *>(ptr_op->next))
+                 ptr_op = static_cast<PtrOperatorAST *>(ptr_op->next)) {
             accept(ptr_op, visitor);
-        // ### TODO accept the brackets
+        }
+
+        accept(declarator, visitor);
     }
 }
 
@@ -1834,10 +1836,14 @@ unsigned NewDeclaratorAST::firstToken() const
 
 unsigned NewDeclaratorAST::lastToken() const
 {
-    assert(0 && "review me");
     if (declarator)
         return declarator->lastToken();
-    assert(0); // ### implement me
+
+    for (PtrOperatorAST *it = ptr_operators; it; it = it->next) {
+        if (! it->next)
+            return it->lastToken();
+    }
+
     return 0;
 }
 
-- 
GitLab