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:
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(