Commit ba55e32ef2

Loris Cro <kappaloris@gmail.com>
2022-01-21 18:52:42
add function param doc comment info in zir
1 parent 1f56ff8
Changed files (3)
src/AstGen.zig
@@ -9721,8 +9721,12 @@ const GenZir = struct {
         try gz.astgen.extra.ensureUnusedCapacity(gpa, @typeInfo(Zir.Inst.Param).Struct.fields.len +
             param_body.len);
 
+        const doc_comment_index = try gz.astgen.docCommentAsString(abs_tok_index -
+            @boolToInt(tag == .param_comptime));
+
         const payload_index = gz.astgen.addExtraAssumeCapacity(Zir.Inst.Param{
             .name = name,
+            .doc_comment = doc_comment_index,
             .body_len = @intCast(u32, param_body.len),
         });
         gz.astgen.extra.appendSliceAssumeCapacity(param_body);
src/print_zir.zig
@@ -785,6 +785,12 @@ const Writer = struct {
         try stream.print("\"{}\", ", .{
             std.zig.fmtEscapes(self.code.nullTerminatedString(extra.data.name)),
         });
+
+        if (extra.data.doc_comment != 0) {
+            try stream.writeAll("\n");
+            try self.writeDocComment(stream, extra.data.doc_comment);
+            try stream.writeByteNTimes(' ', self.indent);
+        }
         try self.writeBracedBody(stream, body);
         try stream.writeAll(") ");
         try self.writeSrc(stream, inst_data.src());
src/Zir.zig
@@ -2906,6 +2906,8 @@ pub const Inst = struct {
     pub const Param = struct {
         /// Null-terminated string index.
         name: u32,
+        /// 0 if no doc comment 
+        doc_comment: u32,
         /// The body contains the type of the parameter.
         body_len: u32,
     };