autodocs: added basic support for unions

This commit is contained in:
Loris Cro
2022-02-06 18:25:01 +01:00
committed by Andrew Kelley
parent a04045c709
commit ef5a2e8d6f
2 changed files with 316 additions and 34 deletions
+12 -12
View File
@@ -133,7 +133,7 @@
function resolveDeclValue(decl) {
var i = 0;
while(i < 1000) {
i += 1;
i += 1;
if ("declRef" in decl.value) {
decl = zigAnalysis.decls[decl.value.declRef];
@@ -149,7 +149,7 @@
function resolveDeclValueTypeId(decl){
var i = 0;
while(i < 1000) {
i += 1;
i += 1;
console.assert(isDecl(decl));
if ("type" in decl.value) {
return typeTypeId;
@@ -250,7 +250,7 @@
}
var childDeclValue = resolveDeclValue(childDecl);
if ("type" in childDeclValue){
if ("type" in childDeclValue){
if (i + 1 === curNav.declNames.length) {
curNav.declObjs.push(zigAnalysis.types[childDeclValue.type]);
break;
@@ -1070,7 +1070,7 @@
case "float":
declValueText += decl.value.float.value;
break;
default:
default:
console.log("TODO: renderValue for ", Object.keys(decl.value)[0]);
declValueText += "#TODO#";
}
@@ -1213,12 +1213,11 @@
domSectFns.classList.remove("hidden");
}
if (container.fields) {
resizeDomList(domListFields, container.fields.length, '<div></div>');
var containerNode = zigAnalysis.astNodes[container.src];
if (containerNode.fields) {
resizeDomList(domListFields, containerNode.fields.length, '<div></div>');
var containerNode = zigAnalysis.astNodes[container.src];
for (var i = 0; i < container.fields.length; i += 1) {
var field = container.fields[i];
for (var i = 0; i < containerNode.fields.length; i += 1) {
var fieldNode = zigAnalysis.astNodes[containerNode.fields[i]];
var divDom = domListFields.children[i];
@@ -1227,6 +1226,7 @@
if (container.kind === typeKinds.Enum) {
html += ' = <span class="tok-number">' + field + '</span>';
} else {
var field = container.fields[i];
html += ": ";
if (typeof(field) === 'object') {
if (field.failure === true) {
@@ -1239,7 +1239,7 @@
var valTypeName = valType.name;
if (valType.kind === typeKinds.Struct) {
valTypeName = "struct";
valTypeName = "struct";
}
html += '<a href="'+navLinkDecl(decl.name)+'">';
@@ -1423,7 +1423,7 @@
return null;
}
function computeCanonicalPackagePaths() {
@@ -1916,7 +1916,7 @@
if (ev.ctrlKey) name = "Ctrl+" + name;
return name;
}
function onWindowKeyDown(ev) {
switch (getKeyString(ev)) {
case "Esc":