summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/AST.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-03-25 10:26:33 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2010-03-25 10:44:42 +0100
commitddcc40d0fcec541e772e59eb78214fb58819c42a (patch)
tree11a9630ae8335c136678cb28ae814660dfb642b8 /src/shared/cplusplus/AST.cpp
parenta52b826600a0abb24035d9af2fc92633f9ae3b60 (diff)
downloadqt-creator-ddcc40d0fcec541e772e59eb78214fb58819c42a.tar.gz
Accepts `...' when parsing declarator-ids in C++0x.
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