Constify TypeInfo
parent
ca6db2d008
commit
647901b4a8
|
@ -235,8 +235,8 @@ pub const TypeInfo = union(enum) {
|
|||
/// therefore must be kept in sync with the compiler implementation.
|
||||
pub const Struct = struct {
|
||||
layout: ContainerLayout,
|
||||
fields: []StructField,
|
||||
decls: []Declaration,
|
||||
fields: []const StructField,
|
||||
decls: []const Declaration,
|
||||
};
|
||||
|
||||
/// This data structure is used by the Zig language code generation and
|
||||
|
@ -261,7 +261,7 @@ pub const TypeInfo = union(enum) {
|
|||
|
||||
/// This data structure is used by the Zig language code generation and
|
||||
/// therefore must be kept in sync with the compiler implementation.
|
||||
pub const ErrorSet = ?[]Error;
|
||||
pub const ErrorSet = ?[]const Error;
|
||||
|
||||
/// This data structure is used by the Zig language code generation and
|
||||
/// therefore must be kept in sync with the compiler implementation.
|
||||
|
@ -275,8 +275,8 @@ pub const TypeInfo = union(enum) {
|
|||
pub const Enum = struct {
|
||||
layout: ContainerLayout,
|
||||
tag_type: type,
|
||||
fields: []EnumField,
|
||||
decls: []Declaration,
|
||||
fields: []const EnumField,
|
||||
decls: []const Declaration,
|
||||
is_exhaustive: bool,
|
||||
};
|
||||
|
||||
|
@ -293,8 +293,8 @@ pub const TypeInfo = union(enum) {
|
|||
pub const Union = struct {
|
||||
layout: ContainerLayout,
|
||||
tag_type: ?type,
|
||||
fields: []UnionField,
|
||||
decls: []Declaration,
|
||||
fields: []const UnionField,
|
||||
decls: []const Declaration,
|
||||
};
|
||||
|
||||
/// This data structure is used by the Zig language code generation and
|
||||
|
@ -312,7 +312,7 @@ pub const TypeInfo = union(enum) {
|
|||
is_generic: bool,
|
||||
is_var_args: bool,
|
||||
return_type: ?type,
|
||||
args: []FnArg,
|
||||
args: []const FnArg,
|
||||
};
|
||||
|
||||
/// This data structure is used by the Zig language code generation and
|
||||
|
@ -358,7 +358,7 @@ pub const TypeInfo = union(enum) {
|
|||
is_export: bool,
|
||||
lib_name: ?[]const u8,
|
||||
return_type: type,
|
||||
arg_names: [][]const u8,
|
||||
arg_names: []const []const u8,
|
||||
|
||||
/// This data structure is used by the Zig language code generation and
|
||||
/// therefore must be kept in sync with the compiler implementation.
|
||||
|
|
|
@ -219,7 +219,7 @@ test "std.meta.containerLayout" {
|
|||
testing.expect(containerLayout(U3) == .Extern);
|
||||
}
|
||||
|
||||
pub fn declarations(comptime T: type) []TypeInfo.Declaration {
|
||||
pub fn declarations(comptime T: type) []const TypeInfo.Declaration {
|
||||
return switch (@typeInfo(T)) {
|
||||
.Struct => |info| info.decls,
|
||||
.Enum => |info| info.decls,
|
||||
|
@ -243,7 +243,7 @@ test "std.meta.declarations" {
|
|||
fn a() void {}
|
||||
};
|
||||
|
||||
const decls = comptime [_][]TypeInfo.Declaration{
|
||||
const decls = comptime [_][]const TypeInfo.Declaration{
|
||||
declarations(E1),
|
||||
declarations(S1),
|
||||
declarations(U1),
|
||||
|
@ -292,10 +292,10 @@ test "std.meta.declarationInfo" {
|
|||
}
|
||||
|
||||
pub fn fields(comptime T: type) switch (@typeInfo(T)) {
|
||||
.Struct => []TypeInfo.StructField,
|
||||
.Union => []TypeInfo.UnionField,
|
||||
.ErrorSet => []TypeInfo.Error,
|
||||
.Enum => []TypeInfo.EnumField,
|
||||
.Struct => []const TypeInfo.StructField,
|
||||
.Union => []const TypeInfo.UnionField,
|
||||
.ErrorSet => []const TypeInfo.Error,
|
||||
.Enum => []const TypeInfo.EnumField,
|
||||
else => @compileError("Expected struct, union, error set or enum type, found '" ++ @typeName(T) ++ "'"),
|
||||
} {
|
||||
return switch (@typeInfo(T)) {
|
||||
|
|
Loading…
Reference in New Issue