aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/parse/rust-parse.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/rust/parse/rust-parse.h')
-rw-r--r--gcc/rust/parse/rust-parse.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/rust/parse/rust-parse.h b/gcc/rust/parse/rust-parse.h
index 928bb96..b2de05e 100644
--- a/gcc/rust/parse/rust-parse.h
+++ b/gcc/rust/parse/rust-parse.h
@@ -149,6 +149,8 @@ private:
std::vector<std::unique_ptr<AST::GenericParam> >
parse_generic_params_in_angles ();
std::vector<std::unique_ptr<AST::GenericParam> > parse_generic_params ();
+ template <typename EndTokenPred>
+ std::vector<std::unique_ptr<AST::GenericParam> > parse_generic_params (EndTokenPred is_end_token);
std::vector<std::unique_ptr<AST::LifetimeParam> > parse_lifetime_params ();
template <typename EndTokenPred>
std::vector<std::unique_ptr<AST::LifetimeParam> > parse_lifetime_params (EndTokenPred is_end_token);
@@ -159,6 +161,8 @@ private:
auto parse_non_ptr_sequence (ParseFunction parsing_function, EndTokenPred is_end_token, std::string error_msg = "failed to parse generic param in generic params") -> std::vector<decltype(parsing_function ())>;
AST::LifetimeParam parse_lifetime_param ();
std::vector<std::unique_ptr<AST::TypeParam> > parse_type_params ();
+ template <typename EndTokenPred>
+ std::vector<std::unique_ptr<AST::TypeParam> > parse_type_params (EndTokenPred is_end_token);
std::unique_ptr<AST::TypeParam> parse_type_param ();
std::vector<AST::FunctionParam> parse_function_params ();
AST::FunctionParam parse_function_param ();
@@ -170,10 +174,14 @@ private:
std::unique_ptr<AST::TypeBoundWhereClauseItem>
parse_type_bound_where_clause_item ();
std::vector<AST::LifetimeParam> parse_for_lifetimes ();
+ template <typename EndTokenPred>
+ std::vector<std::unique_ptr<AST::TypeParamBound> > parse_type_param_bounds (EndTokenPred is_end_token);
std::vector<std::unique_ptr<AST::TypeParamBound> > parse_type_param_bounds ();
std::unique_ptr<AST::TypeParamBound> parse_type_param_bound ();
std::unique_ptr<AST::TraitBound> parse_trait_bound ();
std::vector<AST::Lifetime> parse_lifetime_bounds ();
+ template <typename EndTokenPred>
+ std::vector<AST::Lifetime> parse_lifetime_bounds (EndTokenPred is_end_token);
AST::Lifetime parse_lifetime ();
std::unique_ptr<AST::TypeAlias>
parse_type_alias (AST::Visibility vis,
@@ -187,6 +195,8 @@ private:
std::unique_ptr<AST::Enum>
parse_enum (AST::Visibility vis, std::vector<AST::Attribute> outer_attrs);
std::vector<std::unique_ptr<AST::EnumItem> > parse_enum_items ();
+ template <typename EndTokenPred>
+ std::vector<std::unique_ptr<AST::EnumItem> > parse_enum_items (EndTokenPred is_end_token);
std::unique_ptr<AST::EnumItem> parse_enum_item ();
std::unique_ptr<AST::Union>
parse_union (AST::Visibility vis, std::vector<AST::Attribute> outer_attrs);