aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/ast/rust-path.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/rust/ast/rust-path.h')
-rw-r--r--gcc/rust/ast/rust-path.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/rust/ast/rust-path.h b/gcc/rust/ast/rust-path.h
index cc79e27..80ff960 100644
--- a/gcc/rust/ast/rust-path.h
+++ b/gcc/rust/ast/rust-path.h
@@ -207,6 +207,23 @@ public:
Kind get_kind () const { return kind; }
const Location &get_locus () const { return locus; }
+ void accept_vis (AST::ASTVisitor &visitor)
+ {
+ switch (get_kind ())
+ {
+ case Kind::Const:
+ get_expression ()->accept_vis (visitor);
+ break;
+ case Kind::Type:
+ get_type ()->accept_vis (visitor);
+ break;
+ case Kind::Either:
+ break;
+ case Kind::Error:
+ gcc_unreachable ();
+ }
+ }
+
std::unique_ptr<Expr> &get_expression ()
{
rust_assert (kind == Kind::Const);