aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/resolve/rust-ast-resolve-expr.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/rust/resolve/rust-ast-resolve-expr.h')
-rw-r--r--gcc/rust/resolve/rust-ast-resolve-expr.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/rust/resolve/rust-ast-resolve-expr.h b/gcc/rust/resolve/rust-ast-resolve-expr.h
index 3316b2a..54d33a8 100644
--- a/gcc/rust/resolve/rust-ast-resolve-expr.h
+++ b/gcc/rust/resolve/rust-ast-resolve-expr.h
@@ -129,6 +129,31 @@ public:
void visit (AST::BlockExpr &expr);
+ void visit (AST::ArrayElemsValues &elems)
+ {
+ elems.iterate ([&] (AST::Expr *elem) mutable -> bool {
+ ResolveExpr::go (elem, elems.get_node_id ());
+ return true;
+ });
+ }
+
+ void visit (AST::ArrayExpr &expr)
+ {
+ expr.get_array_elems ()->accept_vis (*this);
+ }
+
+ void visit (AST::ArrayIndexExpr &expr)
+ {
+ ResolveExpr::go (expr.get_array_expr ().get (), expr.get_node_id ());
+ ResolveExpr::go (expr.get_index_expr ().get (), expr.get_node_id ());
+ }
+
+ void visit (AST::ArrayElemsCopied &elems)
+ {
+ // TODO
+ gcc_unreachable ();
+ }
+
private:
ResolveExpr (NodeId parent) : ResolverBase (parent) {}
};