mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
TypedValue: fix printing some nested things
This commit is contained in:
parent
7680c5330c
commit
eda58a2f46
1 changed files with 16 additions and 8 deletions
|
|
@ -367,18 +367,26 @@ pub fn print(
|
||||||
try writer.writeAll(".?");
|
try writer.writeAll(".?");
|
||||||
},
|
},
|
||||||
.elem => |elem| {
|
.elem => |elem| {
|
||||||
|
if (level == 0) {
|
||||||
|
try writer.writeAll("(...)");
|
||||||
|
} else {
|
||||||
try print(.{
|
try print(.{
|
||||||
.ty = Type.fromInterned(ip.typeOf(elem.base)),
|
.ty = Type.fromInterned(ip.typeOf(elem.base)),
|
||||||
.val = Value.fromInterned(elem.base),
|
.val = Value.fromInterned(elem.base),
|
||||||
}, writer, level - 1, mod);
|
}, writer, level - 1, mod);
|
||||||
|
}
|
||||||
try writer.print("[{}]", .{elem.index});
|
try writer.print("[{}]", .{elem.index});
|
||||||
},
|
},
|
||||||
.field => |field| {
|
.field => |field| {
|
||||||
const ptr_container_ty = Type.fromInterned(ip.typeOf(field.base));
|
const ptr_container_ty = Type.fromInterned(ip.typeOf(field.base));
|
||||||
|
if (level == 0) {
|
||||||
|
try writer.writeAll("(...)");
|
||||||
|
} else {
|
||||||
try print(.{
|
try print(.{
|
||||||
.ty = ptr_container_ty,
|
.ty = ptr_container_ty,
|
||||||
.val = Value.fromInterned(field.base),
|
.val = Value.fromInterned(field.base),
|
||||||
}, writer, level - 1, mod);
|
}, writer, level - 1, mod);
|
||||||
|
}
|
||||||
|
|
||||||
const container_ty = ptr_container_ty.childType(mod);
|
const container_ty = ptr_container_ty.childType(mod);
|
||||||
switch (container_ty.zigTypeTag(mod)) {
|
switch (container_ty.zigTypeTag(mod)) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue