authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-09-20 15:11:26-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-09-21 14:48:40-07:00
log2671aa9058b3dcff147ef01dcf3876b0bb231673
tree054ac2d59d2812f8d7ef630c3396ee2050981ad1
parentc79da0d731aa6ba5e17da6ae92443c6588740b02

InternPool: fix nameIndex for tuples


1 files changed, 5 insertions(+), 1 deletions(-)

src/InternPool.zig+5-1
...@@ -439,7 +439,11 @@ pub const Key = union(enum) {...@@ -439,7 +439,11 @@ pub const Key = union(enum) {
439439
440 /// Look up field index based on field name.440 /// Look up field index based on field name.
441 pub fn nameIndex(self: StructType, ip: *const InternPool, name: NullTerminatedString) ?u32 {441 pub fn nameIndex(self: StructType, ip: *const InternPool, name: NullTerminatedString) ?u32 {
442 const names_map = self.names_map.unwrap() orelse return null;442 const names_map = self.names_map.unwrap() orelse {
443 const i = name.toUnsigned(ip) orelse return null;
444 if (i >= self.field_types.len) return null;
445 return i;
446 };
443 const map = &ip.maps.items[@intFromEnum(names_map)];447 const map = &ip.maps.items[@intFromEnum(names_map)];
444 const adapter: NullTerminatedString.Adapter = .{ .strings = self.field_names.get(ip) };448 const adapter: NullTerminatedString.Adapter = .{ .strings = self.field_names.get(ip) };
445 const field_index = map.getIndexAdapted(name, adapter) orelse return null;449 const field_index = map.getIndexAdapted(name, adapter) orelse return null;