enum, union

This commit is contained in:
agra
2026-02-14 13:17:22 +02:00
parent 4ff828fd1a
commit 025b790411
14 changed files with 537 additions and 245 deletions

View File

@@ -1616,7 +1616,8 @@ pub const VM = struct {
},
.enum_decl => |ed| {
if (std.mem.eql(u8, ed.name, name)) {
const val = Value{ .type_val = .{ .enum_type = name } };
const ty: Type = if (ed.variant_types.len > 0) .{ .union_type = name } else .{ .enum_type = name };
const val = Value{ .type_val = ty };
try self.globals.put(name, val);
return val;
}