summaryrefslogtreecommitdiff
path: root/shared/cplusplus/AST.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <qtc-committer@nokia.com>2009-01-02 17:57:28 +0100
committerRoberto Raggi <qtc-committer@nokia.com>2009-01-02 17:57:28 +0100
commit61dac8c9cf0569b983c0fa204ac207c659573e06 (patch)
treef5f9dea8d6366e348741237efbb1dd86b16d46d9 /shared/cplusplus/AST.cpp
parent3c908d292ec46036bf8b5e06f03578c098a885d0 (diff)
downloadqt-creator-61dac8c9cf0569b983c0fa204ac207c659573e06.tar.gz
Implemented ExceptionDeclarationAST::lastToken().
Diffstat (limited to 'shared/cplusplus/AST.cpp')
-rw-r--r--shared/cplusplus/AST.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/shared/cplusplus/AST.cpp b/shared/cplusplus/AST.cpp
index e5530723fe..9952aa67f2 100644
--- a/shared/cplusplus/AST.cpp
+++ b/shared/cplusplus/AST.cpp
@@ -1300,19 +1300,22 @@ void ExceptionDeclarationAST::accept0(ASTVisitor *visitor)
unsigned ExceptionDeclarationAST::firstToken() const
{
- return type_specifier->firstToken();
+ if (type_specifier)
+ return type_specifier->firstToken();
+ if (declarator)
+ return declarator->firstToken();
+ return dot_dot_dot_token;
}
unsigned ExceptionDeclarationAST::lastToken() const
{
- assert(0 && "review me");
if (dot_dot_dot_token)
return dot_dot_dot_token + 1;
else if (declarator)
return declarator->lastToken();
for (SpecifierAST *it = type_specifier; it; it = it->next) {
if (! it->next)
- return type_specifier->lastToken();
+ return it->lastToken();
}
return 0;
}