commit eda58a2f46be6ada4461bb0ae883004b8df8d4e9 (tree)
parent 7680c5330cbc9141b9a5444e30c512b6068ab50d
Author: Andrew Kelley <andrew@ziglang.org>
Date: Sat, 10 Feb 2024 23:25:23 -0700
TypedValue: fix printing some nested things
Diffstat:
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/src/TypedValue.zig b/src/TypedValue.zig
@@ -367,18 +367,26 @@ pub fn print(
try writer.writeAll(".?");
},
.elem => |elem| {
- try print(.{
- .ty = Type.fromInterned(ip.typeOf(elem.base)),
- .val = Value.fromInterned(elem.base),
- }, writer, level - 1, mod);
+ if (level == 0) {
+ try writer.writeAll("(...)");
+ } else {
+ try print(.{
+ .ty = Type.fromInterned(ip.typeOf(elem.base)),
+ .val = Value.fromInterned(elem.base),
+ }, writer, level - 1, mod);
+ }
try writer.print("[{}]", .{elem.index});
},
.field => |field| {
const ptr_container_ty = Type.fromInterned(ip.typeOf(field.base));
- try print(.{
- .ty = ptr_container_ty,
- .val = Value.fromInterned(field.base),
- }, writer, level - 1, mod);
+ if (level == 0) {
+ try writer.writeAll("(...)");
+ } else {
+ try print(.{
+ .ty = ptr_container_ty,
+ .val = Value.fromInterned(field.base),
+ }, writer, level - 1, mod);
+ }
const container_ty = ptr_container_ty.childType(mod);
switch (container_ty.zigTypeTag(mod)) {