Work around stage1 not yet returning null-terminated @typeInfo strings

These changes can be reverted the next time stage1 is updated.
This commit is contained in:
Carl Åstholm 2024-01-07 15:52:24 +01:00
parent a02bd81760
commit c8fa767f08
5 changed files with 6 additions and 6 deletions

View File

@ -645,7 +645,7 @@ pub const Arguments = blk: {
var union_fields: [decls.len]ZigType.UnionField = undefined;
for (decls, &union_fields) |decl, *field| {
field.* = .{
.name = decl.name,
.name = decl.name ++ "",
.type = @field(attributes, decl.name),
.alignment = 0,
};

View File

@ -14,7 +14,7 @@ pub fn EnumFieldStruct(comptime E: type, comptime Data: type, comptime field_def
var fields: []const StructField = &[_]StructField{};
for (std.meta.fields(E)) |field| {
fields = fields ++ &[_]StructField{.{
.name = field.name,
.name = field.name ++ "",
.type = Data,
.default_value = if (field_default) |d| @as(?*const anyopaque, @ptrCast(&d)) else null,
.is_comptime = false,

View File

@ -635,7 +635,7 @@ pub fn PollFiles(comptime StreamEnum: type) type {
var struct_fields: [enum_fields.len]std.builtin.Type.StructField = undefined;
for (&struct_fields, enum_fields) |*struct_field, enum_field| {
struct_field.* = .{
.name = enum_field.name,
.name = enum_field.name ++ "",
.type = fs.File,
.default_value = null,
.is_comptime = false,

View File

@ -556,7 +556,7 @@ pub fn FieldEnum(comptime T: type) type {
var decls = [_]std.builtin.Type.Declaration{};
inline for (field_infos, 0..) |field, i| {
enumFields[i] = .{
.name = field.name,
.name = field.name ++ "",
.value = i,
};
}
@ -628,7 +628,7 @@ pub fn DeclEnum(comptime T: type) type {
var enumDecls: [fieldInfos.len]std.builtin.Type.EnumField = undefined;
var decls = [_]std.builtin.Type.Declaration{};
inline for (fieldInfos, 0..) |field, i| {
enumDecls[i] = .{ .name = field.name, .value = i };
enumDecls[i] = .{ .name = field.name ++ "", .value = i };
}
return @Type(.{
.Enum = .{

View File

@ -4050,7 +4050,7 @@ pub const Value = struct {
const tags = @typeInfo(Tag).Enum.fields;
var fields: [tags.len]std.builtin.Type.StructField = undefined;
for (&fields, tags) |*field, t| field.* = .{
.name = t.name,
.name = t.name ++ "",
.type = *@field(Tag, t.name).Type(),
.default_value = null,
.is_comptime = false,