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
This commit is contained in:
Philip Herron
2023-01-12 16:40:30 +00:00
committed by Arthur Cohen
parent 8d1d08cdbc
commit c1b1bbbc64
2 changed files with 28 additions and 12 deletions

View File

@@ -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

View File

@@ -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;