| ... | @@ -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 | } |
| 382 | | 390 | |
| 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)) { |