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