diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2010-06-23 14:38:41 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2010-06-23 14:39:14 +0200 |
commit | da817310c2c07a107d21e743370a09d4adfc4852 (patch) | |
tree | ac7efd8d5e9bebf5dd3dbf9a4b3e385a6bc44376 /src/shared/cplusplus/AST.cpp | |
parent | ed2862acce3f22bd1d7c83203eb445696426d438 (diff) | |
download | qt-creator-da817310c2c07a107d21e743370a09d4adfc4852.tar.gz |
Get rid of PostfixExpressionAST and store the base expression together with the PostfixAST nodes.
Diffstat (limited to 'src/shared/cplusplus/AST.cpp')
-rw-r--r-- | src/shared/cplusplus/AST.cpp | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/src/shared/cplusplus/AST.cpp b/src/shared/cplusplus/AST.cpp index 85c87ec7ee..753a2178d0 100644 --- a/src/shared/cplusplus/AST.cpp +++ b/src/shared/cplusplus/AST.cpp @@ -287,6 +287,9 @@ unsigned QtInterfacesDeclarationAST::lastToken() const unsigned ArrayAccessAST::firstToken() const { + if (base_expression) + return base_expression->firstToken(); + return lbracket_token; } @@ -296,7 +299,9 @@ unsigned ArrayAccessAST::lastToken() const return rbracket_token + 1; else if (expression) return expression->lastToken(); - return lbracket_token + 1; + if (lbracket_token) + return lbracket_token + 1; + return base_expression->lastToken(); } @@ -474,6 +479,9 @@ unsigned BreakStatementAST::lastToken() const unsigned CallAST::firstToken() const { + if (base_expression) + return base_expression->firstToken(); + return lparen_token; } @@ -485,7 +493,10 @@ unsigned CallAST::lastToken() const else if (expression_list) return expression_list->lastToken(); - return lparen_token + 1; + if (lparen_token) + return lparen_token + 1; + + return base_expression->lastToken(); } @@ -1183,6 +1194,8 @@ unsigned MemInitializerAST::lastToken() const unsigned MemberAccessAST::firstToken() const { + if (base_expression) + return base_expression->firstToken(); return access_token; } @@ -1192,7 +1205,9 @@ unsigned MemberAccessAST::lastToken() const return member_name->lastToken(); else if (template_token) return template_token + 1; - return access_token + 1; + else if (access_token) + return access_token + 1; + return base_expression->lastToken(); } @@ -1488,24 +1503,15 @@ unsigned PointerToMemberAST::lastToken() const unsigned PostIncrDecrAST::firstToken() const { + if (base_expression) + return base_expression->firstToken(); return incr_decr_token; } unsigned PostIncrDecrAST::lastToken() const { - return incr_decr_token + 1; -} - - -unsigned PostfixExpressionAST::firstToken() const -{ - return base_expression->firstToken(); -} - -unsigned PostfixExpressionAST::lastToken() const -{ - if (postfix_expression_list) - return postfix_expression_list->lastToken(); + if (incr_decr_token) + return incr_decr_token + 1; return base_expression->lastToken(); } |