mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-04-27 19:09:47 +03:00
autodoc: var 2 let in main.js
This commit is contained in:
+366
-366
@@ -236,75 +236,75 @@
|
||||
var zigAnalysis;
|
||||
|
||||
(function() {
|
||||
var domStatus = /** @type HTMLElement */(document.getElementById("status"));
|
||||
var domSectNav = /** @type HTMLElement */(document.getElementById("sectNav"));
|
||||
var domListNav = /** @type HTMLElement */(document.getElementById("listNav"));
|
||||
var domSectMainPkg = /** @type HTMLElement */(document.getElementById("sectMainPkg"));
|
||||
var domSectPkgs = /** @type HTMLElement */(document.getElementById("sectPkgs"));
|
||||
var domListPkgs = /** @type HTMLElement */(document.getElementById("listPkgs"));
|
||||
var domSectTypes = /** @type HTMLElement */(document.getElementById("sectTypes"));
|
||||
var domListTypes = /** @type HTMLElement */(document.getElementById("listTypes"));
|
||||
var domSectTests = /** @type HTMLElement */(document.getElementById("sectTests"));
|
||||
var domListTests = /** @type HTMLElement */(document.getElementById("listTests"));
|
||||
var domSectNamespaces = /** @type HTMLElement */(document.getElementById("sectNamespaces"));
|
||||
var domListNamespaces = /** @type HTMLElement */(document.getElementById("listNamespaces"));
|
||||
var domSectErrSets = /** @type HTMLElement */(document.getElementById("sectErrSets"));
|
||||
var domListErrSets = /** @type HTMLElement */(document.getElementById("listErrSets"));
|
||||
var domSectFns = /** @type HTMLElement */(document.getElementById("sectFns"));
|
||||
var domListFns = /** @type HTMLElement */(document.getElementById("listFns"));
|
||||
var domSectFields = /** @type HTMLElement */(document.getElementById("sectFields"));
|
||||
var domListFields = /** @type HTMLElement */(document.getElementById("listFields"));
|
||||
var domSectGlobalVars = /** @type HTMLElement */(document.getElementById("sectGlobalVars"));
|
||||
var domListGlobalVars = /** @type HTMLElement */(document.getElementById("listGlobalVars"));
|
||||
var domSectValues = /** @type HTMLElement */(document.getElementById("sectValues"));
|
||||
var domListValues = /** @type HTMLElement */(document.getElementById("listValues"));
|
||||
var domFnProto = /** @type HTMLElement */(document.getElementById("fnProto"));
|
||||
var domFnProtoCode = /** @type HTMLElement */(document.getElementById("fnProtoCode"));
|
||||
var domSectParams = /** @type HTMLElement */(document.getElementById("sectParams"));
|
||||
var domListParams = /** @type HTMLElement */(document.getElementById("listParams"));
|
||||
var domTldDocs = /** @type HTMLElement */(document.getElementById("tldDocs"));
|
||||
var domSectFnErrors = /** @type HTMLElement */(document.getElementById("sectFnErrors"));
|
||||
var domListFnErrors = /** @type HTMLElement */(document.getElementById("listFnErrors"));
|
||||
var domTableFnErrors =/** @type HTMLElement */(document.getElementById("tableFnErrors"));
|
||||
var domFnErrorsAnyError = /** @type HTMLElement */(document.getElementById("fnErrorsAnyError"));
|
||||
var domFnExamples = /** @type HTMLElement */(document.getElementById("fnExamples"));
|
||||
var domListFnExamples = /** @type HTMLElement */(document.getElementById("listFnExamples"));
|
||||
var domFnNoExamples = /** @type HTMLElement */(document.getElementById("fnNoExamples"));
|
||||
var domDeclNoRef = /** @type HTMLElement */(document.getElementById("declNoRef"));
|
||||
var domSearch = /** @type HTMLInputElement */(document.getElementById("search"));
|
||||
var domSectSearchResults = /** @type HTMLElement */(document.getElementById("sectSearchResults"));
|
||||
let domStatus = /** @type HTMLElement */(document.getElementById("status"));
|
||||
let domSectNav = /** @type HTMLElement */(document.getElementById("sectNav"));
|
||||
let domListNav = /** @type HTMLElement */(document.getElementById("listNav"));
|
||||
let domSectMainPkg = /** @type HTMLElement */(document.getElementById("sectMainPkg"));
|
||||
let domSectPkgs = /** @type HTMLElement */(document.getElementById("sectPkgs"));
|
||||
let domListPkgs = /** @type HTMLElement */(document.getElementById("listPkgs"));
|
||||
let domSectTypes = /** @type HTMLElement */(document.getElementById("sectTypes"));
|
||||
let domListTypes = /** @type HTMLElement */(document.getElementById("listTypes"));
|
||||
let domSectTests = /** @type HTMLElement */(document.getElementById("sectTests"));
|
||||
let domListTests = /** @type HTMLElement */(document.getElementById("listTests"));
|
||||
let domSectNamespaces = /** @type HTMLElement */(document.getElementById("sectNamespaces"));
|
||||
let domListNamespaces = /** @type HTMLElement */(document.getElementById("listNamespaces"));
|
||||
let domSectErrSets = /** @type HTMLElement */(document.getElementById("sectErrSets"));
|
||||
let domListErrSets = /** @type HTMLElement */(document.getElementById("listErrSets"));
|
||||
let domSectFns = /** @type HTMLElement */(document.getElementById("sectFns"));
|
||||
let domListFns = /** @type HTMLElement */(document.getElementById("listFns"));
|
||||
let domSectFields = /** @type HTMLElement */(document.getElementById("sectFields"));
|
||||
let domListFields = /** @type HTMLElement */(document.getElementById("listFields"));
|
||||
let domSectGlobalVars = /** @type HTMLElement */(document.getElementById("sectGlobalVars"));
|
||||
let domListGlobalVars = /** @type HTMLElement */(document.getElementById("listGlobalVars"));
|
||||
let domSectValues = /** @type HTMLElement */(document.getElementById("sectValues"));
|
||||
let domListValues = /** @type HTMLElement */(document.getElementById("listValues"));
|
||||
let domFnProto = /** @type HTMLElement */(document.getElementById("fnProto"));
|
||||
let domFnProtoCode = /** @type HTMLElement */(document.getElementById("fnProtoCode"));
|
||||
let domSectParams = /** @type HTMLElement */(document.getElementById("sectParams"));
|
||||
let domListParams = /** @type HTMLElement */(document.getElementById("listParams"));
|
||||
let domTldDocs = /** @type HTMLElement */(document.getElementById("tldDocs"));
|
||||
let domSectFnErrors = /** @type HTMLElement */(document.getElementById("sectFnErrors"));
|
||||
let domListFnErrors = /** @type HTMLElement */(document.getElementById("listFnErrors"));
|
||||
let domTableFnErrors =/** @type HTMLElement */(document.getElementById("tableFnErrors"));
|
||||
let domFnErrorsAnyError = /** @type HTMLElement */(document.getElementById("fnErrorsAnyError"));
|
||||
let domFnExamples = /** @type HTMLElement */(document.getElementById("fnExamples"));
|
||||
let domListFnExamples = /** @type HTMLElement */(document.getElementById("listFnExamples"));
|
||||
let domFnNoExamples = /** @type HTMLElement */(document.getElementById("fnNoExamples"));
|
||||
let domDeclNoRef = /** @type HTMLElement */(document.getElementById("declNoRef"));
|
||||
let domSearch = /** @type HTMLInputElement */(document.getElementById("search"));
|
||||
let domSectSearchResults = /** @type HTMLElement */(document.getElementById("sectSearchResults"));
|
||||
|
||||
var domListSearchResults = /** @type HTMLElement */(document.getElementById("listSearchResults"));
|
||||
var domSectSearchNoResults = /** @type HTMLElement */(document.getElementById("sectSearchNoResults"));
|
||||
var domSectInfo = /** @type HTMLElement */(document.getElementById("sectInfo"));
|
||||
var domTdTarget = /** @type HTMLElement */(document.getElementById("tdTarget"));
|
||||
var domPrivDeclsBox = /** @type HTMLInputElement */(document.getElementById("privDeclsBox"));
|
||||
var domTdZigVer = /** @type HTMLElement */(document.getElementById("tdZigVer"));
|
||||
var domHdrName = /** @type HTMLElement */(document.getElementById("hdrName"));
|
||||
var domHelpModal = /** @type HTMLElement */(document.getElementById("helpDialog"));
|
||||
let domListSearchResults = /** @type HTMLElement */(document.getElementById("listSearchResults"));
|
||||
let domSectSearchNoResults = /** @type HTMLElement */(document.getElementById("sectSearchNoResults"));
|
||||
let domSectInfo = /** @type HTMLElement */(document.getElementById("sectInfo"));
|
||||
let domTdTarget = /** @type HTMLElement */(document.getElementById("tdTarget"));
|
||||
let domPrivDeclsBox = /** @type HTMLInputElement */(document.getElementById("privDeclsBox"));
|
||||
let domTdZigVer = /** @type HTMLElement */(document.getElementById("tdZigVer"));
|
||||
let domHdrName = /** @type HTMLElement */(document.getElementById("hdrName"));
|
||||
let domHelpModal = /** @type HTMLElement */(document.getElementById("helpDialog"));
|
||||
|
||||
/** @type number | null */
|
||||
var searchTimer = null;
|
||||
let searchTimer = null;
|
||||
|
||||
/** @type Object<string, string> */
|
||||
var escapeHtmlReplacements = { "&": "&", '"': """, "<": "<", ">": ">" };
|
||||
let escapeHtmlReplacements = { "&": "&", '"': """, "<": "<", ">": ">" };
|
||||
|
||||
var typeKinds = /** @type {Record<string, number>} */(indexTypeKinds());
|
||||
var typeTypeId = /** @type {number} */ (findTypeTypeId());
|
||||
var pointerSizeEnum = { One: 0, Many: 1, Slice: 2, C: 3 };
|
||||
let typeKinds = /** @type {Record<string, number>} */(indexTypeKinds());
|
||||
let typeTypeId = /** @type {number} */ (findTypeTypeId());
|
||||
let pointerSizeEnum = { One: 0, Many: 1, Slice: 2, C: 3 };
|
||||
|
||||
// for each package, is an array with packages to get to this one
|
||||
var canonPkgPaths = computeCanonicalPackagePaths();
|
||||
let canonPkgPaths = computeCanonicalPackagePaths();
|
||||
|
||||
/** @typedef {{declNames: string[], pkgNames: string[]}} CanonDecl */
|
||||
|
||||
// for each decl, is an array with {declNames, pkgNames} to get to this one
|
||||
/** @type CanonDecl[] | null */
|
||||
var canonDeclPaths = null; // lazy; use getCanonDeclPath
|
||||
let canonDeclPaths = null; // lazy; use getCanonDeclPath
|
||||
|
||||
// for each type, is an array with {declNames, pkgNames} to get to this one
|
||||
/** @type number[] | null */
|
||||
var canonTypeDecls = null; // lazy; use getCanonTypeDecl
|
||||
let canonTypeDecls = null; // lazy; use getCanonTypeDecl
|
||||
|
||||
/** @typedef {{
|
||||
* showPrivDecls: boolean,
|
||||
@@ -317,7 +317,7 @@ var zigAnalysis;
|
||||
*/
|
||||
|
||||
/** @type {CurNav} */
|
||||
var curNav = {
|
||||
let curNav = {
|
||||
showPrivDecls: false,
|
||||
// each element is a package name, e.g. @import("a") then within there @import("b")
|
||||
// starting implicitly from root package
|
||||
@@ -334,16 +334,16 @@ var zigAnalysis;
|
||||
callName: null,
|
||||
};
|
||||
|
||||
var curNavSearch = "";
|
||||
var curSearchIndex = -1;
|
||||
var imFeelingLucky = false;
|
||||
let curNavSearch = "";
|
||||
let curSearchIndex = -1;
|
||||
let imFeelingLucky = false;
|
||||
|
||||
var rootIsStd = detectRootIsStd();
|
||||
let rootIsStd = detectRootIsStd();
|
||||
|
||||
// map of decl index to list of non-generic fn indexes
|
||||
// var nodesToFnsMap = indexNodesToFns();
|
||||
// let nodesToFnsMap = indexNodesToFns();
|
||||
// map of decl index to list of comptime fn calls
|
||||
// var nodesToCallsMap = indexNodesToCalls();
|
||||
// let nodesToCallsMap = indexNodesToCalls();
|
||||
|
||||
domSearch.addEventListener('keydown', onSearchKeyDown, false);
|
||||
domPrivDeclsBox.addEventListener('change', function() {
|
||||
@@ -363,8 +363,8 @@ var zigAnalysis;
|
||||
onHashChange();
|
||||
|
||||
function renderTitle() {
|
||||
var list = curNav.pkgNames.concat(curNav.declNames);
|
||||
var suffix = " - Zig";
|
||||
let list = curNav.pkgNames.concat(curNav.declNames);
|
||||
let suffix = " - Zig";
|
||||
if (list.length === 0) {
|
||||
if (rootIsStd) {
|
||||
document.title = "std" + suffix;
|
||||
@@ -393,7 +393,7 @@ var zigAnalysis;
|
||||
|
||||
/** @param {Type} type */
|
||||
function typeShorthandName(type) {
|
||||
var name = undefined;
|
||||
let name = undefined;
|
||||
if (type.kind === typeKinds.Struct) {
|
||||
name = "struct";
|
||||
} else if (type.kind === typeKinds.Enum) {
|
||||
@@ -423,7 +423,7 @@ var zigAnalysis;
|
||||
* @return {WalkResult | null}
|
||||
*/
|
||||
function findCteInRefPath(path) {
|
||||
for (var i = path.length - 1; i >= 0; i -= 1) {
|
||||
for (let i = path.length - 1; i >= 0; i -= 1) {
|
||||
const ref = path[i];
|
||||
if ("string" in ref) continue;
|
||||
if ("comptimeExpr" in ref) return ref;
|
||||
@@ -439,7 +439,7 @@ var zigAnalysis;
|
||||
* @return {WalkResult}
|
||||
*/
|
||||
function resolveValue(value) {
|
||||
var i = 0;
|
||||
let i = 0;
|
||||
while(i < 1000) {
|
||||
i += 1;
|
||||
|
||||
@@ -465,7 +465,7 @@ var zigAnalysis;
|
||||
* @return {WalkResult}
|
||||
*/
|
||||
function typeOfDecl(decl){
|
||||
var i = 0;
|
||||
let i = 0;
|
||||
while(i < 1000) {
|
||||
i += 1;
|
||||
console.assert(isDecl(decl));
|
||||
@@ -508,7 +508,7 @@ var zigAnalysis;
|
||||
|
||||
if ("call" in decl.value) {
|
||||
const fn_call = zigAnalysis.calls[decl.value.call];
|
||||
var fn_decl = undefined;
|
||||
let fn_decl = undefined;
|
||||
if ("declRef" in fn_call.func) {
|
||||
fn_decl = zigAnalysis.decls[fn_call.func.declRef];
|
||||
} else if ("refPath" in fn_call.func) {
|
||||
@@ -576,11 +576,11 @@ var zigAnalysis;
|
||||
return renderSearch();
|
||||
}
|
||||
|
||||
var rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
|
||||
var pkg = rootPkg;
|
||||
let rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
|
||||
let pkg = rootPkg;
|
||||
curNav.pkgObjs = [pkg];
|
||||
for (var i = 0; i < curNav.pkgNames.length; i += 1) {
|
||||
var childPkg = zigAnalysis.packages[pkg.table[curNav.pkgNames[i]]];
|
||||
for (let i = 0; i < curNav.pkgNames.length; i += 1) {
|
||||
let childPkg = zigAnalysis.packages[pkg.table[curNav.pkgNames[i]]];
|
||||
if (childPkg == null) {
|
||||
return render404();
|
||||
}
|
||||
@@ -589,17 +589,17 @@ var zigAnalysis;
|
||||
}
|
||||
|
||||
/** @type {Decl | Type} */
|
||||
var currentType = zigAnalysis.types[pkg.main];
|
||||
let currentType = zigAnalysis.types[pkg.main];
|
||||
curNav.declObjs = [currentType];
|
||||
for (var i = 0; i < curNav.declNames.length; i += 1) {
|
||||
for (let i = 0; i < curNav.declNames.length; i += 1) {
|
||||
|
||||
/** @type {Decl | Type | null} */
|
||||
var childDecl = findSubDecl(/** @type {ContainerType} */(currentType), curNav.declNames[i]);
|
||||
let childDecl = findSubDecl(/** @type {ContainerType} */(currentType), curNav.declNames[i]);
|
||||
if (childDecl == null) {
|
||||
return render404();
|
||||
}
|
||||
|
||||
var childDeclValue = resolveValue(/** @type {Decl} */(childDecl).value);
|
||||
let childDeclValue = resolveValue(/** @type {Decl} */(childDecl).value);
|
||||
if ("type" in childDeclValue) {
|
||||
|
||||
const t = zigAnalysis.types[childDeclValue.type];
|
||||
@@ -614,10 +614,10 @@ var zigAnalysis;
|
||||
|
||||
renderNav();
|
||||
|
||||
var last = curNav.declObjs[curNav.declObjs.length - 1];
|
||||
var lastIsDecl = isDecl(last);
|
||||
var lastIsType = isType(last);
|
||||
var lastIsContainerType = isContainerType(last);
|
||||
let last = curNav.declObjs[curNav.declObjs.length - 1];
|
||||
let lastIsDecl = isDecl(last);
|
||||
let lastIsType = isType(last);
|
||||
let lastIsContainerType = isContainerType(last);
|
||||
|
||||
if (lastIsContainerType) {
|
||||
return renderContainer(/** @type {ContainerType} */(last));
|
||||
@@ -636,7 +636,7 @@ var zigAnalysis;
|
||||
}
|
||||
|
||||
if (lastIsDecl && last.kind === 'const') {
|
||||
var typeObj = zigAnalysis.types[resolveValue(/** @type {Decl} */(last).value).type];
|
||||
let typeObj = zigAnalysis.types[resolveValue(/** @type {Decl} */(last).value).type];
|
||||
if (typeObj && typeObj.kind === typeKinds.Fn) {
|
||||
return renderFn(/** @type {Decl} */(last));
|
||||
}
|
||||
@@ -649,7 +649,7 @@ var zigAnalysis;
|
||||
function renderUnknownDecl(decl) {
|
||||
domDeclNoRef.classList.remove("hidden");
|
||||
|
||||
var docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
let docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
if (docs != null) {
|
||||
domTldDocs.innerHTML = markdown(docs);
|
||||
} else {
|
||||
@@ -660,13 +660,13 @@ var zigAnalysis;
|
||||
|
||||
/** @param {number} typeIndex */
|
||||
function typeIsErrSet(typeIndex) {
|
||||
var typeObj = zigAnalysis.types[typeIndex];
|
||||
let typeObj = zigAnalysis.types[typeIndex];
|
||||
return typeObj.kind === typeKinds.ErrorSet;
|
||||
}
|
||||
|
||||
/** @param {number} typeIndex */
|
||||
function typeIsStructWithNoFields(typeIndex) {
|
||||
var typeObj = zigAnalysis.types[typeIndex];
|
||||
let typeObj = zigAnalysis.types[typeIndex];
|
||||
if (typeObj.kind !== typeKinds.Struct)
|
||||
return false;
|
||||
return /** @type {ContainerType} */(typeObj).fields.length == 0;
|
||||
@@ -674,7 +674,7 @@ var zigAnalysis;
|
||||
|
||||
/** @param {number} typeIndex */
|
||||
function typeIsGenericFn(typeIndex) {
|
||||
var typeObj = zigAnalysis.types[typeIndex];
|
||||
let typeObj = zigAnalysis.types[typeIndex];
|
||||
if (typeObj.kind !== typeKinds.Fn) {
|
||||
return false;
|
||||
}
|
||||
@@ -683,38 +683,38 @@ var zigAnalysis;
|
||||
|
||||
/** @param {Decl} fnDecl */
|
||||
function renderFn(fnDecl) {
|
||||
var value = resolveValue(fnDecl.value);
|
||||
let value = resolveValue(fnDecl.value);
|
||||
console.assert("type" in value);
|
||||
var typeObj = /** @type {Fn} */(zigAnalysis.types[value.type]);
|
||||
let typeObj = /** @type {Fn} */(zigAnalysis.types[value.type]);
|
||||
|
||||
domFnProtoCode.innerHTML = typeValueName(value, true, true, fnDecl);
|
||||
|
||||
var docsSource = null;
|
||||
var srcNode = zigAnalysis.astNodes[fnDecl.src];
|
||||
let docsSource = null;
|
||||
let srcNode = zigAnalysis.astNodes[fnDecl.src];
|
||||
if (srcNode.docs != null) {
|
||||
docsSource = srcNode.docs;
|
||||
}
|
||||
|
||||
var retIndex = resolveValue(typeObj.ret).type;
|
||||
let retIndex = resolveValue(typeObj.ret).type;
|
||||
renderFnParamDocs(fnDecl, typeObj);
|
||||
|
||||
var errSetTypeIndex = /** @type {number | null} */(null);
|
||||
var retType = zigAnalysis.types[retIndex];
|
||||
let errSetTypeIndex = /** @type {number | null} */(null);
|
||||
let retType = zigAnalysis.types[retIndex];
|
||||
if (retType.kind === typeKinds.ErrorSet) {
|
||||
errSetTypeIndex = retIndex;
|
||||
} else if (retType.kind === typeKinds.ErrorUnion) {
|
||||
errSetTypeIndex = /** @type {ErrUnionType} */(retType).err.type;
|
||||
}
|
||||
if (errSetTypeIndex != null) {
|
||||
var errSetType = /** @type {ErrSetType} */(zigAnalysis.types[errSetTypeIndex]);
|
||||
let errSetType = /** @type {ErrSetType} */(zigAnalysis.types[errSetTypeIndex]);
|
||||
renderErrorSet(errSetType);
|
||||
}
|
||||
|
||||
var protoSrcIndex = fnDecl.src;
|
||||
let protoSrcIndex = fnDecl.src;
|
||||
if (typeIsGenericFn(value.type)) {
|
||||
throw "TODO";
|
||||
// var instantiations = nodesToFnsMap[protoSrcIndex];
|
||||
// var calls = nodesToCallsMap[protoSrcIndex];
|
||||
// let instantiations = nodesToFnsMap[protoSrcIndex];
|
||||
// let calls = nodesToCallsMap[protoSrcIndex];
|
||||
// if (instantiations == null && calls == null) {
|
||||
// domFnNoExamples.classList.remove("hidden");
|
||||
// } else if (calls != null) {
|
||||
@@ -723,8 +723,8 @@ var zigAnalysis;
|
||||
|
||||
// resizeDomList(domListFnExamples, calls.length, '<li></li>');
|
||||
|
||||
// for (var callI = 0; callI < calls.length; callI += 1) {
|
||||
// var liDom = domListFnExamples.children[callI];
|
||||
// for (let callI = 0; callI < calls.length; callI += 1) {
|
||||
// let liDom = domListFnExamples.children[callI];
|
||||
// liDom.innerHTML = getCallHtml(fnDecl, calls[callI]);
|
||||
// }
|
||||
|
||||
@@ -738,7 +738,7 @@ var zigAnalysis;
|
||||
domFnNoExamples.classList.add("hidden");
|
||||
}
|
||||
|
||||
var protoSrcNode = zigAnalysis.astNodes[protoSrcIndex];
|
||||
let protoSrcNode = zigAnalysis.astNodes[protoSrcIndex];
|
||||
if (docsSource == null && protoSrcNode != null && protoSrcNode.docs != null) {
|
||||
docsSource = protoSrcNode.docs;
|
||||
}
|
||||
@@ -754,15 +754,15 @@ var zigAnalysis;
|
||||
* @param {Fn} typeObj
|
||||
*/
|
||||
function renderFnParamDocs(fnDecl, typeObj) {
|
||||
var docCount = 0;
|
||||
let docCount = 0;
|
||||
|
||||
var fnNode = zigAnalysis.astNodes[fnDecl.src];
|
||||
var fields = /** @type {number[]} */(fnNode.fields);
|
||||
var isVarArgs = fnNode.varArgs;
|
||||
let fnNode = zigAnalysis.astNodes[fnDecl.src];
|
||||
let fields = /** @type {number[]} */(fnNode.fields);
|
||||
let isVarArgs = fnNode.varArgs;
|
||||
|
||||
for (var i = 0; i < fields.length; i += 1) {
|
||||
var field = fields[i];
|
||||
var fieldNode = zigAnalysis.astNodes[field];
|
||||
for (let i = 0; i < fields.length; i += 1) {
|
||||
let field = fields[i];
|
||||
let fieldNode = zigAnalysis.astNodes[field];
|
||||
if (fieldNode.docs != null) {
|
||||
docCount += 1;
|
||||
}
|
||||
@@ -772,30 +772,30 @@ var zigAnalysis;
|
||||
}
|
||||
|
||||
resizeDomList(domListParams, docCount, '<div></div>');
|
||||
var domIndex = 0;
|
||||
let domIndex = 0;
|
||||
|
||||
for (var i = 0; i < fields.length; i += 1) {
|
||||
var field = fields[i];
|
||||
var fieldNode = zigAnalysis.astNodes[field];
|
||||
for (let i = 0; i < fields.length; i += 1) {
|
||||
let field = fields[i];
|
||||
let fieldNode = zigAnalysis.astNodes[field];
|
||||
if (fieldNode.docs == null) {
|
||||
continue;
|
||||
}
|
||||
var divDom = domListParams.children[domIndex];
|
||||
let divDom = domListParams.children[domIndex];
|
||||
domIndex += 1;
|
||||
|
||||
|
||||
var value = typeObj.params[i];
|
||||
var html = '<pre>' + escapeHtml(/** @type {string} */(fieldNode.name)) + ": ";
|
||||
let value = typeObj.params[i];
|
||||
let html = '<pre>' + escapeHtml(/** @type {string} */(fieldNode.name)) + ": ";
|
||||
if (isVarArgs && i === typeObj.params.length - 1) {
|
||||
html += '...';
|
||||
} else {
|
||||
var name = typeValueName(value, false, false);
|
||||
let name = typeValueName(value, false, false);
|
||||
html += '<span class="tok-kw">' + name + '</span>';
|
||||
}
|
||||
|
||||
html += ',</pre>';
|
||||
|
||||
var docs = fieldNode.docs;
|
||||
let docs = fieldNode.docs;
|
||||
if (docs != null) {
|
||||
html += markdown(docs);
|
||||
}
|
||||
@@ -805,19 +805,19 @@ var zigAnalysis;
|
||||
}
|
||||
|
||||
function renderNav() {
|
||||
var len = curNav.pkgNames.length + curNav.declNames.length;
|
||||
let len = curNav.pkgNames.length + curNav.declNames.length;
|
||||
resizeDomList(domListNav, len, '<li><a href="#"></a></li>');
|
||||
var list = [];
|
||||
var hrefPkgNames = [];
|
||||
var hrefDeclNames = /** @type {string[]} */([]);
|
||||
for (var i = 0; i < curNav.pkgNames.length; i += 1) {
|
||||
let list = [];
|
||||
let hrefPkgNames = [];
|
||||
let hrefDeclNames = /** @type {string[]} */([]);
|
||||
for (let i = 0; i < curNav.pkgNames.length; i += 1) {
|
||||
hrefPkgNames.push(curNav.pkgNames[i]);
|
||||
list.push({
|
||||
name: curNav.pkgNames[i],
|
||||
link: navLink(hrefPkgNames, hrefDeclNames),
|
||||
});
|
||||
}
|
||||
for (var i = 0; i < curNav.declNames.length; i += 1) {
|
||||
for (let i = 0; i < curNav.declNames.length; i += 1) {
|
||||
hrefDeclNames.push(curNav.declNames[i]);
|
||||
list.push({
|
||||
name: curNav.declNames[i],
|
||||
@@ -825,9 +825,9 @@ var zigAnalysis;
|
||||
});
|
||||
}
|
||||
|
||||
for (var i = 0; i < list.length; i += 1) {
|
||||
var liDom = domListNav.children[i];
|
||||
var aDom = liDom.children[0];
|
||||
for (let i = 0; i < list.length; i += 1) {
|
||||
let liDom = domListNav.children[i];
|
||||
let aDom = liDom.children[0];
|
||||
aDom.textContent = list[i].name;
|
||||
aDom.setAttribute('href', list[i].link);
|
||||
if (i + 1 == list.length) {
|
||||
@@ -853,10 +853,10 @@ var zigAnalysis;
|
||||
}
|
||||
|
||||
function renderPkgList() {
|
||||
var rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
|
||||
var list = [];
|
||||
for (var key in rootPkg.table) {
|
||||
var pkgIndex = rootPkg.table[key];
|
||||
let rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
|
||||
let list = [];
|
||||
for (let key in rootPkg.table) {
|
||||
let pkgIndex = rootPkg.table[key];
|
||||
if (zigAnalysis.packages[pkgIndex] == null) continue;
|
||||
list.push({
|
||||
name: key,
|
||||
@@ -865,7 +865,7 @@ var zigAnalysis;
|
||||
}
|
||||
|
||||
{
|
||||
var aDom = domSectMainPkg.children[1].children[0].children[0];
|
||||
let aDom = domSectMainPkg.children[1].children[0].children[0];
|
||||
aDom.textContent = zigAnalysis.params.rootName;
|
||||
aDom.setAttribute('href', navLinkPkg(zigAnalysis.rootPkg));
|
||||
if (zigAnalysis.params.rootName === curNav.pkgNames[0]) {
|
||||
@@ -882,9 +882,9 @@ var zigAnalysis;
|
||||
|
||||
if (list.length !== 0) {
|
||||
resizeDomList(domListPkgs, list.length, '<li><a href="#"></a></li>');
|
||||
for (var i = 0; i < list.length; i += 1) {
|
||||
var liDom = domListPkgs.children[i];
|
||||
var aDom = liDom.children[0];
|
||||
for (let i = 0; i < list.length; i += 1) {
|
||||
let liDom = domListPkgs.children[i];
|
||||
let aDom = liDom.children[0];
|
||||
aDom.textContent = list[i].name;
|
||||
aDom.setAttribute('href', navLinkPkg(list[i].pkg));
|
||||
if (list[i].name === curNav.pkgNames[0]) {
|
||||
@@ -933,13 +933,13 @@ var zigAnalysis;
|
||||
|
||||
/** @param {Call} callObj */
|
||||
function navLinkCall(callObj) {
|
||||
var declNamesCopy = curNav.declNames.concat([]);
|
||||
var callName = /** @type {string} */(declNamesCopy.pop());
|
||||
let declNamesCopy = curNav.declNames.concat([]);
|
||||
let callName = /** @type {string} */(declNamesCopy.pop());
|
||||
|
||||
callName += '(';
|
||||
for (var arg_i = 0; arg_i < callObj.args.length; arg_i += 1) {
|
||||
for (let arg_i = 0; arg_i < callObj.args.length; arg_i += 1) {
|
||||
if (arg_i !== 0) callName += ',';
|
||||
var argObj = callObj.args[arg_i];
|
||||
let argObj = callObj.args[arg_i];
|
||||
callName += getValueText(argObj, argObj, false, false);
|
||||
}
|
||||
callName += ')';
|
||||
@@ -954,7 +954,7 @@ var zigAnalysis;
|
||||
*/
|
||||
function resizeDomListDl(dlDom, desiredLen) {
|
||||
// add the missing dom entries
|
||||
var i, ev;
|
||||
let i, ev;
|
||||
for (i = dlDom.childElementCount / 2; i < desiredLen; i += 1) {
|
||||
dlDom.insertAdjacentHTML('beforeend', '<dt></dt><dd></dd>');
|
||||
}
|
||||
@@ -972,7 +972,7 @@ var zigAnalysis;
|
||||
*/
|
||||
function resizeDomList(listDom, desiredLen, templateHtml) {
|
||||
// add the missing dom entries
|
||||
var i, ev;
|
||||
let i, ev;
|
||||
for (i = listDom.childElementCount; i < desiredLen; i += 1) {
|
||||
listDom.insertAdjacentHTML('beforeend', templateHtml);
|
||||
}
|
||||
@@ -996,11 +996,11 @@ var zigAnalysis;
|
||||
return "" + typeValue.int.value;
|
||||
}
|
||||
if ("call" in typeValue) {
|
||||
var result = "";
|
||||
var call = zigAnalysis.calls[typeValue.call];
|
||||
var functionName = typeValueName(call.func, wantHtml, wantLink, fnDecl, linkFnNameDecl);
|
||||
let result = "";
|
||||
let call = zigAnalysis.calls[typeValue.call];
|
||||
let functionName = typeValueName(call.func, wantHtml, wantLink, fnDecl, linkFnNameDecl);
|
||||
result += functionName + "(";
|
||||
for (var j = 0; j < call.args.length; j += 1) {
|
||||
for (let j = 0; j < call.args.length; j += 1) {
|
||||
result += typeValueName(call.args[j], wantHtml, wantLink, fnDecl, linkFnNameDecl);
|
||||
if (j != call.args.length -1) result += ",";
|
||||
}
|
||||
@@ -1011,10 +1011,10 @@ var zigAnalysis;
|
||||
return "[ComptimeExpr]";
|
||||
}
|
||||
if ("refPath" in typeValue) {
|
||||
var result = "";
|
||||
for (var j = 0; j < typeValue.refPath.length; j++) {
|
||||
let result = "";
|
||||
for (let j = 0; j < typeValue.refPath.length; j++) {
|
||||
|
||||
var name = "[RefPath]";
|
||||
let name = "[RefPath]";
|
||||
if (wantHtml) {
|
||||
//result += '<a href="'+navLinkDecl(decl.name)+'">';
|
||||
result += '<a href="">';
|
||||
@@ -1048,16 +1048,16 @@ var zigAnalysis;
|
||||
}
|
||||
|
||||
console.assert("type" in typeValue)
|
||||
var typeIndex = typeValue.type;
|
||||
var typeObj = zigAnalysis.types[typeIndex];
|
||||
var declNameOk = declCanRepresentTypeKind(typeObj.kind);
|
||||
let typeIndex = typeValue.type;
|
||||
let typeObj = zigAnalysis.types[typeIndex];
|
||||
let declNameOk = declCanRepresentTypeKind(typeObj.kind);
|
||||
if (wantLink) {
|
||||
var declIndex = getCanonTypeDecl(typeIndex);
|
||||
var declPath = getCanonDeclPath(declIndex);
|
||||
let declIndex = getCanonTypeDecl(typeIndex);
|
||||
let declPath = getCanonDeclPath(declIndex);
|
||||
if (declPath == null) {
|
||||
return typeName(typeObj, wantHtml, wantLink, fnDecl, linkFnNameDecl);
|
||||
}
|
||||
var name = (wantLink && declCanRepresentTypeKind(typeObj.kind)) ?
|
||||
let name = (wantLink && declCanRepresentTypeKind(typeObj.kind)) ?
|
||||
declPath.declNames[declPath.declNames.length - 1] :
|
||||
typeName(typeObj, wantHtml, false, fnDecl, linkFnNameDecl);
|
||||
if (wantLink && wantHtml) {
|
||||
@@ -1075,9 +1075,9 @@ var zigAnalysis;
|
||||
* @param {string} paramName
|
||||
*/
|
||||
function shouldSkipParamName(typeRef, paramName) {
|
||||
var resolvedTypeRef = resolveValue(typeRef);
|
||||
let resolvedTypeRef = resolveValue(typeRef);
|
||||
if ("type" in resolvedTypeRef) {
|
||||
var typeObj = zigAnalysis.types[resolvedTypeRef.type];
|
||||
let typeObj = zigAnalysis.types[resolvedTypeRef.type];
|
||||
if (typeObj.kind === typeKinds.Pointer){
|
||||
let ptrObj = /** @type {PointerType} */(typeObj);
|
||||
if (getPtrSize(ptrObj) === pointerSizeEnum.One) {
|
||||
@@ -1095,14 +1095,14 @@ var zigAnalysis;
|
||||
}
|
||||
|
||||
// function getCallHtml(fnDecl, callIndex) {
|
||||
// var callObj = zigAnalysis.calls[callIndex];
|
||||
// let callObj = zigAnalysis.calls[callIndex];
|
||||
|
||||
// // TODO make these links work
|
||||
// //var html = '<a href="' + navLinkCall(callObj) + '">' + escapeHtml(fnDecl.name) + '</a>(';
|
||||
// var html = escapeHtml(fnDecl.name) + '(';
|
||||
// for (var arg_i = 0; arg_i < callObj.args.length; arg_i += 1) {
|
||||
// //let html = '<a href="' + navLinkCall(callObj) + '">' + escapeHtml(fnDecl.name) + '</a>(';
|
||||
// let html = escapeHtml(fnDecl.name) + '(';
|
||||
// for (let arg_i = 0; arg_i < callObj.args.length; arg_i += 1) {
|
||||
// if (arg_i !== 0) html += ', ';
|
||||
// var argObj = callObj.args[arg_i];
|
||||
// let argObj = callObj.args[arg_i];
|
||||
// html += getValueText(argObj, argObj.value, true, true);
|
||||
// }
|
||||
// html += ')';
|
||||
@@ -1116,17 +1116,17 @@ var zigAnalysis;
|
||||
* @param {boolean} wantLink
|
||||
*/
|
||||
function getValueText(typeRef, value, wantHtml, wantLink) {
|
||||
var resolvedTypeRef = resolveValue(typeRef);
|
||||
let resolvedTypeRef = resolveValue(typeRef);
|
||||
if ("comptimeExpr" in resolvedTypeRef) {
|
||||
return "[ComptimeExpr]";
|
||||
}
|
||||
console.assert("type" in resolvedTypeRef);
|
||||
var typeObj = zigAnalysis.types[typeRef.type];
|
||||
let typeObj = zigAnalysis.types[typeRef.type];
|
||||
switch (typeObj.kind) {
|
||||
case typeKinds.Type:
|
||||
return typeValueName(value, wantHtml, wantLink);
|
||||
case typeKinds.Fn:
|
||||
var fnObj = zigAnalysis.fns[value];
|
||||
let fnObj = zigAnalysis.fns[value];
|
||||
return typeName(fnObj, wantHtml, wantLink);
|
||||
case typeKinds.Int:
|
||||
if (wantHtml) {
|
||||
@@ -1152,8 +1152,8 @@ var zigAnalysis;
|
||||
case typeKinds.Array:
|
||||
{
|
||||
let arrayObj = /** @type {ArrayType} */(typeObj);
|
||||
var name = "[";
|
||||
var lenName = typeValueName(arrayObj.len, wantHtml, wantSubLink);
|
||||
let name = "[";
|
||||
let lenName = typeValueName(arrayObj.len, wantHtml, wantSubLink);
|
||||
if (wantHtml) {
|
||||
name += '<span class="tok-number">' + lenName + '</span>';
|
||||
} else {
|
||||
@@ -1169,7 +1169,7 @@ var zigAnalysis;
|
||||
case typeKinds.Pointer:
|
||||
{
|
||||
let ptrObj = /** @type {PointerType} */(typeObj);
|
||||
var name = "";
|
||||
let name = "";
|
||||
switch (ptrObj.size) {
|
||||
default:
|
||||
console.log("TODO: implement unhandled pointer size case");
|
||||
@@ -1243,7 +1243,7 @@ var zigAnalysis;
|
||||
case typeKinds.Int:
|
||||
{
|
||||
let intObj = /** @type {NumberType} */(typeObj);
|
||||
var name = intObj.name;
|
||||
let name = intObj.name;
|
||||
if (wantHtml) {
|
||||
return '<span class="tok-type">' + name + '</span>';
|
||||
} else {
|
||||
@@ -1316,8 +1316,8 @@ var zigAnalysis;
|
||||
// TODO: implement error union printing assuming that both
|
||||
// payload and error union are walk results!
|
||||
// let errUnionObj = /** @type {ErrUnionType} */(typeObj);
|
||||
// var errSetTypeObj = /** @type {ErrSetType} */ (zigAnalysis.types[errUnionObj.err]);
|
||||
// var payloadHtml = typeValueName(errUnionObj.payload, wantHtml, wantSubLink, null);
|
||||
// let errSetTypeObj = /** @type {ErrSetType} */ (zigAnalysis.types[errUnionObj.err]);
|
||||
// let payloadHtml = typeValueName(errUnionObj.payload, wantHtml, wantSubLink, null);
|
||||
// if (fnDecl != null && errSetTypeObj.fn === fnDecl.value.type) {
|
||||
// // function index parameter supplied and this is the inferred error set of it
|
||||
// return "!" + payloadHtml;
|
||||
@@ -1328,7 +1328,7 @@ var zigAnalysis;
|
||||
case typeKinds.Fn:
|
||||
{
|
||||
let fnObj = /** @type {Fn} */(typeObj);
|
||||
var payloadHtml = "";
|
||||
let payloadHtml = "";
|
||||
if (wantHtml) {
|
||||
payloadHtml += '<span class="tok-kw">fn</span>';
|
||||
if (fnDecl != null) {
|
||||
@@ -1346,23 +1346,23 @@ var zigAnalysis;
|
||||
}
|
||||
payloadHtml += '(';
|
||||
if (fnObj.params) {
|
||||
var fields = null;
|
||||
var isVarArgs = false;
|
||||
var fnNode = zigAnalysis.astNodes[fnObj.src];
|
||||
let fields = null;
|
||||
let isVarArgs = false;
|
||||
let fnNode = zigAnalysis.astNodes[fnObj.src];
|
||||
fields = fnNode.fields;
|
||||
isVarArgs = fnNode.varArgs;
|
||||
|
||||
for (var i = 0; i < fnObj.params.length; i += 1) {
|
||||
for (let i = 0; i < fnObj.params.length; i += 1) {
|
||||
if (i != 0) {
|
||||
payloadHtml += ', ';
|
||||
}
|
||||
|
||||
var value = fnObj.params[i];
|
||||
var paramValue = resolveValue(value);
|
||||
var isCte = "comptimeExpr" in paramValue;
|
||||
let value = fnObj.params[i];
|
||||
let paramValue = resolveValue(value);
|
||||
let isCte = "comptimeExpr" in paramValue;
|
||||
|
||||
if (fields != null) {
|
||||
var paramNode = zigAnalysis.astNodes[fields[i]];
|
||||
let paramNode = zigAnalysis.astNodes[fields[i]];
|
||||
|
||||
if (paramNode.varArgs) {
|
||||
payloadHtml += '...';
|
||||
@@ -1385,7 +1385,7 @@ var zigAnalysis;
|
||||
}
|
||||
}
|
||||
|
||||
var paramName = paramNode.name;
|
||||
let paramName = paramNode.name;
|
||||
if (paramName != null) {
|
||||
// skip if it matches the type name
|
||||
if (!shouldSkipParamName(paramValue, paramName)) {
|
||||
@@ -1402,7 +1402,7 @@ var zigAnalysis;
|
||||
payloadHtml += '</a>';
|
||||
|
||||
} else if ("type" in value) {
|
||||
var name = typeValueName(value, wantHtml, wantSubLink, fnDecl, linkFnNameDecl);
|
||||
let name = typeValueName(value, wantHtml, wantSubLink, fnDecl, linkFnNameDecl);
|
||||
payloadHtml += '<span class="tok-kw">' + escapeHtml(name) + '</span>';
|
||||
} else if ("comptimeExpr" in value) {
|
||||
payloadHtml += '<span class="tok-kw">[ComptimeExpr]</span>';
|
||||
@@ -1436,7 +1436,7 @@ var zigAnalysis;
|
||||
|
||||
/** @param {Type} typeObj */
|
||||
function renderType(typeObj) {
|
||||
var name;
|
||||
let name;
|
||||
if (rootIsStd && typeObj === zigAnalysis.types[zigAnalysis.packages[zigAnalysis.rootPkg].main]) {
|
||||
name = "std";
|
||||
} else {
|
||||
@@ -1456,10 +1456,10 @@ var zigAnalysis;
|
||||
if (errSetType.fields == null) {
|
||||
domFnErrorsAnyError.classList.remove("hidden");
|
||||
} else {
|
||||
var errorList = [];
|
||||
for (var i = 0; i < errSetType.fields.length; i += 1) {
|
||||
var errObj = errSetType.fields[i];
|
||||
//var srcObj = zigAnalysis.astNodes[errObj.src];
|
||||
let errorList = [];
|
||||
for (let i = 0; i < errSetType.fields.length; i += 1) {
|
||||
let errObj = errSetType.fields[i];
|
||||
//let srcObj = zigAnalysis.astNodes[errObj.src];
|
||||
errorList.push(errObj);
|
||||
}
|
||||
errorList.sort(function(a, b) {
|
||||
@@ -1467,11 +1467,11 @@ var zigAnalysis;
|
||||
});
|
||||
|
||||
resizeDomListDl(domListFnErrors, errorList.length);
|
||||
for (var i = 0; i < errorList.length; i += 1) {
|
||||
var nameTdDom = domListFnErrors.children[i * 2 + 0];
|
||||
var descTdDom = domListFnErrors.children[i * 2 + 1];
|
||||
for (let i = 0; i < errorList.length; i += 1) {
|
||||
let nameTdDom = domListFnErrors.children[i * 2 + 0];
|
||||
let descTdDom = domListFnErrors.children[i * 2 + 1];
|
||||
nameTdDom.textContent = errorList[i].name;
|
||||
var docs = errorList[i].docs;
|
||||
let docs = errorList[i].docs;
|
||||
if (docs != null) {
|
||||
descTdDom.innerHTML = markdown(docs);
|
||||
} else {
|
||||
@@ -1484,25 +1484,25 @@ var zigAnalysis;
|
||||
}
|
||||
|
||||
// function allCompTimeFnCallsHaveTypeResult(typeIndex, value) {
|
||||
// var srcIndex = zigAnalysis.fns[value].src;
|
||||
// var calls = nodesToCallsMap[srcIndex];
|
||||
// let srcIndex = zigAnalysis.fns[value].src;
|
||||
// let calls = nodesToCallsMap[srcIndex];
|
||||
// if (calls == null) return false;
|
||||
// for (var i = 0; i < calls.length; i += 1) {
|
||||
// var call = zigAnalysis.calls[calls[i]];
|
||||
// for (let i = 0; i < calls.length; i += 1) {
|
||||
// let call = zigAnalysis.calls[calls[i]];
|
||||
// if (call.result.type !== typeTypeId) return false;
|
||||
// }
|
||||
// return true;
|
||||
// }
|
||||
//
|
||||
// function allCompTimeFnCallsResult(calls) {
|
||||
// var firstTypeObj = null;
|
||||
// var containerObj = {
|
||||
// let firstTypeObj = null;
|
||||
// let containerObj = {
|
||||
// privDecls: [],
|
||||
// };
|
||||
// for (var callI = 0; callI < calls.length; callI += 1) {
|
||||
// var call = zigAnalysis.calls[calls[callI]];
|
||||
// for (let callI = 0; callI < calls.length; callI += 1) {
|
||||
// let call = zigAnalysis.calls[calls[callI]];
|
||||
// if (call.result.type !== typeTypeId) return null;
|
||||
// var typeObj = zigAnalysis.types[call.result.value];
|
||||
// let typeObj = zigAnalysis.types[call.result.value];
|
||||
// if (!typeKindIsContainer(typeObj.kind)) return null;
|
||||
// if (firstTypeObj == null) {
|
||||
// firstTypeObj = typeObj;
|
||||
@@ -1513,9 +1513,9 @@ var zigAnalysis;
|
||||
//
|
||||
// if (containerObj.fields == null) {
|
||||
// containerObj.fields = (typeObj.fields || []).concat([]);
|
||||
// } else for (var fieldI = 0; fieldI < typeObj.fields.length; fieldI += 1) {
|
||||
// var prev = containerObj.fields[fieldI];
|
||||
// var next = typeObj.fields[fieldI];
|
||||
// } else for (let fieldI = 0; fieldI < typeObj.fields.length; fieldI += 1) {
|
||||
// let prev = containerObj.fields[fieldI];
|
||||
// let next = typeObj.fields[fieldI];
|
||||
// if (prev === next) continue;
|
||||
// if (typeof(prev) === 'object') {
|
||||
// if (prev[next] == null) prev[next] = typeObj;
|
||||
@@ -1528,14 +1528,14 @@ var zigAnalysis;
|
||||
//
|
||||
// if (containerObj.pubDecls == null) {
|
||||
// containerObj.pubDecls = (typeObj.pubDecls || []).concat([]);
|
||||
// } else for (var declI = 0; declI < typeObj.pubDecls.length; declI += 1) {
|
||||
// var prev = containerObj.pubDecls[declI];
|
||||
// var next = typeObj.pubDecls[declI];
|
||||
// } else for (let declI = 0; declI < typeObj.pubDecls.length; declI += 1) {
|
||||
// let prev = containerObj.pubDecls[declI];
|
||||
// let next = typeObj.pubDecls[declI];
|
||||
// if (prev === next) continue;
|
||||
// // TODO instead of showing "examples" as the public declarations,
|
||||
// // do logic like this:
|
||||
// //if (typeof(prev) !== 'object') {
|
||||
// // var newDeclId = zigAnalysis.decls.length;
|
||||
// // let newDeclId = zigAnalysis.decls.length;
|
||||
// // prev = clone(zigAnalysis.decls[prev]);
|
||||
// // prev.id = newDeclId;
|
||||
// // zigAnalysis.decls.push(prev);
|
||||
@@ -1544,8 +1544,8 @@ var zigAnalysis;
|
||||
// //mergeDecls(prev, next, firstTypeObj, typeObj);
|
||||
// }
|
||||
// }
|
||||
// for (var declI = 0; declI < containerObj.pubDecls.length; declI += 1) {
|
||||
// var decl = containerObj.pubDecls[declI];
|
||||
// for (let declI = 0; declI < containerObj.pubDecls.length; declI += 1) {
|
||||
// let decl = containerObj.pubDecls[declI];
|
||||
// if (typeof(decl) === 'object') {
|
||||
// containerObj.pubDecls[declI] = containerObj.pubDecls[declI].id;
|
||||
// }
|
||||
@@ -1555,10 +1555,10 @@ var zigAnalysis;
|
||||
|
||||
|
||||
// function mergeDecls(declObj, nextDeclIndex, firstTypeObj, typeObj) {
|
||||
// var nextDeclObj = zigAnalysis.decls[nextDeclIndex];
|
||||
// let nextDeclObj = zigAnalysis.decls[nextDeclIndex];
|
||||
// if (declObj.type != null && nextDeclObj.type != null && declObj.type !== nextDeclObj.type) {
|
||||
// if (typeof(declObj.type) !== 'object') {
|
||||
// var prevType = declObj.type;
|
||||
// let prevType = declObj.type;
|
||||
// declObj.type = {};
|
||||
// declObj.type[prevType] = firstTypeObj;
|
||||
// declObj.value = null;
|
||||
@@ -1569,7 +1569,7 @@ var zigAnalysis;
|
||||
// }
|
||||
// if (declObj.value != null && nextDeclObj.value != null && declObj.value !== nextDeclObj.value) {
|
||||
// if (typeof(declObj.value) !== 'object') {
|
||||
// var prevValue = declObj.value;
|
||||
// let prevValue = declObj.value;
|
||||
// declObj.value = {};
|
||||
// declObj.value[prevValue] = firstTypeObj;
|
||||
// }
|
||||
@@ -1582,8 +1582,8 @@ var zigAnalysis;
|
||||
/** @param {Decl} decl */
|
||||
function renderValue(decl) {
|
||||
|
||||
var declTypeRef = typeOfDecl(decl);
|
||||
var declValueText = "";
|
||||
let declTypeRef = typeOfDecl(decl);
|
||||
let declValueText = "";
|
||||
switch(Object.keys(decl.value)[0]) {
|
||||
case "int":
|
||||
declValueText += /** @type {{int: {value: number}}} */(decl.value).int.value;
|
||||
@@ -1603,7 +1603,7 @@ var zigAnalysis;
|
||||
escapeHtml(decl.name) + ': ' + typeValueName(declTypeRef, true, true) +
|
||||
" = " + declValueText;
|
||||
|
||||
var docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
let docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
if (docs != null) {
|
||||
domTldDocs.innerHTML = markdown(docs);
|
||||
domTldDocs.classList.remove("hidden");
|
||||
@@ -1614,11 +1614,11 @@ var zigAnalysis;
|
||||
|
||||
/** @param {Decl} decl */
|
||||
function renderVar(decl) {
|
||||
var declTypeRef = typeOfDecl(decl);
|
||||
let declTypeRef = typeOfDecl(decl);
|
||||
domFnProtoCode.innerHTML = '<span class="tok-kw">var</span> ' +
|
||||
escapeHtml(decl.name) + ': ' + typeValueName(declTypeRef, true, true);
|
||||
|
||||
var docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
let docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
if (docs != null) {
|
||||
domTldDocs.innerHTML = markdown(docs);
|
||||
domTldDocs.classList.remove("hidden");
|
||||
@@ -1642,9 +1642,9 @@ var zigAnalysis;
|
||||
typesList, namespacesList, errSetsList,
|
||||
fnsList, varsList, valsList, testsList) {
|
||||
|
||||
for (var i = 0; i < decls.length; i += 1) {
|
||||
var decl = zigAnalysis.decls[decls[i]];
|
||||
var declValue = resolveValue(decl.value);
|
||||
for (let i = 0; i < decls.length; i += 1) {
|
||||
let decl = zigAnalysis.decls[decls[i]];
|
||||
let declValue = resolveValue(decl.value);
|
||||
|
||||
if (decl.isTest) {
|
||||
testsList.push(decl);
|
||||
@@ -1676,8 +1676,8 @@ var zigAnalysis;
|
||||
} else if (!("type" in declValue)){
|
||||
valsList.push(decl);
|
||||
} else {
|
||||
var value = zigAnalysis.types[declValue.type];
|
||||
var kind = value.kind;
|
||||
let value = zigAnalysis.types[declValue.type];
|
||||
let kind = value.kind;
|
||||
if (kind === typeKinds.Fn) {
|
||||
// TODO: handle CTE return types when we know their type.
|
||||
const resVal = resolveValue(/** @type {Fn} */(value).ret);
|
||||
@@ -1704,19 +1704,19 @@ var zigAnalysis;
|
||||
*/
|
||||
function renderContainer(container) {
|
||||
/** @type {Decl[]} */
|
||||
var typesList = [];
|
||||
let typesList = [];
|
||||
/** @type {Decl[]} */
|
||||
var namespacesList = [];
|
||||
let namespacesList = [];
|
||||
/** @type {Decl[]} */
|
||||
var errSetsList = [];
|
||||
let errSetsList = [];
|
||||
/** @type {Decl[]} */
|
||||
var fnsList = [];
|
||||
let fnsList = [];
|
||||
/** @type {Decl[]} */
|
||||
var varsList = [];
|
||||
let varsList = [];
|
||||
/** @type {Decl[]} */
|
||||
var valsList = [];
|
||||
let valsList = [];
|
||||
/** @type {Decl[]} */
|
||||
var testsList = [];
|
||||
let testsList = [];
|
||||
|
||||
categorizeDecls(container.pubDecls,
|
||||
typesList, namespacesList, errSetsList,
|
||||
@@ -1735,7 +1735,7 @@ var zigAnalysis;
|
||||
testsList.sort(byNameProperty);
|
||||
|
||||
if (container.src != null) {
|
||||
var docs = zigAnalysis.astNodes[container.src].docs;
|
||||
let docs = zigAnalysis.astNodes[container.src].docs;
|
||||
if (docs != null) {
|
||||
domTldDocs.innerHTML = markdown(docs);
|
||||
domTldDocs.classList.remove("hidden");
|
||||
@@ -1744,10 +1744,10 @@ var zigAnalysis;
|
||||
|
||||
if (typesList.length !== 0) {
|
||||
resizeDomList(domListTypes, typesList.length, '<li><a href="#"></a></li>');
|
||||
for (var i = 0; i < typesList.length; i += 1) {
|
||||
var liDom = domListTypes.children[i];
|
||||
var aDom = liDom.children[0];
|
||||
var decl = typesList[i];
|
||||
for (let i = 0; i < typesList.length; i += 1) {
|
||||
let liDom = domListTypes.children[i];
|
||||
let aDom = liDom.children[0];
|
||||
let decl = typesList[i];
|
||||
aDom.textContent = decl.name;
|
||||
aDom.setAttribute('href', navLinkDecl(decl.name));
|
||||
}
|
||||
@@ -1755,10 +1755,10 @@ var zigAnalysis;
|
||||
}
|
||||
if (namespacesList.length !== 0) {
|
||||
resizeDomList(domListNamespaces, namespacesList.length, '<li><a href="#"></a></li>');
|
||||
for (var i = 0; i < namespacesList.length; i += 1) {
|
||||
var liDom = domListNamespaces.children[i];
|
||||
var aDom = liDom.children[0];
|
||||
var decl = namespacesList[i];
|
||||
for (let i = 0; i < namespacesList.length; i += 1) {
|
||||
let liDom = domListNamespaces.children[i];
|
||||
let aDom = liDom.children[0];
|
||||
let decl = namespacesList[i];
|
||||
aDom.textContent = decl.name;
|
||||
aDom.setAttribute('href', navLinkDecl(decl.name));
|
||||
}
|
||||
@@ -1767,10 +1767,10 @@ var zigAnalysis;
|
||||
|
||||
if (errSetsList.length !== 0) {
|
||||
resizeDomList(domListErrSets, errSetsList.length, '<li><a href="#"></a></li>');
|
||||
for (var i = 0; i < errSetsList.length; i += 1) {
|
||||
var liDom = domListErrSets.children[i];
|
||||
var aDom = liDom.children[0];
|
||||
var decl = errSetsList[i];
|
||||
for (let i = 0; i < errSetsList.length; i += 1) {
|
||||
let liDom = domListErrSets.children[i];
|
||||
let aDom = liDom.children[0];
|
||||
let decl = errSetsList[i];
|
||||
aDom.textContent = decl.name;
|
||||
aDom.setAttribute('href', navLinkDecl(decl.name));
|
||||
}
|
||||
@@ -1779,19 +1779,19 @@ var zigAnalysis;
|
||||
|
||||
if (fnsList.length !== 0) {
|
||||
resizeDomList(domListFns, fnsList.length, '<tr><td></td><td></td></tr>');
|
||||
for (var i = 0; i < fnsList.length; i += 1) {
|
||||
var decl = fnsList[i];
|
||||
var trDom = domListFns.children[i];
|
||||
for (let i = 0; i < fnsList.length; i += 1) {
|
||||
let decl = fnsList[i];
|
||||
let trDom = domListFns.children[i];
|
||||
|
||||
var tdFnCode = trDom.children[0];
|
||||
var tdDesc = trDom.children[1];
|
||||
let tdFnCode = trDom.children[0];
|
||||
let tdDesc = trDom.children[1];
|
||||
|
||||
var declType = resolveValue(decl.value);
|
||||
let declType = resolveValue(decl.value);
|
||||
console.assert("type" in declType);
|
||||
|
||||
tdFnCode.innerHTML = typeValueName(declType, true, true, decl, navLinkDecl(decl.name));
|
||||
|
||||
var docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
let docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
if (docs != null) {
|
||||
tdDesc.innerHTML = shortDescMarkdown(docs);
|
||||
} else {
|
||||
@@ -1801,29 +1801,29 @@ var zigAnalysis;
|
||||
domSectFns.classList.remove("hidden");
|
||||
}
|
||||
|
||||
var containerNode = zigAnalysis.astNodes[container.src];
|
||||
let containerNode = zigAnalysis.astNodes[container.src];
|
||||
if (containerNode.fields) {
|
||||
resizeDomList(domListFields, containerNode.fields.length, '<div></div>');
|
||||
|
||||
for (var i = 0; i < containerNode.fields.length; i += 1) {
|
||||
var fieldNode = zigAnalysis.astNodes[containerNode.fields[i]];
|
||||
var divDom = domListFields.children[i];
|
||||
for (let i = 0; i < containerNode.fields.length; i += 1) {
|
||||
let fieldNode = zigAnalysis.astNodes[containerNode.fields[i]];
|
||||
let divDom = domListFields.children[i];
|
||||
let fieldName = /** @type {string} */(fieldNode.name);
|
||||
|
||||
var html = '<div class="mobile-scroll-container"><pre class="scroll-item">' + escapeHtml(fieldName);
|
||||
let html = '<div class="mobile-scroll-container"><pre class="scroll-item">' + escapeHtml(fieldName);
|
||||
|
||||
if (container.kind === typeKinds.Enum) {
|
||||
html += ' = <span class="tok-number">' + fieldName + '</span>';
|
||||
} else {
|
||||
var field = container.fields[i];
|
||||
let field = container.fields[i];
|
||||
html += ": ";
|
||||
var name = typeValueName(field, false, false);
|
||||
let name = typeValueName(field, false, false);
|
||||
html += '<span class="tok-kw">'+ name +'</span>';
|
||||
}
|
||||
|
||||
html += ',</pre></div>';
|
||||
|
||||
var docs = fieldNode.docs;
|
||||
let docs = fieldNode.docs;
|
||||
if (docs != null) {
|
||||
html += markdown(docs);
|
||||
}
|
||||
@@ -1835,21 +1835,21 @@ var zigAnalysis;
|
||||
if (varsList.length !== 0) {
|
||||
resizeDomList(domListGlobalVars, varsList.length,
|
||||
'<tr><td><a href="#"></a></td><td></td><td></td></tr>');
|
||||
for (var i = 0; i < varsList.length; i += 1) {
|
||||
var decl = varsList[i];
|
||||
var trDom = domListGlobalVars.children[i];
|
||||
for (let i = 0; i < varsList.length; i += 1) {
|
||||
let decl = varsList[i];
|
||||
let trDom = domListGlobalVars.children[i];
|
||||
|
||||
var tdName = trDom.children[0];
|
||||
var tdNameA = tdName.children[0];
|
||||
var tdType = trDom.children[1];
|
||||
var tdDesc = trDom.children[2];
|
||||
let tdName = trDom.children[0];
|
||||
let tdNameA = tdName.children[0];
|
||||
let tdType = trDom.children[1];
|
||||
let tdDesc = trDom.children[2];
|
||||
|
||||
tdNameA.setAttribute('href', navLinkDecl(decl.name));
|
||||
tdNameA.textContent = decl.name;
|
||||
|
||||
tdType.innerHTML = typeValueName(typeOfDecl(decl), true, true);
|
||||
|
||||
var docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
let docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
if (docs != null) {
|
||||
tdDesc.innerHTML = shortDescMarkdown(docs);
|
||||
} else {
|
||||
@@ -1862,21 +1862,21 @@ var zigAnalysis;
|
||||
if (valsList.length !== 0) {
|
||||
resizeDomList(domListValues, valsList.length,
|
||||
'<tr><td><a href="#"></a></td><td></td><td></td></tr>');
|
||||
for (var i = 0; i < valsList.length; i += 1) {
|
||||
var decl = valsList[i];
|
||||
var trDom = domListValues.children[i];
|
||||
for (let i = 0; i < valsList.length; i += 1) {
|
||||
let decl = valsList[i];
|
||||
let trDom = domListValues.children[i];
|
||||
|
||||
var tdName = trDom.children[0];
|
||||
var tdNameA = tdName.children[0];
|
||||
var tdType = trDom.children[1];
|
||||
var tdDesc = trDom.children[2];
|
||||
let tdName = trDom.children[0];
|
||||
let tdNameA = tdName.children[0];
|
||||
let tdType = trDom.children[1];
|
||||
let tdDesc = trDom.children[2];
|
||||
|
||||
tdNameA.setAttribute('href', navLinkDecl(decl.name));
|
||||
tdNameA.textContent = decl.name;
|
||||
|
||||
tdType.innerHTML = typeValueName(typeOfDecl(decl), true, true);
|
||||
|
||||
var docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
let docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
if (docs != null) {
|
||||
tdDesc.innerHTML = shortDescMarkdown(docs);
|
||||
} else {
|
||||
@@ -1889,21 +1889,21 @@ var zigAnalysis;
|
||||
if (testsList.length !== 0) {
|
||||
resizeDomList(domListTests, testsList.length,
|
||||
'<tr><td><a href="#"></a></td><td></td><td></td></tr>');
|
||||
for (var i = 0; i < testsList.length; i += 1) {
|
||||
var decl = testsList[i];
|
||||
var trDom = domListTests.children[i];
|
||||
for (let i = 0; i < testsList.length; i += 1) {
|
||||
let decl = testsList[i];
|
||||
let trDom = domListTests.children[i];
|
||||
|
||||
var tdName = trDom.children[0];
|
||||
var tdNameA = tdName.children[0];
|
||||
var tdType = trDom.children[1];
|
||||
var tdDesc = trDom.children[2];
|
||||
let tdName = trDom.children[0];
|
||||
let tdNameA = tdName.children[0];
|
||||
let tdType = trDom.children[1];
|
||||
let tdDesc = trDom.children[2];
|
||||
|
||||
tdNameA.setAttribute('href', navLinkDecl(decl.name));
|
||||
tdNameA.textContent = decl.name;
|
||||
|
||||
tdType.innerHTML = typeValueName(typeOfDecl(decl), true, true);
|
||||
|
||||
var docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
let docs = zigAnalysis.astNodes[decl.src].docs;
|
||||
if (docs != null) {
|
||||
tdDesc.innerHTML = shortDescMarkdown(docs);
|
||||
} else {
|
||||
@@ -1930,33 +1930,33 @@ var zigAnalysis;
|
||||
}
|
||||
|
||||
function detectRootIsStd() {
|
||||
var rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
|
||||
let rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
|
||||
if (rootPkg.table["std"] == null) {
|
||||
// no std mapped into the root package
|
||||
return false;
|
||||
}
|
||||
var stdPkg = zigAnalysis.packages[rootPkg.table["std"]];
|
||||
let stdPkg = zigAnalysis.packages[rootPkg.table["std"]];
|
||||
if (stdPkg == null) return false;
|
||||
return rootPkg.file === stdPkg.file;
|
||||
}
|
||||
|
||||
function indexTypeKinds() {
|
||||
var map = /** @type {Record<string, number>} */({});
|
||||
for (var i = 0; i < zigAnalysis.typeKinds.length; i += 1) {
|
||||
let map = /** @type {Record<string, number>} */({});
|
||||
for (let i = 0; i < zigAnalysis.typeKinds.length; i += 1) {
|
||||
map[zigAnalysis.typeKinds[i]] = i;
|
||||
}
|
||||
// This is just for debugging purposes, not needed to function
|
||||
var assertList = ["Type","Void","Bool","NoReturn","Int","Float","Pointer","Array","Struct",
|
||||
let assertList = ["Type","Void","Bool","NoReturn","Int","Float","Pointer","Array","Struct",
|
||||
"ComptimeFloat","ComptimeInt","Undefined","Null","Optional","ErrorUnion","ErrorSet","Enum",
|
||||
"Union","Fn","BoundFn","Opaque","Frame","AnyFrame","Vector","EnumLiteral"];
|
||||
for (var i = 0; i < assertList.length; i += 1) {
|
||||
for (let i = 0; i < assertList.length; i += 1) {
|
||||
if (map[assertList[i]] == null) throw new Error("No type kind '" + assertList[i] + "' found");
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
function findTypeTypeId() {
|
||||
for (var i = 0; i < zigAnalysis.types.length; i += 1) {
|
||||
for (let i = 0; i < zigAnalysis.types.length; i += 1) {
|
||||
if (zigAnalysis.types[i].kind == typeKinds.Type) {
|
||||
return i;
|
||||
}
|
||||
@@ -1977,14 +1977,14 @@ var zigAnalysis;
|
||||
curNavSearch = "";
|
||||
|
||||
if (location.hash[0] === '#' && location.hash.length > 1) {
|
||||
var query = location.hash.substring(1);
|
||||
let query = location.hash.substring(1);
|
||||
if (query[0] === '*') {
|
||||
curNav.showPrivDecls = true;
|
||||
query = query.substring(1);
|
||||
}
|
||||
|
||||
var qpos = query.indexOf("?");
|
||||
var nonSearchPart;
|
||||
let qpos = query.indexOf("?");
|
||||
let nonSearchPart;
|
||||
if (qpos === -1) {
|
||||
nonSearchPart = query;
|
||||
} else {
|
||||
@@ -1992,7 +1992,7 @@ var zigAnalysis;
|
||||
curNavSearch = decodeURIComponent(query.substring(qpos + 1));
|
||||
}
|
||||
|
||||
var parts = nonSearchPart.split(";");
|
||||
let parts = nonSearchPart.split(";");
|
||||
curNav.pkgNames = decodeURIComponent(parts[0]).split(".");
|
||||
if (parts[1] != null) {
|
||||
curNav.declNames = decodeURIComponent(parts[1]).split(".");
|
||||
@@ -2022,17 +2022,17 @@ var zigAnalysis;
|
||||
*/
|
||||
function findSubDecl(parentType, childName) {
|
||||
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];
|
||||
for (let i = 0; i < parentType.pubDecls.length; i += 1) {
|
||||
let declIndex = parentType.pubDecls[i];
|
||||
let childDecl = zigAnalysis.decls[declIndex];
|
||||
if (childDecl.name === childName) {
|
||||
return childDecl;
|
||||
}
|
||||
}
|
||||
if (!parentType.privDecls) return null;
|
||||
for (var i = 0; i < parentType.privDecls.length; i += 1) {
|
||||
var declIndex = parentType.privDecls[i];
|
||||
var childDecl = zigAnalysis.decls[declIndex];
|
||||
for (let i = 0; i < parentType.privDecls.length; i += 1) {
|
||||
let declIndex = parentType.privDecls[i];
|
||||
let childDecl = zigAnalysis.decls[declIndex];
|
||||
if (childDecl.name === childName) {
|
||||
return childDecl;
|
||||
}
|
||||
@@ -2044,23 +2044,23 @@ var zigAnalysis;
|
||||
|
||||
|
||||
function computeCanonicalPackagePaths() {
|
||||
var list = new Array(zigAnalysis.packages.length);
|
||||
let list = new Array(zigAnalysis.packages.length);
|
||||
// Now we try to find all the packages from root.
|
||||
var rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
|
||||
let rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
|
||||
// Breadth-first to keep the path shortest possible.
|
||||
var stack = [{
|
||||
let stack = [{
|
||||
path: /** @type {string[]} */([]),
|
||||
pkg: rootPkg,
|
||||
}];
|
||||
while (stack.length !== 0) {
|
||||
var item = /** @type {{path: string[], pkg: Package}} */(stack.shift());
|
||||
for (var key in item.pkg.table) {
|
||||
var childPkgIndex = item.pkg.table[key];
|
||||
let item = /** @type {{path: string[], pkg: Package}} */(stack.shift());
|
||||
for (let key in item.pkg.table) {
|
||||
let childPkgIndex = item.pkg.table[key];
|
||||
if (list[childPkgIndex] != null) continue;
|
||||
var childPkg = zigAnalysis.packages[childPkgIndex];
|
||||
let childPkg = zigAnalysis.packages[childPkgIndex];
|
||||
if (childPkg == null) continue;
|
||||
|
||||
var newPath = item.path.concat([key])
|
||||
let newPath = item.path.concat([key])
|
||||
list[childPkgIndex] = newPath;
|
||||
stack.push({
|
||||
path: newPath,
|
||||
@@ -2074,37 +2074,37 @@ var zigAnalysis;
|
||||
|
||||
/** @return {CanonDecl[]} */
|
||||
function computeCanonDeclPaths() {
|
||||
var list = new Array(zigAnalysis.decls.length);
|
||||
let list = new Array(zigAnalysis.decls.length);
|
||||
canonTypeDecls = new Array(zigAnalysis.types.length);
|
||||
|
||||
for (var pkgI = 0; pkgI < zigAnalysis.packages.length; pkgI += 1) {
|
||||
for (let pkgI = 0; pkgI < zigAnalysis.packages.length; pkgI += 1) {
|
||||
if (pkgI === zigAnalysis.rootPkg && rootIsStd) continue;
|
||||
var pkg = zigAnalysis.packages[pkgI];
|
||||
var pkgNames = canonPkgPaths[pkgI];
|
||||
var stack = [{
|
||||
let pkg = zigAnalysis.packages[pkgI];
|
||||
let pkgNames = canonPkgPaths[pkgI];
|
||||
let stack = [{
|
||||
declNames: /** @type {string[]} */([]),
|
||||
type: zigAnalysis.types[pkg.main],
|
||||
}];
|
||||
while (stack.length !== 0) {
|
||||
var item = /** @type {{declNames: string[], type: Type}} */(stack.shift());
|
||||
let item = /** @type {{declNames: string[], type: Type}} */(stack.shift());
|
||||
|
||||
if (isContainerType(item.type)) {
|
||||
let t = /** @type {ContainerType} */(item.type);
|
||||
|
||||
var len = t.pubDecls ? t.pubDecls.length : 0;
|
||||
for (var declI = 0; declI < len; declI += 1) {
|
||||
var mainDeclIndex = t.pubDecls[declI];
|
||||
let len = t.pubDecls ? t.pubDecls.length : 0;
|
||||
for (let declI = 0; declI < len; declI += 1) {
|
||||
let mainDeclIndex = t.pubDecls[declI];
|
||||
if (list[mainDeclIndex] != null) continue;
|
||||
|
||||
var decl = zigAnalysis.decls[mainDeclIndex];
|
||||
var declVal = resolveValue(decl.value);
|
||||
var declNames = item.declNames.concat([decl.name]);
|
||||
let decl = zigAnalysis.decls[mainDeclIndex];
|
||||
let declVal = resolveValue(decl.value);
|
||||
let declNames = item.declNames.concat([decl.name]);
|
||||
list[mainDeclIndex] = {
|
||||
pkgNames: pkgNames,
|
||||
declNames: declNames,
|
||||
};
|
||||
if ("type" in declVal) {
|
||||
var value = zigAnalysis.types[declVal.type];
|
||||
let value = zigAnalysis.types[declVal.type];
|
||||
if (declCanRepresentTypeKind(value.kind))
|
||||
{
|
||||
canonTypeDecls[declVal.type] = mainDeclIndex;
|
||||
@@ -2149,8 +2149,8 @@ var zigAnalysis;
|
||||
|
||||
/** @param {string} docs */
|
||||
function shortDescMarkdown(docs) {
|
||||
var parts = docs.trim().split("\n");
|
||||
var firstLine = parts[0];
|
||||
let parts = docs.trim().split("\n");
|
||||
let firstLine = parts[0];
|
||||
return markdown(firstLine);
|
||||
}
|
||||
|
||||
@@ -2172,9 +2172,9 @@ var zigAnalysis;
|
||||
// Dissect lines and determine the type for each line.
|
||||
// Also computes indentation level and removes unnecessary whitespace
|
||||
|
||||
var is_reading_code = false;
|
||||
var code_indent = 0;
|
||||
for (var line_no = 0; line_no < raw_lines.length; line_no++) {
|
||||
let is_reading_code = false;
|
||||
let code_indent = 0;
|
||||
for (let line_no = 0; line_no < raw_lines.length; line_no++) {
|
||||
const raw_line = raw_lines[line_no];
|
||||
|
||||
const line = {
|
||||
@@ -2292,8 +2292,8 @@ var zigAnalysis;
|
||||
/** @type {Array<Fmt>} */
|
||||
const stack = [];
|
||||
|
||||
var innerHTML = "";
|
||||
var currentRun = "";
|
||||
let innerHTML = "";
|
||||
let currentRun = "";
|
||||
|
||||
function flushRun() {
|
||||
if (currentRun != "") {
|
||||
@@ -2302,11 +2302,11 @@ var zigAnalysis;
|
||||
currentRun = "";
|
||||
}
|
||||
|
||||
var parsing_code = false;
|
||||
var codetag = "";
|
||||
var in_code = false;
|
||||
let parsing_code = false;
|
||||
let codetag = "";
|
||||
let in_code = false;
|
||||
|
||||
for (var i = 0; i < innerText.length; i++) {
|
||||
for (let i = 0; i < innerText.length; i++) {
|
||||
|
||||
if (parsing_code && in_code) {
|
||||
if (innerText.substr(i, codetag.length) == codetag) {
|
||||
@@ -2340,7 +2340,7 @@ var zigAnalysis;
|
||||
currentRun += innerText[i];
|
||||
in_code = true;
|
||||
} else {
|
||||
var any = false;
|
||||
let any = false;
|
||||
for (let idx = /** @type {number} */(stack.length > 0 ? -1 : 0); idx < formats.length; idx++) {
|
||||
const fmt = idx >= 0 ? formats[idx] : stack[stack.length - 1];
|
||||
if (innerText.substr(i, fmt.marker.length) == fmt.marker) {
|
||||
@@ -2414,8 +2414,8 @@ var zigAnalysis;
|
||||
}
|
||||
}
|
||||
|
||||
var html = "";
|
||||
for (var line_no = 0; line_no < lines.length; line_no++) {
|
||||
let html = "";
|
||||
for (let line_no = 0; line_no < lines.length; line_no++) {
|
||||
const line = lines[line_no];
|
||||
|
||||
|
||||
@@ -2473,12 +2473,12 @@ var zigAnalysis;
|
||||
return;
|
||||
}
|
||||
|
||||
var liDom = domListSearchResults.children[curSearchIndex];
|
||||
let liDom = domListSearchResults.children[curSearchIndex];
|
||||
if (liDom == null && domListSearchResults.children.length !== 0) {
|
||||
liDom = domListSearchResults.children[0];
|
||||
}
|
||||
if (liDom != null) {
|
||||
var aDom = liDom.children[0];
|
||||
let aDom = liDom.children[0];
|
||||
location.href = /** @type {string} */(aDom.getAttribute("href"));
|
||||
curSearchIndex = -1;
|
||||
}
|
||||
@@ -2490,10 +2490,10 @@ var zigAnalysis;
|
||||
switch (getKeyString(ev)) {
|
||||
case "Enter":
|
||||
// detect if this search changes anything
|
||||
var terms1 = getSearchTerms();
|
||||
let terms1 = getSearchTerms();
|
||||
startSearch();
|
||||
updateCurNav();
|
||||
var terms2 = getSearchTerms();
|
||||
let terms2 = getSearchTerms();
|
||||
// we might have to wait for onHashChange to trigger
|
||||
imFeelingLucky = (terms1.join(' ') !== terms2.join(' '));
|
||||
if (!imFeelingLucky) activateSelectedResult();
|
||||
@@ -2552,8 +2552,8 @@ var zigAnalysis;
|
||||
|
||||
/** @param {KeyboardEvent} ev */
|
||||
function getKeyString(ev) {
|
||||
var name;
|
||||
var ignoreShift = false;
|
||||
let name;
|
||||
let ignoreShift = false;
|
||||
switch (ev.which) {
|
||||
case 13:
|
||||
name = "Enter";
|
||||
@@ -2622,42 +2622,42 @@ function startAsyncSearch() {
|
||||
}
|
||||
function startSearch() {
|
||||
clearAsyncSearch();
|
||||
var oldHash = location.hash;
|
||||
var parts = oldHash.split("?");
|
||||
var newPart2 = (domSearch.value === "") ? "" : ("?" + domSearch.value);
|
||||
let oldHash = location.hash;
|
||||
let parts = oldHash.split("?");
|
||||
let newPart2 = (domSearch.value === "") ? "" : ("?" + domSearch.value);
|
||||
location.hash = (parts.length === 1) ? (oldHash + newPart2) : (parts[0] + newPart2);
|
||||
}
|
||||
function getSearchTerms() {
|
||||
var list = curNavSearch.trim().split(/[ \r\n\t]+/);
|
||||
let list = curNavSearch.trim().split(/[ \r\n\t]+/);
|
||||
list.sort();
|
||||
return list;
|
||||
}
|
||||
function renderSearch() {
|
||||
var matchedItems = [];
|
||||
var ignoreCase = (curNavSearch.toLowerCase() === curNavSearch);
|
||||
var terms = getSearchTerms();
|
||||
let matchedItems = [];
|
||||
let ignoreCase = (curNavSearch.toLowerCase() === curNavSearch);
|
||||
let terms = getSearchTerms();
|
||||
|
||||
decl_loop: for (var declIndex = 0; declIndex < zigAnalysis.decls.length; declIndex += 1) {
|
||||
var canonPath = getCanonDeclPath(declIndex);
|
||||
decl_loop: for (let declIndex = 0; declIndex < zigAnalysis.decls.length; declIndex += 1) {
|
||||
let canonPath = getCanonDeclPath(declIndex);
|
||||
if (canonPath == null) continue;
|
||||
|
||||
var decl = zigAnalysis.decls[declIndex];
|
||||
var lastPkgName = canonPath.pkgNames[canonPath.pkgNames.length - 1];
|
||||
var fullPathSearchText = lastPkgName + "." + canonPath.declNames.join('.');
|
||||
var astNode = zigAnalysis.astNodes[decl.src];
|
||||
var fileAndDocs = zigAnalysis.files[astNode.file];
|
||||
let decl = zigAnalysis.decls[declIndex];
|
||||
let lastPkgName = canonPath.pkgNames[canonPath.pkgNames.length - 1];
|
||||
let fullPathSearchText = lastPkgName + "." + canonPath.declNames.join('.');
|
||||
let astNode = zigAnalysis.astNodes[decl.src];
|
||||
let fileAndDocs = zigAnalysis.files[astNode.file];
|
||||
if (astNode.docs != null) {
|
||||
fileAndDocs += "\n" + astNode.docs;
|
||||
}
|
||||
var fullPathSearchTextLower = fullPathSearchText;
|
||||
let fullPathSearchTextLower = fullPathSearchText;
|
||||
if (ignoreCase) {
|
||||
fullPathSearchTextLower = fullPathSearchTextLower.toLowerCase();
|
||||
fileAndDocs = fileAndDocs.toLowerCase();
|
||||
}
|
||||
|
||||
var points = 0;
|
||||
for (var termIndex = 0; termIndex < terms.length; termIndex += 1) {
|
||||
var term = terms[termIndex];
|
||||
let points = 0;
|
||||
for (let termIndex = 0; termIndex < terms.length; termIndex += 1) {
|
||||
let term = terms[termIndex];
|
||||
|
||||
// exact, case sensitive match of full decl path
|
||||
if (fullPathSearchText === term) {
|
||||
@@ -2693,16 +2693,16 @@ function renderSearch() {
|
||||
resizeDomList(domListSearchResults, matchedItems.length, '<li><a href="#"></a></li>');
|
||||
|
||||
matchedItems.sort(function(a, b) {
|
||||
var cmp = operatorCompare(b.points, a.points);
|
||||
let cmp = operatorCompare(b.points, a.points);
|
||||
if (cmp != 0) return cmp;
|
||||
return operatorCompare(a.decl.name, b.decl.name);
|
||||
});
|
||||
|
||||
for (var i = 0; i < matchedItems.length; i += 1) {
|
||||
var liDom = domListSearchResults.children[i];
|
||||
var aDom = liDom.children[0];
|
||||
var match = matchedItems[i];
|
||||
var lastPkgName = match.path.pkgNames[match.path.pkgNames.length - 1];
|
||||
for (let i = 0; i < matchedItems.length; i += 1) {
|
||||
let liDom = domListSearchResults.children[i];
|
||||
let aDom = liDom.children[0];
|
||||
let match = matchedItems[i];
|
||||
let lastPkgName = match.path.pkgNames[match.path.pkgNames.length - 1];
|
||||
aDom.textContent = lastPkgName + "." + match.path.declNames.join('.');
|
||||
aDom.setAttribute('href', navLink(match.path.pkgNames, match.path.declNames));
|
||||
}
|
||||
@@ -2715,8 +2715,8 @@ function renderSearch() {
|
||||
}
|
||||
|
||||
function renderSearchCursor() {
|
||||
for (var i = 0; i < domListSearchResults.children.length; i += 1) {
|
||||
var liDom = /** @type HTMLElement */(domListSearchResults.children[i]);
|
||||
for (let i = 0; i < domListSearchResults.children.length; i += 1) {
|
||||
let liDom = /** @type HTMLElement */(domListSearchResults.children[i]);
|
||||
if (curSearchIndex === i) {
|
||||
liDom.classList.add("selected");
|
||||
} else {
|
||||
@@ -2728,10 +2728,10 @@ function renderSearchCursor() {
|
||||
|
||||
|
||||
// function indexNodesToCalls() {
|
||||
// var map = {};
|
||||
// for (var i = 0; i < zigAnalysis.calls.length; i += 1) {
|
||||
// var call = zigAnalysis.calls[i];
|
||||
// var fn = zigAnalysis.fns[call.fn];
|
||||
// let map = {};
|
||||
// for (let i = 0; i < zigAnalysis.calls.length; i += 1) {
|
||||
// let call = zigAnalysis.calls[i];
|
||||
// let fn = zigAnalysis.fns[call.fn];
|
||||
// if (map[fn.src] == null) {
|
||||
// map[fn.src] = [i];
|
||||
// } else {
|
||||
@@ -2757,8 +2757,8 @@ function byNameProperty(a, b) {
|
||||
* @returns {T}
|
||||
*/
|
||||
function clone(obj) {
|
||||
var res = /** @type T */({});
|
||||
for (var key in obj) {
|
||||
let res = /** @type T */({});
|
||||
for (let key in obj) {
|
||||
res[key] = obj[key];
|
||||
}
|
||||
return res;
|
||||
|
||||
Reference in New Issue
Block a user