diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2023-12-20 03:04:36 -0500 |
---|---|---|
committer | P-E-P <32375388+P-E-P@users.noreply.github.com> | 2024-01-24 09:19:59 +0000 |
commit | 9a622724c3a0bd025e2e28b33a21b410cb262fe9 (patch) | |
tree | 15d8976a2c9193fcb1a9d731ccfdbdef0ee9d156 /gcc/rust/parse | |
parent | 7b203f66c1302c8783cf76b2b7604377073d0541 (diff) | |
download | gcc-9a622724c3a0bd025e2e28b33a21b410cb262fe9.zip gcc-9a622724c3a0bd025e2e28b33a21b410cb262fe9.tar.gz gcc-9a622724c3a0bd025e2e28b33a21b410cb262fe9.tar.bz2 |
Remove TraitImplItem
gcc/rust/ChangeLog:
* ast/rust-ast-full-decls.h
(class TraitImplItem): Remove forward declaration.
(class AssociatedItem): Add forward declaration.
* ast/rust-ast.h
(class TraitImplItem): Remove.
(class TraitItem): Inherit from AssociatedItem.
(SingleASTNode::take_trait_impl_item):
Return std::unique_ptr<AssociatedItem> instead of
std::unique_ptr<TraitImplItem>.
* ast/rust-item.h
(class Function): Inherit from AssociatedItem instead of
TraitImplItem.
(class TypeAlias): Likewise.
(class ConstantItem): Likewise.
(class TraitImpl): Store items as AssociatedItem.
* expand/rust-derive-clone.cc
(DeriveClone::clone_fn): Return std::unique_ptr<AssociatedItem>.
(DeriveClone::clone_impl): Take std::unique_ptr<AssociatedItem>.
* expand/rust-derive-clone.h
(DeriveClone::clone_fn): Return std::unique_ptr<AssociatedItem>.
(DeriveClone::clone_impl): Take std::unique_ptr<AssociatedItem>.
* expand/rust-expand-visitor.cc
(ExpandVisitor::visit): Handle changes to
SingleASTNode::take_trait_impl_item.
* parse/rust-parse-impl.h
(Parser::parse_impl): Parse TraitImpl as containing AssociatedItem.
(Parser::parse_trait_impl_item): Return
std::unique_ptr<AssociatedItem>.
(Parser::parse_trait_impl_function_or_method): Likewise.
* parse/rust-parse.h
(Parser::parse_trait_impl_item): Return
std::unique_ptr<AssociatedItem>.
(Parser::parse_trait_impl_function_or_method): Likewise.
Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
Diffstat (limited to 'gcc/rust/parse')
-rw-r--r-- | gcc/rust/parse/rust-parse-impl.h | 8 | ||||
-rw-r--r-- | gcc/rust/parse/rust-parse.h | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index a695825..d1cfa36 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -5492,12 +5492,12 @@ Parser<ManagedTokenSource>::parse_impl (AST::Visibility vis, AST::AttrVec inner_attrs = parse_inner_attributes (); // parse trait impl items - std::vector<std::unique_ptr<AST::TraitImplItem>> impl_items; + std::vector<std::unique_ptr<AST::AssociatedItem>> impl_items; const_TokenPtr t = lexer.peek_token (); while (t->get_id () != RIGHT_CURLY) { - std::unique_ptr<AST::TraitImplItem> impl_item + std::unique_ptr<AST::AssociatedItem> impl_item = parse_trait_impl_item (); if (impl_item == nullptr) @@ -5759,7 +5759,7 @@ Parser<ManagedTokenSource>::parse_inherent_impl_function_or_method ( // Parses a single trait impl item (item inside a trait impl block). template <typename ManagedTokenSource> -std::unique_ptr<AST::TraitImplItem> +std::unique_ptr<AST::AssociatedItem> Parser<ManagedTokenSource>::parse_trait_impl_item () { // parse outer attributes (if they exist) @@ -5836,7 +5836,7 @@ Parser<ManagedTokenSource>::parse_trait_impl_item () * smaller ones and prevents duplication of logic. Strictly, this parses a * function or method item inside a trait impl item block. */ template <typename ManagedTokenSource> -std::unique_ptr<AST::TraitImplItem> +std::unique_ptr<AST::AssociatedItem> Parser<ManagedTokenSource>::parse_trait_impl_function_or_method ( AST::Visibility vis, AST::AttrVec outer_attrs) { diff --git a/gcc/rust/parse/rust-parse.h b/gcc/rust/parse/rust-parse.h index 02f9021..3439754 100644 --- a/gcc/rust/parse/rust-parse.h +++ b/gcc/rust/parse/rust-parse.h @@ -171,7 +171,7 @@ public: std::unique_ptr<AST::ExternalItem> parse_external_item (); std::unique_ptr<AST::TraitItem> parse_trait_item (); std::unique_ptr<AST::AssociatedItem> parse_inherent_impl_item (); - std::unique_ptr<AST::TraitImplItem> parse_trait_impl_item (); + std::unique_ptr<AST::AssociatedItem> parse_trait_impl_item (); AST::PathInExpression parse_path_in_expression (); std::vector<std::unique_ptr<AST::LifetimeParam>> parse_lifetime_params (); AST::Visibility parse_visibility (); @@ -353,7 +353,7 @@ private: std::unique_ptr<AST::AssociatedItem> parse_inherent_impl_function_or_method (AST::Visibility vis, AST::AttrVec outer_attrs); - std::unique_ptr<AST::TraitImplItem> + std::unique_ptr<AST::AssociatedItem> parse_trait_impl_function_or_method (AST::Visibility vis, AST::AttrVec outer_attrs); std::unique_ptr<AST::ExternBlock> |