summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/AST.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/cplusplus/AST.cpp')
-rw-r--r--src/shared/cplusplus/AST.cpp82
1 files changed, 77 insertions, 5 deletions
diff --git a/src/shared/cplusplus/AST.cpp b/src/shared/cplusplus/AST.cpp
index e37a1b34b7..348f9cddd7 100644
--- a/src/shared/cplusplus/AST.cpp
+++ b/src/shared/cplusplus/AST.cpp
@@ -144,6 +144,42 @@ unsigned AccessDeclarationAST::lastToken() const
return access_specifier_token + 1;
}
+unsigned QtPropertyDeclarationNamingItemAST::firstToken() const
+{
+ return item_name_token;
+}
+
+unsigned QtPropertyDeclarationNamingItemAST::lastToken() const
+{
+ if (name_value)
+ return name_value->lastToken();
+ else
+ return item_name_token + 1;
+}
+
+unsigned QtPropertyDeclarationBoolItemAST::firstToken() const
+{
+ return item_name_token;
+}
+
+unsigned QtPropertyDeclarationBoolItemAST::lastToken() const
+{
+ if (bool_value)
+ return bool_value->lastToken();
+ else
+ return item_name_token + 1;
+}
+
+unsigned QtPropertyDeclarationFlaggingItemAST::firstToken() const
+{
+ return item_name_token;
+}
+
+unsigned QtPropertyDeclarationFlaggingItemAST::lastToken() const
+{
+ return item_name_token + 1;
+}
+
unsigned QtPropertyDeclarationAST::firstToken() const
{
return property_specifier_token;
@@ -151,7 +187,18 @@ unsigned QtPropertyDeclarationAST::firstToken() const
unsigned QtPropertyDeclarationAST::lastToken() const
{
- return rparen_token;
+ if (rparen_token)
+ return rparen_token + 1;
+ else if (property_declaration_items)
+ return property_declaration_items->lastToken();
+ else if (property_name)
+ return property_name->lastToken();
+ else if (type_id)
+ return type_id->lastToken();
+ else if (lparen_token)
+ return lparen_token + 1;
+ else
+ return property_specifier_token + 1;
}
unsigned QtEnumDeclarationAST::firstToken() const
@@ -161,17 +208,31 @@ unsigned QtEnumDeclarationAST::firstToken() const
unsigned QtEnumDeclarationAST::lastToken() const
{
- return rparen_token;
+ if (rparen_token)
+ return rparen_token + 1;
+ else if (enumerator_list)
+ return enumerator_list->lastToken();
+ else if (lparen_token)
+ return lparen_token + 1;
+ else
+ return enum_specifier_token + 1;
}
unsigned QtFlagsDeclarationAST::firstToken() const
{
- return this->flags_specifier_token;
+ return flags_specifier_token + 1;
}
unsigned QtFlagsDeclarationAST::lastToken() const
{
- return rparen_token;
+ if (rparen_token)
+ return rparen_token + 1;
+ else if (flag_enums_list)
+ return flag_enums_list->lastToken();
+ else if (lparen_token)
+ return lparen_token + 1;
+ else
+ return flags_specifier_token + 1;
}
unsigned QtDeclareFlagsDeclarationAST::firstToken() const
@@ -181,7 +242,18 @@ unsigned QtDeclareFlagsDeclarationAST::firstToken() const
unsigned QtDeclareFlagsDeclarationAST::lastToken() const
{
- return rparen_token;
+ if (rparen_token)
+ return rparen_token + 1;
+ else if (flags_name)
+ return flags_name->lastToken();
+ else if (comma_token)
+ return comma_token + 1;
+ else if (enum_name)
+ return enum_name->lastToken();
+ else if (lparen_token)
+ return lparen_token + 1;
+ else
+ return declareflags_specifier_token + 1;
}
unsigned ArrayAccessAST::firstToken() const