diff options
author | Philip Herron <philip.herron@embecosm.com> | 2021-10-25 17:08:55 +0100 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2021-10-27 10:18:33 +0100 |
commit | b01e62c136b1ebf27894c68669e265e67b941300 (patch) | |
tree | 1bfdd180d546c116a3a7b598cacf2db13805ab3e /gcc | |
parent | 7dc21da4d05ab19642f60c122e7d58d6372fff0d (diff) | |
download | gcc-b01e62c136b1ebf27894c68669e265e67b941300.zip gcc-b01e62c136b1ebf27894c68669e265e67b941300.tar.gz gcc-b01e62c136b1ebf27894c68669e265e67b941300.tar.bz2 |
Add WhereClauseItem::ItemType specifier to differentiate between items
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-item.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/rust/hir/tree/rust-hir-item.h b/gcc/rust/hir/tree/rust-hir-item.h index 30170a9..de067e6 100644 --- a/gcc/rust/hir/tree/rust-hir-item.h +++ b/gcc/rust/hir/tree/rust-hir-item.h @@ -141,6 +141,12 @@ protected: class WhereClauseItem { public: + enum ItemType + { + LIFETIME, + TYPE_BOUND, + }; + virtual ~WhereClauseItem () {} // Unique pointer custom clone function @@ -155,6 +161,8 @@ public: virtual Analysis::NodeMapping get_mappings () const = 0; + virtual ItemType get_item_type () const = 0; + protected: // Clone function implementation as pure virtual method virtual WhereClauseItem *clone_where_clause_item_impl () const = 0; @@ -190,6 +198,11 @@ public: return mappings; }; + ItemType get_item_type () const override final + { + return WhereClauseItem::ItemType::LIFETIME; + } + protected: // Clone function implementation as (not pure) virtual method LifetimeWhereClauseItem *clone_where_clause_item_impl () const override @@ -269,6 +282,11 @@ public: return mappings; }; + ItemType get_item_type () const override final + { + return WhereClauseItem::ItemType::TYPE_BOUND; + } + protected: // Clone function implementation as (not pure) virtual method TypeBoundWhereClauseItem *clone_where_clause_item_impl () const override |