aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/ast/rust-ast.h
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2023-02-15 17:10:54 +0100
committerArthur Cohen <arthur.cohen@embecosm.com>2023-04-06 10:47:24 +0200
commitfa7675df86ad2f22d0d349708da5cd363ed03f0f (patch)
tree5754b5afdad521494c2669c13cf5b83d417ff985 /gcc/rust/ast/rust-ast.h
parent3b342e11627f2050cb0ecfe52d79de2060795b50 (diff)
downloadgcc-fa7675df86ad2f22d0d349708da5cd363ed03f0f.zip
gcc-fa7675df86ad2f22d0d349708da5cd363ed03f0f.tar.gz
gcc-fa7675df86ad2f22d0d349708da5cd363ed03f0f.tar.bz2
gccrs: ast: Refactor TraitItem to keep Location info
gcc/rust/ChangeLog: * ast/rust-ast.h: Keep location in TraitItem base class * ast/rust-item.h (class TraitItemFunc): Use base class location instead. (class TraitItemMethod): Likewise. (class TraitItemConst): Likewise. (class TraitItemType): Likewise. * ast/rust-macro.h: Likewise.
Diffstat (limited to 'gcc/rust/ast/rust-ast.h')
-rw-r--r--gcc/rust/ast/rust-ast.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/rust/ast/rust-ast.h b/gcc/rust/ast/rust-ast.h
index d986fdf..585bdb0 100644
--- a/gcc/rust/ast/rust-ast.h
+++ b/gcc/rust/ast/rust-ast.h
@@ -1358,12 +1358,15 @@ protected:
class TraitItem
{
protected:
- TraitItem () : node_id (Analysis::Mappings::get ()->get_next_node_id ()) {}
+ TraitItem (Location locus)
+ : node_id (Analysis::Mappings::get ()->get_next_node_id ()), locus (locus)
+ {}
// Clone function implementation as pure virtual method
virtual TraitItem *clone_trait_item_impl () const = 0;
NodeId node_id;
+ Location locus;
public:
virtual ~TraitItem () {}
@@ -1382,6 +1385,7 @@ public:
virtual bool is_marked_for_strip () const = 0;
NodeId get_node_id () const { return node_id; }
+ Location get_locus () const { return locus; }
};
/* Abstract base class for items used within an inherent impl block (the impl