From 9c3165b81b1ee6474f4bdecf33149f587fd77510 Mon Sep 17 00:00:00 2001 From: Krzysztof Wolicki Date: Wed, 4 Oct 2023 18:25:00 +0200 Subject: [PATCH] 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 --- lib/docs/main.js | 5 ++++- src/Autodoc.zig | 10 +++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/docs/main.js b/lib/docs/main.js index 4285c2288b..45a531c2e5 100644 --- 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 index 96f4d59d10..a70040558c 100644 --- 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(