From 0f3372118aa95acc2440ea2a44fb08a267091db1 Mon Sep 17 00:00:00 2001
From: Roberto Raggi <qtc-committer@nokia.com>
Date: Tue, 6 Jan 2009 11:59:28 +0100
Subject: [PATCH] TemplateTypeParameterAST::lastToken().

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

diff --git a/shared/cplusplus/AST.cpp b/shared/cplusplus/AST.cpp
index 5921c4ae449..4ab7cdc4248 100644
--- a/shared/cplusplus/AST.cpp
+++ b/shared/cplusplus/AST.cpp
@@ -2464,7 +2464,6 @@ unsigned TemplateTypeParameterAST::firstToken() const
 
 unsigned TemplateTypeParameterAST::lastToken() const
 {
-    assert(0 && "review me");
     if (type_id)
         return type_id->lastToken();
     else if (equal_token)
@@ -2473,7 +2472,18 @@ unsigned TemplateTypeParameterAST::lastToken() const
         return name->lastToken();
     else if (class_token)
         return class_token + 1;
-    return greater_token + 1;
+    else if (greater_token)
+        return greater_token + 1;
+
+    for (DeclarationAST *it = template_parameters; it; it = it->next) {
+        if (! it->next)
+            return it->lastToken();
+    }
+
+    if (less_token)
+        return less_token + 1;
+
+    return template_token + 1;
 }
 
 void ThisExpressionAST::accept0(ASTVisitor *visitor)
-- 
GitLab