summaryrefslogtreecommitdiff
path: root/shared/cplusplus/AST.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'shared/cplusplus/AST.cpp')
-rw-r--r--shared/cplusplus/AST.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/shared/cplusplus/AST.cpp b/shared/cplusplus/AST.cpp
index 8cb625b4ad..67813b9e7d 100644
--- a/shared/cplusplus/AST.cpp
+++ b/shared/cplusplus/AST.cpp
@@ -2624,10 +2624,15 @@ unsigned TypeIdAST::firstToken() const
unsigned TypeIdAST::lastToken() const
{
- assert(0 && "review me");
if (declarator)
return declarator->lastToken();
- return type_specifier->lastToken();
+
+ for (SpecifierAST *it = type_specifier; it; it = it->next) {
+ if (! it->next)
+ return it->lastToken();
+ }
+
+ return 0;
}
void TypeidExpressionAST::accept0(ASTVisitor *visitor)