aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Herron <herron.philip@googlemail.com>2023-01-12 16:40:30 +0000
committerPhilip Herron <herron.philip@googlemail.com>2023-02-05 00:06:43 +0000
commit8e9f9807f35aeb63a21fc49c0fa55a76a6d3107e (patch)
tree7db4b0a145c7b73e0d69abeee07e8ae53f616ec4
parentbf724a30cc281528d993bd17d7c2d2c7c54d420a (diff)
downloadgcc-8e9f9807f35aeb63a21fc49c0fa55a76a6d3107e.zip
gcc-8e9f9807f35aeb63a21fc49c0fa55a76a6d3107e.tar.gz
gcc-8e9f9807f35aeb63a21fc49c0fa55a76a6d3107e.tar.bz2
gccrs: Move TypePredicateItem impl out of the header
This moves the implementation code out of the header and into its respective cc file. Signed-off-by: Philip Herron <herron.philip@googlemail.com> gcc/rust/ChangeLog: * typecheck/rust-tyty-bounds.cc (TypeBoundPredicateItem::error): refactor (TypeBoundPredicateItem::is_error): likewise (TypeBoundPredicateItem::get_parent): likewise * typecheck/rust-tyty.h: Move the implementation for the above
-rw-r--r--gcc/rust/typecheck/rust-tyty-bounds.cc24
-rw-r--r--gcc/rust/typecheck/rust-tyty.h16
2 files changed, 28 insertions, 12 deletions
diff --git a/gcc/rust/typecheck/rust-tyty-bounds.cc b/gcc/rust/typecheck/rust-tyty-bounds.cc
index e5057c8..a307dd3 100644
--- a/gcc/rust/typecheck/rust-tyty-bounds.cc
+++ b/gcc/rust/typecheck/rust-tyty-bounds.cc
@@ -364,6 +364,30 @@ TypeBoundPredicate::lookup_associated_item (const std::string &search) const
return TypeBoundPredicateItem (this, trait_item_ref);
}
+TypeBoundPredicateItem::TypeBoundPredicateItem (
+ const TypeBoundPredicate *parent,
+ const Resolver::TraitItemReference *trait_item_ref)
+ : parent (parent), trait_item_ref (trait_item_ref)
+{}
+
+TypeBoundPredicateItem
+TypeBoundPredicateItem::error ()
+{
+ return TypeBoundPredicateItem (nullptr, nullptr);
+}
+
+bool
+TypeBoundPredicateItem::is_error () const
+{
+ return parent == nullptr || trait_item_ref == nullptr;
+}
+
+const TypeBoundPredicate *
+TypeBoundPredicateItem::get_parent () const
+{
+ return parent;
+}
+
TypeBoundPredicateItem
TypeBoundPredicate::lookup_associated_item (
const Resolver::TraitItemReference *ref) const
diff --git a/gcc/rust/typecheck/rust-tyty.h b/gcc/rust/typecheck/rust-tyty.h
index 4f333a8..365bf7d 100644
--- a/gcc/rust/typecheck/rust-tyty.h
+++ b/gcc/rust/typecheck/rust-tyty.h
@@ -82,19 +82,11 @@ class TypeBoundPredicateItem
{
public:
TypeBoundPredicateItem (const TypeBoundPredicate *parent,
- const Resolver::TraitItemReference *trait_item_ref)
- : parent (parent), trait_item_ref (trait_item_ref)
- {}
+ const Resolver::TraitItemReference *trait_item_ref);
- static TypeBoundPredicateItem error ()
- {
- return TypeBoundPredicateItem (nullptr, nullptr);
- }
+ static TypeBoundPredicateItem error ();
- bool is_error () const
- {
- return parent == nullptr || trait_item_ref == nullptr;
- }
+ bool is_error () const;
BaseType *get_tyty_for_receiver (const TyTy::BaseType *receiver);
@@ -102,7 +94,7 @@ public:
bool needs_implementation () const;
- const TypeBoundPredicate *get_parent () const { return parent; }
+ const TypeBoundPredicate *get_parent () const;
Location get_locus () const;