authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-02-10 23:25:23-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-02-11 13:38:56-07:00
logeda58a2f46be6ada4461bb0ae883004b8df8d4e9
treef6c2708d1c9b273375135afe8f113b4823ca35b0
parent7680c5330cbc9141b9a5444e30c512b6068ab50d

TypedValue: fix printing some nested things


1 files changed, 16 insertions(+), 8 deletions(-)

src/TypedValue.zig+16-8
...@@ -367,18 +367,26 @@ pub fn print(...@@ -367,18 +367,26 @@ pub fn print(
367 try writer.writeAll(".?");367 try writer.writeAll(".?");
368 },368 },
369 .elem => |elem| {369 .elem => |elem| {
370 try print(.{370 if (level == 0) {
371 .ty = Type.fromInterned(ip.typeOf(elem.base)),371 try writer.writeAll("(...)");
372 .val = Value.fromInterned(elem.base),372 } else {
373 }, writer, level - 1, mod);373 try print(.{
374 .ty = Type.fromInterned(ip.typeOf(elem.base)),
375 .val = Value.fromInterned(elem.base),
376 }, writer, level - 1, mod);
377 }
374 try writer.print("[{}]", .{elem.index});378 try writer.print("[{}]", .{elem.index});
375 },379 },
376 .field => |field| {380 .field => |field| {
377 const ptr_container_ty = Type.fromInterned(ip.typeOf(field.base));381 const ptr_container_ty = Type.fromInterned(ip.typeOf(field.base));
378 try print(.{382 if (level == 0) {
379 .ty = ptr_container_ty,383 try writer.writeAll("(...)");
380 .val = Value.fromInterned(field.base),384 } else {
381 }, writer, level - 1, mod);385 try print(.{
386 .ty = ptr_container_ty,
387 .val = Value.fromInterned(field.base),
388 }, writer, level - 1, mod);
389 }
382390
383 const container_ty = ptr_container_ty.childType(mod);391 const container_ty = ptr_container_ty.childType(mod);
384 switch (container_ty.zigTypeTag(mod)) {392 switch (container_ty.zigTypeTag(mod)) {