summaryrefslogtreecommitdiff
path: root/shared/cplusplus/AST.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <qtc-committer@nokia.com>2009-01-05 10:20:58 +0100
committerRoberto Raggi <qtc-committer@nokia.com>2009-01-05 10:20:58 +0100
commitfb96595a658d2a3ef5e2bff89e151e6fad4cf10f (patch)
treeaffc28e3cc0eb7dbb53ae180f089ee7f9fdfb9e7 /shared/cplusplus/AST.cpp
parentdfb837321101b924690b4b1588365eaa7930418a (diff)
downloadqt-creator-fb96595a658d2a3ef5e2bff89e151e6fad4cf10f.tar.gz
Implemented FunctionDeclaratorAST::lastToken().
Diffstat (limited to 'shared/cplusplus/AST.cpp')
-rw-r--r--shared/cplusplus/AST.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/shared/cplusplus/AST.cpp b/shared/cplusplus/AST.cpp
index ccf41ea9ed..1bfe31676c 100644
--- a/shared/cplusplus/AST.cpp
+++ b/shared/cplusplus/AST.cpp
@@ -1459,16 +1459,20 @@ unsigned FunctionDeclaratorAST::firstToken() const
unsigned FunctionDeclaratorAST::lastToken() const
{
- assert(0 && "review me");
if (exception_specification)
return exception_specification->lastToken();
- else if (cv_qualifier_seq) {
- for (SpecifierAST *it = cv_qualifier_seq; it; it = it->next) {
- if (! it->next)
- return it->lastToken();
- }
+
+ for (SpecifierAST *it = cv_qualifier_seq; it; it = it->next) {
+ if (! it->next)
+ return it->lastToken();
}
- return rparen_token + 1;
+
+ if (rparen_token)
+ return rparen_token + 1;
+ else if (parameters)
+ return parameters->lastToken();
+
+ return lparen_token + 1;
}
void FunctionDefinitionAST::accept0(ASTVisitor *visitor)