motiejus/zig

fork of https://codeberg.org/ziglang/zig
git clone https://git.jakstys.lt/motiejus/zig.git
Log | Tree | Refs | README | LICENSE

commit 9c3165b81b1ee6474f4bdecf33149f587fd77510 (tree)
parent 9f0d2f94175a131d965e86a6396f5ac508b27bf8
Author: Krzysztof Wolicki <der.teufel.mail@gmail.com>
Date:   Wed,  4 Oct 2023 18:25:00 +0200

autodoc: Add handling for array_cat, array_mul, struct_init_empty_result. (#17367)

Fix issue with getting docs for src-less types in main.js
Diffstat:
Mlib/docs/main.js | 5++++-
Msrc/Autodoc.zig | 10+++++-----
2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/lib/docs/main.js b/lib/docs/main.js @@ -3246,7 +3246,10 @@ Happy writing! const definitionDecl = getDecl(seenDecls[seenDecls.length - 1]); docs = getAstNode(definitionDecl.src).docs; } else { - docs = getAstNode(getType(value.expr.type).src).docs; + const type = getType(value.expr.type); + if ("src" in type) { + docs = getAstNode(type.src).docs; + } } } diff --git a/src/Autodoc.zig b/src/Autodoc.zig @@ -1547,7 +1547,6 @@ fn walkInstruction( }; }, - // @check array_cat and array_mul .add, .addwrap, .add_sat, @@ -1564,9 +1563,8 @@ fn walkInstruction( .bit_or, .bit_and, .xor, - // @check still not working when applied in std - // .array_cat, - // .array_mul, + .array_cat, + .array_mul, => { const pl_node = data[inst_index].pl_node; const extra = file.zir.extraData(Zir.Inst.Bin, pl_node.payload_index); @@ -2881,7 +2879,9 @@ fn walkInstruction( .expr = .{ .@"struct" = field_vals }, }; }, - .struct_init_empty => { + .struct_init_empty, + .struct_init_empty_result, + => { const un_node = data[inst_index].un_node; var operand: DocData.WalkResult = try self.walkRef(