aboutsummaryrefslogtreecommitdiff
path: root/lib/docs
diff options
context:
space:
mode:
authorLoris Cro <kappaloris@gmail.com>2022-02-11 19:11:03 +0100
committerAndrew Kelley <andrew@ziglang.org>2022-07-19 19:10:11 -0700
commitee16eddecfc700e37d1acc5393bc2a2ac4e72250 (patch)
tree6f3a08c9cbd7e4f23dc83b3f0ce54b2ee44b4d87 /lib/docs
parent4a868fa2be1713a5cdc0ae75276c2fdf28a56d94 (diff)
downloadzig-ee16eddecfc700e37d1acc5393bc2a2ac4e72250.tar.gz
zig-ee16eddecfc700e37d1acc5393bc2a2ac4e72250.zip
autodoc: added basic support for `@import`
Diffstat (limited to 'lib/docs')
-rw-r--r--lib/docs/main.js38
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,
+ });
+ }
}
}
}