commit fb16ad3add77eff23f9c5dbaf802fdecfb4c8cc0 (tree)
parent ca3cf93b21bc77535fbaa7ca6aa411654dcfe069
Author: Andrew Kelley <andrew@ziglang.org>
Date: Wed, 3 May 2023 19:20:23 -0700
Type: update to use InternPool for some methods
Diffstat:
1 file changed, 26 insertions(+), 14 deletions(-)
diff --git a/src/type.zig b/src/type.zig
@@ -5921,32 +5921,44 @@ pub const Type = struct {
};
pub fn isTuple(ty: Type) bool {
- return switch (ty.tag()) {
- .tuple, .empty_struct_literal => true,
- .@"struct" => ty.castTag(.@"struct").?.data.is_tuple,
- else => false,
+ return switch (ty.ip_index) {
+ .none => switch (ty.tag()) {
+ .tuple, .empty_struct_literal => true,
+ .@"struct" => ty.castTag(.@"struct").?.data.is_tuple,
+ else => false,
+ },
+ else => false, // TODO
};
}
pub fn isAnonStruct(ty: Type) bool {
- return switch (ty.tag()) {
- .anon_struct, .empty_struct_literal => true,
- else => false,
+ return switch (ty.ip_index) {
+ .none => switch (ty.tag()) {
+ .anon_struct, .empty_struct_literal => true,
+ else => false,
+ },
+ else => false, // TODO
};
}
pub fn isTupleOrAnonStruct(ty: Type) bool {
- return switch (ty.tag()) {
- .tuple, .empty_struct_literal, .anon_struct => true,
- .@"struct" => ty.castTag(.@"struct").?.data.is_tuple,
- else => false,
+ return switch (ty.ip_index) {
+ .none => switch (ty.tag()) {
+ .tuple, .empty_struct_literal, .anon_struct => true,
+ .@"struct" => ty.castTag(.@"struct").?.data.is_tuple,
+ else => false,
+ },
+ else => false, // TODO
};
}
pub fn isSimpleTuple(ty: Type) bool {
- return switch (ty.tag()) {
- .tuple, .empty_struct_literal => true,
- else => false,
+ return switch (ty.ip_index) {
+ .none => switch (ty.tag()) {
+ .tuple, .empty_struct_literal => true,
+ else => false,
+ },
+ else => false, // TODO
};
}