summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/AST.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/cplusplus/AST.cpp')
-rw-r--r--src/shared/cplusplus/AST.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/shared/cplusplus/AST.cpp b/src/shared/cplusplus/AST.cpp
index 5963dae91b..0425bf5a9b 100644
--- a/src/shared/cplusplus/AST.cpp
+++ b/src/shared/cplusplus/AST.cpp
@@ -760,12 +760,22 @@ unsigned DeclarationStatementAST::lastToken() const
unsigned DeclaratorIdAST::firstToken() const
{
+ if (dot_dot_dot_token)
+ return dot_dot_dot_token;
+
return name->firstToken();
}
unsigned DeclaratorIdAST::lastToken() const
{
- return name->lastToken();
+ if (name)
+ return name->lastToken();
+
+ else if (dot_dot_dot_token)
+ return dot_dot_dot_token + 1;
+
+ // assert?
+ return 0;
}
unsigned DeleteExpressionAST::firstToken() const