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.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/rust/resolve/rust-ast-resolve-expr.h b/gcc/rust/resolve/rust-ast-resolve-expr.h
index e7e37d4..c5f88f9 100644
--- a/gcc/rust/resolve/rust-ast-resolve-expr.h
+++ b/gcc/rust/resolve/rust-ast-resolve-expr.h
@@ -39,10 +39,22 @@ public:
resolver.resolve_path (expr);
}
+ static void go (AST::QualifiedPathInExpression *expr, NodeId parent)
+ {
+ ResolvePath resolver (parent);
+ resolver.resolve_path (expr);
+ }
+
private:
ResolvePath (NodeId parent) : ResolverBase (parent) {}
void resolve_path (AST::PathInExpression *expr);
+
+ void resolve_path (AST::QualifiedPathInExpression *expr);
+
+ void resolve_segments (CanonicalPath prefix, size_t offs,
+ std::vector<AST::PathExprSegment> &segs,
+ NodeId expr_node_id, Location expr_locus);
};
class ResolveExpr : public ResolverBase
@@ -75,6 +87,11 @@ public:
ResolvePath::go (&expr, parent);
}
+ void visit (AST::QualifiedPathInExpression &expr) override
+ {
+ ResolvePath::go (&expr, parent);
+ }
+
void visit (AST::ReturnExpr &expr) override
{
if (expr.has_returned_expr ())