mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
"Fix" printing of embedded any to prevent recursion
This commit is contained in:
+20
-6
@@ -783,8 +783,12 @@ fmt_value :: proc(fi: ^FmtInfo, v: any, verb: rune) {
|
|||||||
write_string(fi.buf, b.names[i]);
|
write_string(fi.buf, b.names[i]);
|
||||||
write_string(fi.buf, " = ");
|
write_string(fi.buf, " = ");
|
||||||
|
|
||||||
data := ^u8(v.data) + b.offsets[i];
|
if t := b.types[i]; types.is_any(t) {
|
||||||
fmt_arg(fi, any{rawptr(data), b.types[i]}, 'v');
|
write_string(fi.buf, "any{}");
|
||||||
|
} else {
|
||||||
|
data := ^u8(v.data) + b.offsets[i];
|
||||||
|
fmt_arg(fi, any{rawptr(data), t}, 'v');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
write_byte(fi.buf, '}');
|
write_byte(fi.buf, '}');
|
||||||
|
|
||||||
@@ -897,8 +901,13 @@ fmt_value :: proc(fi: ^FmtInfo, v: any, verb: rune) {
|
|||||||
|
|
||||||
write_string(fi.buf, info.names[i]);
|
write_string(fi.buf, info.names[i]);
|
||||||
write_string(fi.buf, " = ");
|
write_string(fi.buf, " = ");
|
||||||
data := ^u8(v.data) + info.offsets[i];
|
|
||||||
fmt_value(fi, any{rawptr(data), info.types[i]}, 'v');
|
if t := info.types[i]; types.is_any(t) {
|
||||||
|
write_string(fi.buf, "any{}");
|
||||||
|
} else {
|
||||||
|
data := ^u8(v.data) + info.offsets[i];
|
||||||
|
fmt_arg(fi, any{rawptr(data), t}, 'v');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case Union:
|
case Union:
|
||||||
@@ -911,8 +920,13 @@ fmt_value :: proc(fi: ^FmtInfo, v: any, verb: rune) {
|
|||||||
|
|
||||||
write_string(fi.buf, cf.names[i]);
|
write_string(fi.buf, cf.names[i]);
|
||||||
write_string(fi.buf, " = ");
|
write_string(fi.buf, " = ");
|
||||||
data := ^u8(v.data) + cf.offsets[i];
|
|
||||||
fmt_value(fi, any{rawptr(data), cf.types[i]}, 'v');
|
if t := cf.types[i]; types.is_any(t) {
|
||||||
|
write_string(fi.buf, "any{}");
|
||||||
|
} else {
|
||||||
|
data := ^u8(v.data) + cf.offsets[i];
|
||||||
|
fmt_arg(fi, any{rawptr(data), t}, 'v');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case RawUnion:
|
case RawUnion:
|
||||||
|
|||||||
Reference in New Issue
Block a user