aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/resolve
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/rust/resolve')
-rw-r--r--gcc/rust/resolve/rust-ast-resolve-expr.cc32
-rw-r--r--gcc/rust/resolve/rust-ast-resolve-expr.h14
-rw-r--r--gcc/rust/resolve/rust-ast-resolve.cc1
3 files changed, 43 insertions, 4 deletions
diff --git a/gcc/rust/resolve/rust-ast-resolve-expr.cc b/gcc/rust/resolve/rust-ast-resolve-expr.cc
index 84fcb42..19f8169 100644
--- a/gcc/rust/resolve/rust-ast-resolve-expr.cc
+++ b/gcc/rust/resolve/rust-ast-resolve-expr.cc
@@ -477,5 +477,37 @@ ResolveExpr::visit (AST::MatchExpr &expr)
}
}
+void
+ResolveExpr::visit (AST::RangeFromToExpr &expr)
+{
+ resolve_expr (expr.get_from_expr ().get (), expr.get_node_id ());
+ resolve_expr (expr.get_to_expr ().get (), expr.get_node_id ());
+}
+
+void
+ResolveExpr::visit (AST::RangeFromExpr &expr)
+{
+ resolve_expr (expr.get_from_expr ().get (), expr.get_node_id ());
+}
+
+void
+ResolveExpr::visit (AST::RangeToExpr &expr)
+{
+ resolve_expr (expr.get_to_expr ().get (), expr.get_node_id ());
+}
+
+void
+ResolveExpr::visit (AST::RangeFullExpr &expr)
+{
+ // nothing to do
+}
+
+void
+ResolveExpr::visit (AST::RangeFromToInclExpr &expr)
+{
+ resolve_expr (expr.get_from_expr ().get (), expr.get_node_id ());
+ resolve_expr (expr.get_to_expr ().get (), expr.get_node_id ());
+}
+
} // namespace Resolver
} // namespace Rust
diff --git a/gcc/rust/resolve/rust-ast-resolve-expr.h b/gcc/rust/resolve/rust-ast-resolve-expr.h
index 8081133..d8bd203 100644
--- a/gcc/rust/resolve/rust-ast-resolve-expr.h
+++ b/gcc/rust/resolve/rust-ast-resolve-expr.h
@@ -21,10 +21,6 @@
#include "rust-ast-resolve-base.h"
#include "rust-ast-full.h"
-#include "rust-ast-resolve-struct-expr-field.h"
-#include "rust-ast-verify-assignee.h"
-#include "rust-ast-resolve-type.h"
-#include "rust-ast-resolve-pattern.h"
namespace Rust {
namespace Resolver {
@@ -140,6 +136,16 @@ public:
void visit (AST::MatchExpr &expr) override;
+ void visit (AST::RangeFromToExpr &expr) override;
+
+ void visit (AST::RangeFromExpr &expr) override;
+
+ void visit (AST::RangeToExpr &expr) override;
+
+ void visit (AST::RangeFullExpr &expr) override;
+
+ void visit (AST::RangeFromToInclExpr &expr) override;
+
protected:
void resolve_expr (AST::Expr *e, NodeId parent)
{
diff --git a/gcc/rust/resolve/rust-ast-resolve.cc b/gcc/rust/resolve/rust-ast-resolve.cc
index 0346988..094fa4a 100644
--- a/gcc/rust/resolve/rust-ast-resolve.cc
+++ b/gcc/rust/resolve/rust-ast-resolve.cc
@@ -22,6 +22,7 @@
#include "rust-ast-resolve-toplevel.h"
#include "rust-ast-resolve-item.h"
#include "rust-ast-resolve-expr.h"
+#include "rust-ast-resolve-struct-expr-field.h"
#define MKBUILTIN_TYPE(_X, _R, _TY) \
do \