authorgravatar for kappaloris@gmail.comLoris Cro <kappaloris@gmail.com> 2022-01-21 18:52:42+01:00
committergravatar for kappaloris@gmail.comLoris Cro <kappaloris@gmail.com> 2022-01-21 22:00:57+01:00
logba55e32ef2d8ed5875bff8524fbbb05c6d8afd40
tree69ebd7c14a837c3d3d2e148df4a6037429140054
parent1f56ff8343ef07d2d04d4a596b3f03f61230a753

add function param doc comment info in zir


3 files changed, 12 insertions(+), 0 deletions(-)

src/AstGen.zig+4
......@@ -9721,8 +9721,12 @@ const GenZir = struct {
97219721 try gz.astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.Param).Struct.fields.len +
97229722 param_body.len);
97239723
9724 const doc_comment_index = try gz.astgen.docCommentAsString(abs_tok_index -
9725 @boolToInt(tag == .param_comptime));
9726
97249727 const payload_index = gz.astgen.addExtraAssumeCapacity(Zir.Inst.Param{
97259728 .name = name,
9729 .doc_comment = doc_comment_index,
97269730 .body_len = @intCast(u32, param_body.len),
97279731 });
97289732 gz.astgen.extra.appendSliceAssumeCapacity(param_body);
src/Zir.zig+2
......@@ -2906,6 +2906,8 @@ pub const Inst = struct {
29062906 pub const Param = struct {
29072907 /// Null-terminated string index.
29082908 name: u32,
2909 /// 0 if no doc comment
2910 doc_comment: u32,
29092911 /// The body contains the type of the parameter.
29102912 body_len: u32,
29112913 };
src/print_zir.zig+6
......@@ -785,6 +785,12 @@ const Writer = struct {
785785 try stream.print("\"{}\", ", .{
786786 std.zig.fmtEscapes(self.code.nullTerminatedString(extra.data.name)),
787787 });
788
789 if (extra.data.doc_comment != 0) {
790 try stream.writeAll("\n");
791 try self.writeDocComment(stream, extra.data.doc_comment);
792 try stream.writeByteNTimes(' ', self.indent);
793 }
788794 try self.writeBracedBody(stream, body);
789795 try stream.writeAll(") ");
790796 try self.writeSrc(stream, inst_data.src());