stage1 支持结构体初始化

This commit is contained in:
zzy committed 2026-09-14 10:09:32 +08:00
1 parent 72ae6d6994
commit 9bdb7f892e
4 files changed
+72 -15

No files matched your search

+6 -7
View File
@@ -139,7 +139,6 @@ static void sema_resolve_attrs(spl_sema_t *sema, spl_ast_node_ref_vec_t *raw,
}
}
static spl_lang_type_id_t sema_parse(spl_sema_t *sema, spl_ast_node_ref_t ref);
static spl_lang_type_id_t sema_infer(spl_sema_t *sema, spl_ast_node_ref_t ref);
static spl_lang_type_id_t sema_check(spl_sema_t *sema, spl_ast_node_ref_t ref,
spl_lang_type_id_t expected);
@@ -493,12 +492,12 @@ static spl_lang_type_id_t sema_check(spl_sema_t *sema, spl_ast_node_ref_t ref,
}
sema_check(sema, item->struct_init_item.expr, ft);
}
for (usize i = 0; i < nfields; ++i) {
if (!seen[i]) {
SPL_ERROR(&n->dbg, "missing field `%s`", vec_at(irn->agg_type.variants, i).name);
sema->error_count++;
}
}
// for (usize i = 0; i < nfields; ++i) {
// if (!seen[i]) {
// SPL_ERROR(&n->dbg, "missing field `%s`", vec_at(irn->agg_type.variants, i).name);
// sema->error_count++;
// }
// }
free(seen);
n->resolved_lang_tid = expected;
n->expected_lang_tid = 0;