From 1213123ad04e90d67b5c004ddc8744fe409cd839 Mon Sep 17 00:00:00 2001 From: Vallahor Date: Sun, 29 May 2022 05:56:26 -0300 Subject: [PATCH] fix: *.{} array are now printed as type *[]comptime --- lib/docs/main.js | 3 +++ src/Autodoc.zig | 21 +++++++++------------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/docs/main.js b/lib/docs/main.js index 50e5a5865b..0be071f4fc 100644 --- a/lib/docs/main.js +++ b/lib/docs/main.js @@ -1329,6 +1329,9 @@ var zigAnalysis; name += is_mutable; break; case pointerSizeEnum.Slice: + if (ptrObj.is_ref) { + name += "*"; + } name += "["; name += sentinel; name += "]"; diff --git a/src/Autodoc.zig b/src/Autodoc.zig index e07c2a9b29..d29a468b91 100644 --- a/src/Autodoc.zig +++ b/src/Autodoc.zig @@ -416,6 +416,7 @@ const DocData = struct { address_space: ?Expr = null, bit_start: ?Expr = null, host_size: ?Expr = null, + is_ref: bool = false, is_allowzero: bool = false, is_mutable: bool = false, is_volatile: bool = false, @@ -582,8 +583,9 @@ const DocData = struct { \\"has_align": {}, \\"has_addrspace": {}, \\"has_bit_range": {}, + \\"is_ref": {}, \\ - , .{ v.is_allowzero, v.is_mutable, v.is_volatile, v.has_sentinel, v.has_align, v.has_addrspace, v.has_bit_range }); + , .{ v.is_allowzero, v.is_mutable, v.is_volatile, v.has_sentinel, v.has_align, v.has_addrspace, v.has_bit_range, v.is_ref }); if (options.whitespace) |ws| try ws.outputIndent(w); try w.print( \\"child": @@ -1962,17 +1964,12 @@ fn walkInstruction( } const type_slot_index = self.types.items.len; - try self.types.append(self.arena, .{ - .Array = .{ - .len = .{ - .int = .{ - .value = operands.len - 1, - .negated = false, - }, - }, - .child = array_type.?, - }, - }); + try self.types.append(self.arena, .{ .Pointer = .{ + .size = .Slice, + .child = array_type.?, + .is_mutable = true, + .is_ref = true, + } }); return DocData.WalkResult{ .typeRef = .{ .type = type_slot_index },