#include #include #include #include #include #include // Type reference (convert T => T*) gen_res_t gen_reference(fzl_gen_t *gen, fzl_node_t *node) { if (!gen || !node) return (gen_res_t){.error = true}; char *refname = (char *)node->token->value; ssize_t slot = gen_resolve_extern_type(gen, refname); if (slot == -1) return (gen_res_t){.error = true}; type_buf.kind = FZL_EXTERN_KIND_REF; type_buf.ref_target = (fzl_extern_type_ref_t){.is_primitive = false, .type_slot = slot}; return (gen_res_t){.error = false, .type = FZL_TYPE_NULL, .classname = NULL}; }