From fb16ad3add77eff23f9c5dbaf802fdecfb4c8cc0 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 3 May 2023 19:20:23 -0700 Subject: [PATCH] Type: update to use InternPool for some methods --- src/type.zig | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/src/type.zig b/src/type.zig index 7c1414a1eb..0eff51251d 100644 --- 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 }; }