authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2019-11-15 15:03:28+02:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2019-11-15 15:17:59+02:00
log977b6138817c4b09d6d1e47fa3562d9f9e0268a8
tree9279eb9d9029d0969f4253809e528cfa0b8898d6
parente509d21f39af726da3c6001b0c20f2c765be07a5
signaturelock-open Commit is signed but in an unrecognized format.

add container doc comments to generated docs


5 files changed, 27 insertions(+), 16 deletions(-)

lib/std/special/docs/index.html+1-1
......@@ -484,7 +484,7 @@
484484 doc comments.
485485 </p>
486486 </div>
487 <div id="fnDocs" class="hidden"></div>
487 <div id="tldDocs" class="hidden"></div>
488488 <div id="sectFnErrors" class="hidden">
489489 <h2>Errors</h2>
490490 <div id="fnErrorsAnyError">
lib/std/special/docs/main.js+19-12
......@@ -20,7 +20,7 @@
2020 var domListValues = document.getElementById("listValues");
2121 var domFnProto = document.getElementById("fnProto");
2222 var domFnProtoCode = document.getElementById("fnProtoCode");
23 var domFnDocs = document.getElementById("fnDocs");
23 var domTldDocs = document.getElementById("tldDocs");
2424 var domSectFnErrors = document.getElementById("sectFnErrors");
2525 var domListFnErrors = document.getElementById("listFnErrors");
2626 var domTableFnErrors = document.getElementById("tableFnErrors");
......@@ -34,7 +34,6 @@
3434 var domListSearchResults = document.getElementById("listSearchResults");
3535 var domSectSearchNoResults = document.getElementById("sectSearchNoResults");
3636 var domSectInfo = document.getElementById("sectInfo");
37 var domListInfo = document.getElementById("listInfo");
3837 var domTdTarget = document.getElementById("tdTarget");
3938 var domTdZigVer = document.getElementById("tdZigVer");
4039 var domHdrName = document.getElementById("hdrName");
......@@ -102,7 +101,7 @@
102101 function render() {
103102 domStatus.classList.add("hidden");
104103 domFnProto.classList.add("hidden");
105 domFnDocs.classList.add("hidden");
104 domTldDocs.classList.add("hidden");
106105 domSectPkgs.classList.add("hidden");
107106 domSectTypes.classList.add("hidden");
108107 domSectNamespaces.classList.add("hidden");
......@@ -190,11 +189,11 @@
190189
191190 var docs = zigAnalysis.astNodes[decl.src].docs;
192191 if (docs != null) {
193 domFnDocs.innerHTML = markdown(docs);
192 domTldDocs.innerHTML = markdown(docs);
194193 } else {
195 domFnDocs.innerHTML = '<p>There are no doc comments for this declaration.</p>';
194 domTldDocs.innerHTML = '<p>There are no doc comments for this declaration.</p>';
196195 }
197 domFnDocs.classList.remove("hidden");
196 domTldDocs.classList.remove("hidden");
198197 }
199198
200199 function typeIsErrSet(typeIndex) {
......@@ -274,8 +273,8 @@
274273 docsSource = protoSrcNode.docs;
275274 }
276275 if (docsSource != null) {
277 domFnDocs.innerHTML = markdown(docsSource);
278 domFnDocs.classList.remove("hidden");
276 domTldDocs.innerHTML = markdown(docsSource);
277 domTldDocs.classList.remove("hidden");
279278 }
280279 domFnProto.classList.remove("hidden");
281280 }
......@@ -893,8 +892,8 @@
893892
894893 var docs = zigAnalysis.astNodes[decl.src].docs;
895894 if (docs != null) {
896 domFnDocs.innerHTML = markdown(docs);
897 domFnDocs.classList.remove("hidden");
895 domTldDocs.innerHTML = markdown(docs);
896 domTldDocs.classList.remove("hidden");
898897 }
899898
900899 domFnProto.classList.remove("hidden");
......@@ -906,8 +905,8 @@
906905
907906 var docs = zigAnalysis.astNodes[decl.src].docs;
908907 if (docs != null) {
909 domFnDocs.innerHTML = markdown(docs);
910 domFnDocs.classList.remove("hidden");
908 domTldDocs.innerHTML = markdown(docs);
909 domTldDocs.classList.remove("hidden");
911910 }
912911
913912 domFnProto.classList.remove("hidden");
......@@ -957,6 +956,14 @@
957956 varsList.sort(byNameProperty);
958957 valsList.sort(byNameProperty);
959958
959 if (container.src != null) {
960 var docs = zigAnalysis.astNodes[container.src].docs;
961 if (docs != null) {
962 domTldDocs.innerHTML = markdown(docs);
963 domTldDocs.classList.remove("hidden");
964 }
965 }
966
960967 if (typesList.length !== 0) {
961968 resizeDomList(domListTypes, typesList.length, '<li><a href="#"></a></li>');
962969 for (var i = 0; i < typesList.length; i += 1) {
lib/std/zig/ast.zig-1
......@@ -2253,7 +2253,6 @@ pub const Node = struct {
22532253test "iterate" {
22542254 var root = Node.Root{
22552255 .base = Node{ .id = Node.Id.Root },
2256 .doc_comments = null,
22572256 .decls = Node.Root.DeclList.init(std.debug.global_allocator),
22582257 .eof_token = 0,
22592258 };
src/dump_analysis.cpp+1
......@@ -1088,6 +1088,7 @@ static void anal_dump_node(AnalDumpCtx *ctx, const AstNode *node) {
10881088 break;
10891089 case NodeTypeContainerDecl:
10901090 field_nodes = &node->data.container_decl.fields;
1091 doc_comments_buf = &node->data.container_decl.doc_comments;
10911092 break;
10921093 default:
10931094 break;
src/parser.cpp+6-2
......@@ -493,7 +493,9 @@ static AstNode *ast_parse_root(ParseContext *pc) {
493493 node->data.container_decl.layout = ContainerLayoutAuto;
494494 node->data.container_decl.kind = ContainerKindStruct;
495495 node->data.container_decl.is_root = true;
496 node->data.container_decl.doc_comments = members.doc_comments;
496 if (buf_len(&members.doc_comments) != 0) {
497 node->data.container_decl.doc_comments = members.doc_comments;
498 }
497499
498500 return node;
499501}
......@@ -2817,7 +2819,9 @@ static AstNode *ast_parse_container_decl_auto(ParseContext *pc) {
28172819
28182820 res->data.container_decl.fields = members.fields;
28192821 res->data.container_decl.decls = members.decls;
2820 res->data.container_decl.doc_comments = members.doc_comments;
2822 if (buf_len(&members.doc_comments) != 0) {
2823 res->data.container_decl.doc_comments = members.doc_comments;
2824 }
28212825 return res;
28222826}
28232827