diff options
| author | Loris Cro <kappaloris@gmail.com> | 2022-02-11 19:11:03 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-07-19 19:10:11 -0700 |
| commit | ee16eddecfc700e37d1acc5393bc2a2ac4e72250 (patch) | |
| tree | 6f3a08c9cbd7e4f23dc83b3f0ce54b2ee44b4d87 /lib/docs | |
| parent | 4a868fa2be1713a5cdc0ae75276c2fdf28a56d94 (diff) | |
| download | zig-ee16eddecfc700e37d1acc5393bc2a2ac4e72250.tar.gz zig-ee16eddecfc700e37d1acc5393bc2a2ac4e72250.zip | |
autodoc: added basic support for `@import`
Diffstat (limited to 'lib/docs')
| -rw-r--r-- | lib/docs/main.js | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/lib/docs/main.js b/lib/docs/main.js index 151df01e66..2eb6e1918a 100644 --- a/lib/docs/main.js +++ b/lib/docs/main.js @@ -264,15 +264,10 @@ } var childDeclValue = resolveValue(childDecl.value); - if ("type" in childDeclValue && - zigAnalysis.types[childDeclValue.type].kind !== typeKinds.Fn){ - if (i + 1 === curNav.declNames.length) { - curNav.declObjs.push(zigAnalysis.types[childDeclValue.type]); - break; - } else { - return render404(); - } + if ("type" in childDeclValue) { + childDecl = zigAnalysis.types[childDeclValue.type]; } + currentType = childDecl; curNav.declObjs.push(currentType); } @@ -1458,7 +1453,7 @@ } function findSubDecl(parentType, childName) { - if (!parentType.pubDecls) throw new Error("parent object has no public decls"); + if (!parentType.pubDecls) return null; for (var i = 0; i < parentType.pubDecls.length; i += 1) { var declIndex = parentType.pubDecls[i]; var childDecl = zigAnalysis.decls[declIndex]; @@ -1523,24 +1518,25 @@ if (list[mainDeclIndex] != null) continue; var decl = zigAnalysis.decls[mainDeclIndex]; - var declValTypeId = resolveDeclValueTypeId(decl); - if (declValTypeId === typeTypeId && - declCanRepresentTypeKind(zigAnalysis.types[declValTypeId].kind)) - { - canonTypeDecls[declValTypeId] = mainDeclIndex; - } + var declVal = resolveValue(decl.value); var declNames = item.declNames.concat([decl.name]); list[mainDeclIndex] = { pkgNames: pkgNames, declNames: declNames, }; + if ("type" in declVal) { + var value = zigAnalysis.types[declVal.type]; + if (declCanRepresentTypeKind(value.kind)) + { + canonTypeDecls[declVal.type] = mainDeclIndex; + } - var declType = zigAnalysis.types[declValTypeId]; - if (isContainerType(declType)) { - stack.push({ - declNames: declNames, - type: declType, - }); + if (isContainerType(value)) { + stack.push({ + declNames: declNames, + type:value, + }); + } } } } |
