ctx.scoped (Rib::Kind::Item, s.get_node_id (), s_vis);
}
+void
+Late::visit (AST::StructExprStruct &s)
+{
+ auto resolved = ctx.types.resolve_path (s.get_struct_name ().get_segments ());
+
+ ctx.map_usage (Usage (s.get_struct_name ().get_node_id ()),
+ Definition (resolved->get_node_id ()));
+}
+
void
Late::visit (AST::StructExprStructBase &s)
{
- auto resolved = ctx.types.get (s.get_struct_name ().as_string ());
+ auto resolved = ctx.types.resolve_path (s.get_struct_name ().get_segments ());
ctx.map_usage (Usage (s.get_struct_name ().get_node_id ()),
Definition (resolved->get_node_id ()));
void
Late::visit (AST::StructExprStructFields &s)
{
- auto resolved = ctx.types.get (s.get_struct_name ().as_string ());
+ auto resolved = ctx.types.resolve_path (s.get_struct_name ().get_segments ());
ctx.map_usage (Usage (s.get_struct_name ().get_node_id ()),
Definition (resolved->get_node_id ()));
void visit (AST::IdentifierExpr &) override;
void visit (AST::PathInExpression &) override;
void visit (AST::TypePath &) override;
+ void visit (AST::StructExprStruct &) override;
void visit (AST::StructExprStructBase &) override;
void visit (AST::StructExprStructFields &) override;
void visit (AST::StructStruct &) override;