diff options
author | Roberto Raggi <qtc-committer@nokia.com> | 2009-01-05 10:20:58 +0100 |
---|---|---|
committer | Roberto Raggi <qtc-committer@nokia.com> | 2009-01-05 10:20:58 +0100 |
commit | fb96595a658d2a3ef5e2bff89e151e6fad4cf10f (patch) | |
tree | affc28e3cc0eb7dbb53ae180f089ee7f9fdfb9e7 /shared/cplusplus/AST.cpp | |
parent | dfb837321101b924690b4b1588365eaa7930418a (diff) | |
download | qt-creator-fb96595a658d2a3ef5e2bff89e151e6fad4cf10f.tar.gz |
Implemented FunctionDeclaratorAST::lastToken().
Diffstat (limited to 'shared/cplusplus/AST.cpp')
-rw-r--r-- | shared/cplusplus/AST.cpp | 18 |
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) |