diff --git a/shared/cplusplus/AST.cpp b/shared/cplusplus/AST.cpp
index 7165bacbcf9d809bedd6fc5ea1fb7b992c3fa357..5ddfe4774c3d7565c8bd5e88e1bb0b9e7c290973 100644
--- a/shared/cplusplus/AST.cpp
+++ b/shared/cplusplus/AST.cpp
@@ -1769,8 +1769,11 @@ unsigned NestedDeclaratorAST::firstToken() const
 
 unsigned NestedDeclaratorAST::lastToken() const
 {
-    assert(0 && "review me");
-    return rparen_token + 1;
+    if (rparen_token)
+        return rparen_token + 1;
+    else if (declarator)
+        return declarator->lastToken();
+    return lparen_token + 1;
 }
 
 void NestedExpressionAST::accept0(ASTVisitor *visitor)