authorgravatar for kappaloris@gmail.comLoris Cro <kappaloris@gmail.com> 2022-04-03 18:06:31+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-07-19 19:10:11-07:00
logd85259989e7c8f0f28fa80dc7970792b6411e1ed
treeaa649bcffe20c50bcb933094c59e0aed7585b4ec
parent67da1b8c88ffbb846e56802a6a1bc187714bbed2

autodoc: var 2 let in main.js


1 files changed, 367 insertions(+), 367 deletions(-)

lib/docs/main.js+367-367
......@@ -236,75 +236,75 @@
236236var zigAnalysis;
237237
238238(function() {
239 var domStatus = /** @type HTMLElement */(document.getElementById("status"));
240 var domSectNav = /** @type HTMLElement */(document.getElementById("sectNav"));
241 var domListNav = /** @type HTMLElement */(document.getElementById("listNav"));
242 var domSectMainPkg = /** @type HTMLElement */(document.getElementById("sectMainPkg"));
243 var domSectPkgs = /** @type HTMLElement */(document.getElementById("sectPkgs"));
244 var domListPkgs = /** @type HTMLElement */(document.getElementById("listPkgs"));
245 var domSectTypes = /** @type HTMLElement */(document.getElementById("sectTypes"));
246 var domListTypes = /** @type HTMLElement */(document.getElementById("listTypes"));
247 var domSectTests = /** @type HTMLElement */(document.getElementById("sectTests"));
248 var domListTests = /** @type HTMLElement */(document.getElementById("listTests"));
249 var domSectNamespaces = /** @type HTMLElement */(document.getElementById("sectNamespaces"));
250 var domListNamespaces = /** @type HTMLElement */(document.getElementById("listNamespaces"));
251 var domSectErrSets = /** @type HTMLElement */(document.getElementById("sectErrSets"));
252 var domListErrSets = /** @type HTMLElement */(document.getElementById("listErrSets"));
253 var domSectFns = /** @type HTMLElement */(document.getElementById("sectFns"));
254 var domListFns = /** @type HTMLElement */(document.getElementById("listFns"));
255 var domSectFields = /** @type HTMLElement */(document.getElementById("sectFields"));
256 var domListFields = /** @type HTMLElement */(document.getElementById("listFields"));
257 var domSectGlobalVars = /** @type HTMLElement */(document.getElementById("sectGlobalVars"));
258 var domListGlobalVars = /** @type HTMLElement */(document.getElementById("listGlobalVars"));
259 var domSectValues = /** @type HTMLElement */(document.getElementById("sectValues"));
260 var domListValues = /** @type HTMLElement */(document.getElementById("listValues"));
261 var domFnProto = /** @type HTMLElement */(document.getElementById("fnProto"));
262 var domFnProtoCode = /** @type HTMLElement */(document.getElementById("fnProtoCode"));
263 var domSectParams = /** @type HTMLElement */(document.getElementById("sectParams"));
264 var domListParams = /** @type HTMLElement */(document.getElementById("listParams"));
265 var domTldDocs = /** @type HTMLElement */(document.getElementById("tldDocs"));
266 var domSectFnErrors = /** @type HTMLElement */(document.getElementById("sectFnErrors"));
267 var domListFnErrors = /** @type HTMLElement */(document.getElementById("listFnErrors"));
268 var domTableFnErrors =/** @type HTMLElement */(document.getElementById("tableFnErrors"));
269 var domFnErrorsAnyError = /** @type HTMLElement */(document.getElementById("fnErrorsAnyError"));
270 var domFnExamples = /** @type HTMLElement */(document.getElementById("fnExamples"));
271 var domListFnExamples = /** @type HTMLElement */(document.getElementById("listFnExamples"));
272 var domFnNoExamples = /** @type HTMLElement */(document.getElementById("fnNoExamples"));
273 var domDeclNoRef = /** @type HTMLElement */(document.getElementById("declNoRef"));
274 var domSearch = /** @type HTMLInputElement */(document.getElementById("search"));
275 var domSectSearchResults = /** @type HTMLElement */(document.getElementById("sectSearchResults"));
276
277 var domListSearchResults = /** @type HTMLElement */(document.getElementById("listSearchResults"));
278 var domSectSearchNoResults = /** @type HTMLElement */(document.getElementById("sectSearchNoResults"));
279 var domSectInfo = /** @type HTMLElement */(document.getElementById("sectInfo"));
280 var domTdTarget = /** @type HTMLElement */(document.getElementById("tdTarget"));
281 var domPrivDeclsBox = /** @type HTMLInputElement */(document.getElementById("privDeclsBox"));
282 var domTdZigVer = /** @type HTMLElement */(document.getElementById("tdZigVer"));
283 var domHdrName = /** @type HTMLElement */(document.getElementById("hdrName"));
284 var domHelpModal = /** @type HTMLElement */(document.getElementById("helpDialog"));
239 let domStatus = /** @type HTMLElement */(document.getElementById("status"));
240 let domSectNav = /** @type HTMLElement */(document.getElementById("sectNav"));
241 let domListNav = /** @type HTMLElement */(document.getElementById("listNav"));
242 let domSectMainPkg = /** @type HTMLElement */(document.getElementById("sectMainPkg"));
243 let domSectPkgs = /** @type HTMLElement */(document.getElementById("sectPkgs"));
244 let domListPkgs = /** @type HTMLElement */(document.getElementById("listPkgs"));
245 let domSectTypes = /** @type HTMLElement */(document.getElementById("sectTypes"));
246 let domListTypes = /** @type HTMLElement */(document.getElementById("listTypes"));
247 let domSectTests = /** @type HTMLElement */(document.getElementById("sectTests"));
248 let domListTests = /** @type HTMLElement */(document.getElementById("listTests"));
249 let domSectNamespaces = /** @type HTMLElement */(document.getElementById("sectNamespaces"));
250 let domListNamespaces = /** @type HTMLElement */(document.getElementById("listNamespaces"));
251 let domSectErrSets = /** @type HTMLElement */(document.getElementById("sectErrSets"));
252 let domListErrSets = /** @type HTMLElement */(document.getElementById("listErrSets"));
253 let domSectFns = /** @type HTMLElement */(document.getElementById("sectFns"));
254 let domListFns = /** @type HTMLElement */(document.getElementById("listFns"));
255 let domSectFields = /** @type HTMLElement */(document.getElementById("sectFields"));
256 let domListFields = /** @type HTMLElement */(document.getElementById("listFields"));
257 let domSectGlobalVars = /** @type HTMLElement */(document.getElementById("sectGlobalVars"));
258 let domListGlobalVars = /** @type HTMLElement */(document.getElementById("listGlobalVars"));
259 let domSectValues = /** @type HTMLElement */(document.getElementById("sectValues"));
260 let domListValues = /** @type HTMLElement */(document.getElementById("listValues"));
261 let domFnProto = /** @type HTMLElement */(document.getElementById("fnProto"));
262 let domFnProtoCode = /** @type HTMLElement */(document.getElementById("fnProtoCode"));
263 let domSectParams = /** @type HTMLElement */(document.getElementById("sectParams"));
264 let domListParams = /** @type HTMLElement */(document.getElementById("listParams"));
265 let domTldDocs = /** @type HTMLElement */(document.getElementById("tldDocs"));
266 let domSectFnErrors = /** @type HTMLElement */(document.getElementById("sectFnErrors"));
267 let domListFnErrors = /** @type HTMLElement */(document.getElementById("listFnErrors"));
268 let domTableFnErrors =/** @type HTMLElement */(document.getElementById("tableFnErrors"));
269 let domFnErrorsAnyError = /** @type HTMLElement */(document.getElementById("fnErrorsAnyError"));
270 let domFnExamples = /** @type HTMLElement */(document.getElementById("fnExamples"));
271 let domListFnExamples = /** @type HTMLElement */(document.getElementById("listFnExamples"));
272 let domFnNoExamples = /** @type HTMLElement */(document.getElementById("fnNoExamples"));
273 let domDeclNoRef = /** @type HTMLElement */(document.getElementById("declNoRef"));
274 let domSearch = /** @type HTMLInputElement */(document.getElementById("search"));
275 let domSectSearchResults = /** @type HTMLElement */(document.getElementById("sectSearchResults"));
276
277 let domListSearchResults = /** @type HTMLElement */(document.getElementById("listSearchResults"));
278 let domSectSearchNoResults = /** @type HTMLElement */(document.getElementById("sectSearchNoResults"));
279 let domSectInfo = /** @type HTMLElement */(document.getElementById("sectInfo"));
280 let domTdTarget = /** @type HTMLElement */(document.getElementById("tdTarget"));
281 let domPrivDeclsBox = /** @type HTMLInputElement */(document.getElementById("privDeclsBox"));
282 let domTdZigVer = /** @type HTMLElement */(document.getElementById("tdZigVer"));
283 let domHdrName = /** @type HTMLElement */(document.getElementById("hdrName"));
284 let domHelpModal = /** @type HTMLElement */(document.getElementById("helpDialog"));
285285
286286 /** @type number | null */
287 var searchTimer = null;
287 let searchTimer = null;
288288
289289 /** @type Object<string, string> */
290 var escapeHtmlReplacements = { "&": "&amp;", '"': "&quot;", "<": "&lt;", ">": "&gt;" };
290 let escapeHtmlReplacements = { "&": "&amp;", '"': "&quot;", "<": "&lt;", ">": "&gt;" };
291291
292 var typeKinds = /** @type {Record<string, number>} */(indexTypeKinds());
293 var typeTypeId = /** @type {number} */ (findTypeTypeId());
294 var pointerSizeEnum = { One: 0, Many: 1, Slice: 2, C: 3 };
292 let typeKinds = /** @type {Record<string, number>} */(indexTypeKinds());
293 let typeTypeId = /** @type {number} */ (findTypeTypeId());
294 let pointerSizeEnum = { One: 0, Many: 1, Slice: 2, C: 3 };
295295
296296 // for each package, is an array with packages to get to this one
297 var canonPkgPaths = computeCanonicalPackagePaths();
297 let canonPkgPaths = computeCanonicalPackagePaths();
298298
299299 /** @typedef {{declNames: string[], pkgNames: string[]}} CanonDecl */
300300
301301 // for each decl, is an array with {declNames, pkgNames} to get to this one
302302 /** @type CanonDecl[] | null */
303 var canonDeclPaths = null; // lazy; use getCanonDeclPath
303 let canonDeclPaths = null; // lazy; use getCanonDeclPath
304304
305305 // for each type, is an array with {declNames, pkgNames} to get to this one
306306 /** @type number[] | null */
307 var canonTypeDecls = null; // lazy; use getCanonTypeDecl
307 let canonTypeDecls = null; // lazy; use getCanonTypeDecl
308308
309309 /** @typedef {{
310310 * showPrivDecls: boolean,
......@@ -317,7 +317,7 @@ var zigAnalysis;
317317 */
318318
319319 /** @type {CurNav} */
320 var curNav = {
320 let curNav = {
321321 showPrivDecls: false,
322322 // each element is a package name, e.g. @import("a") then within there @import("b")
323323 // starting implicitly from root package
......@@ -334,16 +334,16 @@ var zigAnalysis;
334334 callName: null,
335335 };
336336
337 var curNavSearch = "";
338 var curSearchIndex = -1;
339 var imFeelingLucky = false;
337 let curNavSearch = "";
338 let curSearchIndex = -1;
339 let imFeelingLucky = false;
340340
341 var rootIsStd = detectRootIsStd();
341 let rootIsStd = detectRootIsStd();
342342
343343 // map of decl index to list of non-generic fn indexes
344 // var nodesToFnsMap = indexNodesToFns();
344 // let nodesToFnsMap = indexNodesToFns();
345345 // map of decl index to list of comptime fn calls
346 // var nodesToCallsMap = indexNodesToCalls();
346 // let nodesToCallsMap = indexNodesToCalls();
347347
348348 domSearch.addEventListener('keydown', onSearchKeyDown, false);
349349 domPrivDeclsBox.addEventListener('change', function() {
......@@ -363,8 +363,8 @@ var zigAnalysis;
363363 onHashChange();
364364
365365 function renderTitle() {
366 var list = curNav.pkgNames.concat(curNav.declNames);
367 var suffix = " - Zig";
366 let list = curNav.pkgNames.concat(curNav.declNames);
367 let suffix = " - Zig";
368368 if (list.length === 0) {
369369 if (rootIsStd) {
370370 document.title = "std" + suffix;
......@@ -393,7 +393,7 @@ var zigAnalysis;
393393
394394 /** @param {Type} type */
395395 function typeShorthandName(type) {
396 var name = undefined;
396 let name = undefined;
397397 if (type.kind === typeKinds.Struct) {
398398 name = "struct";
399399 } else if (type.kind === typeKinds.Enum) {
......@@ -423,7 +423,7 @@ var zigAnalysis;
423423 * @return {WalkResult | null}
424424 */
425425 function findCteInRefPath(path) {
426 for (var i = path.length - 1; i >= 0; i -= 1) {
426 for (let i = path.length - 1; i >= 0; i -= 1) {
427427 const ref = path[i];
428428 if ("string" in ref) continue;
429429 if ("comptimeExpr" in ref) return ref;
......@@ -439,7 +439,7 @@ var zigAnalysis;
439439 * @return {WalkResult}
440440 */
441441 function resolveValue(value) {
442 var i = 0;
442 let i = 0;
443443 while(i < 1000) {
444444 i += 1;
445445
......@@ -465,7 +465,7 @@ var zigAnalysis;
465465 * @return {WalkResult}
466466 */
467467 function typeOfDecl(decl){
468 var i = 0;
468 let i = 0;
469469 while(i < 1000) {
470470 i += 1;
471471 console.assert(isDecl(decl));
......@@ -508,7 +508,7 @@ var zigAnalysis;
508508
509509 if ("call" in decl.value) {
510510 const fn_call = zigAnalysis.calls[decl.value.call];
511 var fn_decl = undefined;
511 let fn_decl = undefined;
512512 if ("declRef" in fn_call.func) {
513513 fn_decl = zigAnalysis.decls[fn_call.func.declRef];
514514 } else if ("refPath" in fn_call.func) {
......@@ -576,11 +576,11 @@ var zigAnalysis;
576576 return renderSearch();
577577 }
578578
579 var rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
580 var pkg = rootPkg;
579 let rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
580 let pkg = rootPkg;
581581 curNav.pkgObjs = [pkg];
582 for (var i = 0; i < curNav.pkgNames.length; i += 1) {
583 var childPkg = zigAnalysis.packages[pkg.table[curNav.pkgNames[i]]];
582 for (let i = 0; i < curNav.pkgNames.length; i += 1) {
583 let childPkg = zigAnalysis.packages[pkg.table[curNav.pkgNames[i]]];
584584 if (childPkg == null) {
585585 return render404();
586586 }
......@@ -589,17 +589,17 @@ var zigAnalysis;
589589 }
590590
591591 /** @type {Decl | Type} */
592 var currentType = zigAnalysis.types[pkg.main];
592 let currentType = zigAnalysis.types[pkg.main];
593593 curNav.declObjs = [currentType];
594 for (var i = 0; i < curNav.declNames.length; i += 1) {
594 for (let i = 0; i < curNav.declNames.length; i += 1) {
595595
596596 /** @type {Decl | Type | null} */
597 var childDecl = findSubDecl(/** @type {ContainerType} */(currentType), curNav.declNames[i]);
597 let childDecl = findSubDecl(/** @type {ContainerType} */(currentType), curNav.declNames[i]);
598598 if (childDecl == null) {
599599 return render404();
600600 }
601601
602 var childDeclValue = resolveValue(/** @type {Decl} */(childDecl).value);
602 let childDeclValue = resolveValue(/** @type {Decl} */(childDecl).value);
603603 if ("type" in childDeclValue) {
604604
605605 const t = zigAnalysis.types[childDeclValue.type];
......@@ -614,10 +614,10 @@ var zigAnalysis;
614614
615615 renderNav();
616616
617 var last = curNav.declObjs[curNav.declObjs.length - 1];
618 var lastIsDecl = isDecl(last);
619 var lastIsType = isType(last);
620 var lastIsContainerType = isContainerType(last);
617 let last = curNav.declObjs[curNav.declObjs.length - 1];
618 let lastIsDecl = isDecl(last);
619 let lastIsType = isType(last);
620 let lastIsContainerType = isContainerType(last);
621621
622622 if (lastIsContainerType) {
623623 return renderContainer(/** @type {ContainerType} */(last));
......@@ -636,7 +636,7 @@ var zigAnalysis;
636636 }
637637
638638 if (lastIsDecl && last.kind === 'const') {
639 var typeObj = zigAnalysis.types[resolveValue(/** @type {Decl} */(last).value).type];
639 let typeObj = zigAnalysis.types[resolveValue(/** @type {Decl} */(last).value).type];
640640 if (typeObj && typeObj.kind === typeKinds.Fn) {
641641 return renderFn(/** @type {Decl} */(last));
642642 }
......@@ -649,7 +649,7 @@ var zigAnalysis;
649649 function renderUnknownDecl(decl) {
650650 domDeclNoRef.classList.remove("hidden");
651651
652 var docs = zigAnalysis.astNodes[decl.src].docs;
652 let docs = zigAnalysis.astNodes[decl.src].docs;
653653 if (docs != null) {
654654 domTldDocs.innerHTML = markdown(docs);
655655 } else {
......@@ -660,13 +660,13 @@ var zigAnalysis;
660660
661661 /** @param {number} typeIndex */
662662 function typeIsErrSet(typeIndex) {
663 var typeObj = zigAnalysis.types[typeIndex];
663 let typeObj = zigAnalysis.types[typeIndex];
664664 return typeObj.kind === typeKinds.ErrorSet;
665665 }
666666
667667 /** @param {number} typeIndex */
668668 function typeIsStructWithNoFields(typeIndex) {
669 var typeObj = zigAnalysis.types[typeIndex];
669 let typeObj = zigAnalysis.types[typeIndex];
670670 if (typeObj.kind !== typeKinds.Struct)
671671 return false;
672672 return /** @type {ContainerType} */(typeObj).fields.length == 0;
......@@ -674,7 +674,7 @@ var zigAnalysis;
674674
675675 /** @param {number} typeIndex */
676676 function typeIsGenericFn(typeIndex) {
677 var typeObj = zigAnalysis.types[typeIndex];
677 let typeObj = zigAnalysis.types[typeIndex];
678678 if (typeObj.kind !== typeKinds.Fn) {
679679 return false;
680680 }
......@@ -683,38 +683,38 @@ var zigAnalysis;
683683
684684 /** @param {Decl} fnDecl */
685685 function renderFn(fnDecl) {
686 var value = resolveValue(fnDecl.value);
686 let value = resolveValue(fnDecl.value);
687687 console.assert("type" in value);
688 var typeObj = /** @type {Fn} */(zigAnalysis.types[value.type]);
688 let typeObj = /** @type {Fn} */(zigAnalysis.types[value.type]);
689689
690690 domFnProtoCode.innerHTML = typeValueName(value, true, true, fnDecl);
691691
692 var docsSource = null;
693 var srcNode = zigAnalysis.astNodes[fnDecl.src];
692 let docsSource = null;
693 let srcNode = zigAnalysis.astNodes[fnDecl.src];
694694 if (srcNode.docs != null) {
695695 docsSource = srcNode.docs;
696696 }
697697
698 var retIndex = resolveValue(typeObj.ret).type;
698 let retIndex = resolveValue(typeObj.ret).type;
699699 renderFnParamDocs(fnDecl, typeObj);
700700
701 var errSetTypeIndex = /** @type {number | null} */(null);
702 var retType = zigAnalysis.types[retIndex];
701 let errSetTypeIndex = /** @type {number | null} */(null);
702 let retType = zigAnalysis.types[retIndex];
703703 if (retType.kind === typeKinds.ErrorSet) {
704704 errSetTypeIndex = retIndex;
705705 } else if (retType.kind === typeKinds.ErrorUnion) {
706706 errSetTypeIndex = /** @type {ErrUnionType} */(retType).err.type;
707707 }
708708 if (errSetTypeIndex != null) {
709 var errSetType = /** @type {ErrSetType} */(zigAnalysis.types[errSetTypeIndex]);
709 let errSetType = /** @type {ErrSetType} */(zigAnalysis.types[errSetTypeIndex]);
710710 renderErrorSet(errSetType);
711711 }
712712
713 var protoSrcIndex = fnDecl.src;
713 let protoSrcIndex = fnDecl.src;
714714 if (typeIsGenericFn(value.type)) {
715715 throw "TODO";
716 // var instantiations = nodesToFnsMap[protoSrcIndex];
717 // var calls = nodesToCallsMap[protoSrcIndex];
716 // let instantiations = nodesToFnsMap[protoSrcIndex];
717 // let calls = nodesToCallsMap[protoSrcIndex];
718718 // if (instantiations == null && calls == null) {
719719 // domFnNoExamples.classList.remove("hidden");
720720 // } else if (calls != null) {
......@@ -723,8 +723,8 @@ var zigAnalysis;
723723
724724 // resizeDomList(domListFnExamples, calls.length, '<li></li>');
725725
726 // for (var callI = 0; callI < calls.length; callI += 1) {
727 // var liDom = domListFnExamples.children[callI];
726 // for (let callI = 0; callI < calls.length; callI += 1) {
727 // let liDom = domListFnExamples.children[callI];
728728 // liDom.innerHTML = getCallHtml(fnDecl, calls[callI]);
729729 // }
730730
......@@ -738,7 +738,7 @@ var zigAnalysis;
738738 domFnNoExamples.classList.add("hidden");
739739 }
740740
741 var protoSrcNode = zigAnalysis.astNodes[protoSrcIndex];
741 let protoSrcNode = zigAnalysis.astNodes[protoSrcIndex];
742742 if (docsSource == null && protoSrcNode != null && protoSrcNode.docs != null) {
743743 docsSource = protoSrcNode.docs;
744744 }
......@@ -754,15 +754,15 @@ var zigAnalysis;
754754 * @param {Fn} typeObj
755755 */
756756 function renderFnParamDocs(fnDecl, typeObj) {
757 var docCount = 0;
757 let docCount = 0;
758758
759 var fnNode = zigAnalysis.astNodes[fnDecl.src];
760 var fields = /** @type {number[]} */(fnNode.fields);
761 var isVarArgs = fnNode.varArgs;
759 let fnNode = zigAnalysis.astNodes[fnDecl.src];
760 let fields = /** @type {number[]} */(fnNode.fields);
761 let isVarArgs = fnNode.varArgs;
762762
763 for (var i = 0; i < fields.length; i += 1) {
764 var field = fields[i];
765 var fieldNode = zigAnalysis.astNodes[field];
763 for (let i = 0; i < fields.length; i += 1) {
764 let field = fields[i];
765 let fieldNode = zigAnalysis.astNodes[field];
766766 if (fieldNode.docs != null) {
767767 docCount += 1;
768768 }
......@@ -772,30 +772,30 @@ var zigAnalysis;
772772 }
773773
774774 resizeDomList(domListParams, docCount, '<div></div>');
775 var domIndex = 0;
775 let domIndex = 0;
776776
777 for (var i = 0; i < fields.length; i += 1) {
778 var field = fields[i];
779 var fieldNode = zigAnalysis.astNodes[field];
777 for (let i = 0; i < fields.length; i += 1) {
778 let field = fields[i];
779 let fieldNode = zigAnalysis.astNodes[field];
780780 if (fieldNode.docs == null) {
781781 continue;
782782 }
783 var divDom = domListParams.children[domIndex];
783 let divDom = domListParams.children[domIndex];
784784 domIndex += 1;
785785
786786
787 var value = typeObj.params[i];
788 var html = '<pre>' + escapeHtml(/** @type {string} */(fieldNode.name)) + ": ";
787 let value = typeObj.params[i];
788 let html = '<pre>' + escapeHtml(/** @type {string} */(fieldNode.name)) + ": ";
789789 if (isVarArgs && i === typeObj.params.length - 1) {
790790 html += '...';
791791 } else {
792 var name = typeValueName(value, false, false);
792 let name = typeValueName(value, false, false);
793793 html += '<span class="tok-kw">' + name + '</span>';
794794 }
795795
796796 html += ',</pre>';
797797
798 var docs = fieldNode.docs;
798 let docs = fieldNode.docs;
799799 if (docs != null) {
800800 html += markdown(docs);
801801 }
......@@ -805,19 +805,19 @@ var zigAnalysis;
805805 }
806806
807807 function renderNav() {
808 var len = curNav.pkgNames.length + curNav.declNames.length;
808 let len = curNav.pkgNames.length + curNav.declNames.length;
809809 resizeDomList(domListNav, len, '<li><a href="#"></a></li>');
810 var list = [];
811 var hrefPkgNames = [];
812 var hrefDeclNames = /** @type {string[]} */([]);
813 for (var i = 0; i < curNav.pkgNames.length; i += 1) {
810 let list = [];
811 let hrefPkgNames = [];
812 let hrefDeclNames = /** @type {string[]} */([]);
813 for (let i = 0; i < curNav.pkgNames.length; i += 1) {
814814 hrefPkgNames.push(curNav.pkgNames[i]);
815815 list.push({
816816 name: curNav.pkgNames[i],
817817 link: navLink(hrefPkgNames, hrefDeclNames),
818818 });
819819 }
820 for (var i = 0; i < curNav.declNames.length; i += 1) {
820 for (let i = 0; i < curNav.declNames.length; i += 1) {
821821 hrefDeclNames.push(curNav.declNames[i]);
822822 list.push({
823823 name: curNav.declNames[i],
......@@ -825,9 +825,9 @@ var zigAnalysis;
825825 });
826826 }
827827
828 for (var i = 0; i < list.length; i += 1) {
829 var liDom = domListNav.children[i];
830 var aDom = liDom.children[0];
828 for (let i = 0; i < list.length; i += 1) {
829 let liDom = domListNav.children[i];
830 let aDom = liDom.children[0];
831831 aDom.textContent = list[i].name;
832832 aDom.setAttribute('href', list[i].link);
833833 if (i + 1 == list.length) {
......@@ -853,10 +853,10 @@ var zigAnalysis;
853853 }
854854
855855 function renderPkgList() {
856 var rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
857 var list = [];
858 for (var key in rootPkg.table) {
859 var pkgIndex = rootPkg.table[key];
856 let rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
857 let list = [];
858 for (let key in rootPkg.table) {
859 let pkgIndex = rootPkg.table[key];
860860 if (zigAnalysis.packages[pkgIndex] == null) continue;
861861 list.push({
862862 name: key,
......@@ -865,7 +865,7 @@ var zigAnalysis;
865865 }
866866
867867 {
868 var aDom = domSectMainPkg.children[1].children[0].children[0];
868 let aDom = domSectMainPkg.children[1].children[0].children[0];
869869 aDom.textContent = zigAnalysis.params.rootName;
870870 aDom.setAttribute('href', navLinkPkg(zigAnalysis.rootPkg));
871871 if (zigAnalysis.params.rootName === curNav.pkgNames[0]) {
......@@ -882,9 +882,9 @@ var zigAnalysis;
882882
883883 if (list.length !== 0) {
884884 resizeDomList(domListPkgs, list.length, '<li><a href="#"></a></li>');
885 for (var i = 0; i < list.length; i += 1) {
886 var liDom = domListPkgs.children[i];
887 var aDom = liDom.children[0];
885 for (let i = 0; i < list.length; i += 1) {
886 let liDom = domListPkgs.children[i];
887 let aDom = liDom.children[0];
888888 aDom.textContent = list[i].name;
889889 aDom.setAttribute('href', navLinkPkg(list[i].pkg));
890890 if (list[i].name === curNav.pkgNames[0]) {
......@@ -933,13 +933,13 @@ var zigAnalysis;
933933
934934 /** @param {Call} callObj */
935935 function navLinkCall(callObj) {
936 var declNamesCopy = curNav.declNames.concat([]);
937 var callName = /** @type {string} */(declNamesCopy.pop());
936 let declNamesCopy = curNav.declNames.concat([]);
937 let callName = /** @type {string} */(declNamesCopy.pop());
938938
939939 callName += '(';
940 for (var arg_i = 0; arg_i < callObj.args.length; arg_i += 1) {
940 for (let arg_i = 0; arg_i < callObj.args.length; arg_i += 1) {
941941 if (arg_i !== 0) callName += ',';
942 var argObj = callObj.args[arg_i];
942 let argObj = callObj.args[arg_i];
943943 callName += getValueText(argObj, argObj, false, false);
944944 }
945945 callName += ')';
......@@ -954,7 +954,7 @@ var zigAnalysis;
954954 */
955955 function resizeDomListDl(dlDom, desiredLen) {
956956 // add the missing dom entries
957 var i, ev;
957 let i, ev;
958958 for (i = dlDom.childElementCount / 2; i < desiredLen; i += 1) {
959959 dlDom.insertAdjacentHTML('beforeend', '<dt></dt><dd></dd>');
960960 }
......@@ -972,7 +972,7 @@ var zigAnalysis;
972972 */
973973 function resizeDomList(listDom, desiredLen, templateHtml) {
974974 // add the missing dom entries
975 var i, ev;
975 let i, ev;
976976 for (i = listDom.childElementCount; i < desiredLen; i += 1) {
977977 listDom.insertAdjacentHTML('beforeend', templateHtml);
978978 }
......@@ -996,11 +996,11 @@ var zigAnalysis;
996996 return "" + typeValue.int.value;
997997 }
998998 if ("call" in typeValue) {
999 var result = "";
1000 var call = zigAnalysis.calls[typeValue.call];
1001 var functionName = typeValueName(call.func, wantHtml, wantLink, fnDecl, linkFnNameDecl);
999 let result = "";
1000 let call = zigAnalysis.calls[typeValue.call];
1001 let functionName = typeValueName(call.func, wantHtml, wantLink, fnDecl, linkFnNameDecl);
10021002 result += functionName + "(";
1003 for (var j = 0; j < call.args.length; j += 1) {
1003 for (let j = 0; j < call.args.length; j += 1) {
10041004 result += typeValueName(call.args[j], wantHtml, wantLink, fnDecl, linkFnNameDecl);
10051005 if (j != call.args.length -1) result += ",";
10061006 }
......@@ -1011,10 +1011,10 @@ var zigAnalysis;
10111011 return "[ComptimeExpr]";
10121012 }
10131013 if ("refPath" in typeValue) {
1014 var result = "";
1015 for (var j = 0; j < typeValue.refPath.length; j++) {
1014 let result = "";
1015 for (let j = 0; j < typeValue.refPath.length; j++) {
10161016
1017 var name = "[RefPath]";
1017 let name = "[RefPath]";
10181018 if (wantHtml) {
10191019 //result += '<a href="'+navLinkDecl(decl.name)+'">';
10201020 result += '<a href="">';
......@@ -1048,16 +1048,16 @@ var zigAnalysis;
10481048 }
10491049
10501050 console.assert("type" in typeValue)
1051 var typeIndex = typeValue.type;
1052 var typeObj = zigAnalysis.types[typeIndex];
1053 var declNameOk = declCanRepresentTypeKind(typeObj.kind);
1051 let typeIndex = typeValue.type;
1052 let typeObj = zigAnalysis.types[typeIndex];
1053 let declNameOk = declCanRepresentTypeKind(typeObj.kind);
10541054 if (wantLink) {
1055 var declIndex = getCanonTypeDecl(typeIndex);
1056 var declPath = getCanonDeclPath(declIndex);
1055 let declIndex = getCanonTypeDecl(typeIndex);
1056 let declPath = getCanonDeclPath(declIndex);
10571057 if (declPath == null) {
10581058 return typeName(typeObj, wantHtml, wantLink, fnDecl, linkFnNameDecl);
10591059 }
1060 var name = (wantLink && declCanRepresentTypeKind(typeObj.kind)) ?
1060 let name = (wantLink && declCanRepresentTypeKind(typeObj.kind)) ?
10611061 declPath.declNames[declPath.declNames.length - 1] :
10621062 typeName(typeObj, wantHtml, false, fnDecl, linkFnNameDecl);
10631063 if (wantLink && wantHtml) {
......@@ -1075,9 +1075,9 @@ var zigAnalysis;
10751075 * @param {string} paramName
10761076 */
10771077 function shouldSkipParamName(typeRef, paramName) {
1078 var resolvedTypeRef = resolveValue(typeRef);
1078 let resolvedTypeRef = resolveValue(typeRef);
10791079 if ("type" in resolvedTypeRef) {
1080 var typeObj = zigAnalysis.types[resolvedTypeRef.type];
1080 let typeObj = zigAnalysis.types[resolvedTypeRef.type];
10811081 if (typeObj.kind === typeKinds.Pointer){
10821082 let ptrObj = /** @type {PointerType} */(typeObj);
10831083 if (getPtrSize(ptrObj) === pointerSizeEnum.One) {
......@@ -1095,14 +1095,14 @@ var zigAnalysis;
10951095 }
10961096
10971097 // function getCallHtml(fnDecl, callIndex) {
1098 // var callObj = zigAnalysis.calls[callIndex];
1098 // let callObj = zigAnalysis.calls[callIndex];
10991099
11001100 // // TODO make these links work
1101 // //var html = '<a href="' + navLinkCall(callObj) + '">' + escapeHtml(fnDecl.name) + '</a>(';
1102 // var html = escapeHtml(fnDecl.name) + '(';
1103 // for (var arg_i = 0; arg_i < callObj.args.length; arg_i += 1) {
1101 // //let html = '<a href="' + navLinkCall(callObj) + '">' + escapeHtml(fnDecl.name) + '</a>(';
1102 // let html = escapeHtml(fnDecl.name) + '(';
1103 // for (let arg_i = 0; arg_i < callObj.args.length; arg_i += 1) {
11041104 // if (arg_i !== 0) html += ', ';
1105 // var argObj = callObj.args[arg_i];
1105 // let argObj = callObj.args[arg_i];
11061106 // html += getValueText(argObj, argObj.value, true, true);
11071107 // }
11081108 // html += ')';
......@@ -1116,17 +1116,17 @@ var zigAnalysis;
11161116 * @param {boolean} wantLink
11171117 */
11181118 function getValueText(typeRef, value, wantHtml, wantLink) {
1119 var resolvedTypeRef = resolveValue(typeRef);
1119 let resolvedTypeRef = resolveValue(typeRef);
11201120 if ("comptimeExpr" in resolvedTypeRef) {
11211121 return "[ComptimeExpr]";
11221122 }
11231123 console.assert("type" in resolvedTypeRef);
1124 var typeObj = zigAnalysis.types[typeRef.type];
1124 let typeObj = zigAnalysis.types[typeRef.type];
11251125 switch (typeObj.kind) {
11261126 case typeKinds.Type:
11271127 return typeValueName(value, wantHtml, wantLink);
11281128 case typeKinds.Fn:
1129 var fnObj = zigAnalysis.fns[value];
1129 let fnObj = zigAnalysis.fns[value];
11301130 return typeName(fnObj, wantHtml, wantLink);
11311131 case typeKinds.Int:
11321132 if (wantHtml) {
......@@ -1152,8 +1152,8 @@ var zigAnalysis;
11521152 case typeKinds.Array:
11531153 {
11541154 let arrayObj = /** @type {ArrayType} */(typeObj);
1155 var name = "[";
1156 var lenName = typeValueName(arrayObj.len, wantHtml, wantSubLink);
1155 let name = "[";
1156 let lenName = typeValueName(arrayObj.len, wantHtml, wantSubLink);
11571157 if (wantHtml) {
11581158 name += '<span class="tok-number">' + lenName + '</span>';
11591159 } else {
......@@ -1169,7 +1169,7 @@ var zigAnalysis;
11691169 case typeKinds.Pointer:
11701170 {
11711171 let ptrObj = /** @type {PointerType} */(typeObj);
1172 var name = "";
1172 let name = "";
11731173 switch (ptrObj.size) {
11741174 default:
11751175 console.log("TODO: implement unhandled pointer size case");
......@@ -1243,7 +1243,7 @@ var zigAnalysis;
12431243 case typeKinds.Int:
12441244 {
12451245 let intObj = /** @type {NumberType} */(typeObj);
1246 var name = intObj.name;
1246 let name = intObj.name;
12471247 if (wantHtml) {
12481248 return '<span class="tok-type">' + name + '</span>';
12491249 } else {
......@@ -1316,8 +1316,8 @@ var zigAnalysis;
13161316 // TODO: implement error union printing assuming that both
13171317 // payload and error union are walk results!
13181318 // let errUnionObj = /** @type {ErrUnionType} */(typeObj);
1319 // var errSetTypeObj = /** @type {ErrSetType} */ (zigAnalysis.types[errUnionObj.err]);
1320 // var payloadHtml = typeValueName(errUnionObj.payload, wantHtml, wantSubLink, null);
1319 // let errSetTypeObj = /** @type {ErrSetType} */ (zigAnalysis.types[errUnionObj.err]);
1320 // let payloadHtml = typeValueName(errUnionObj.payload, wantHtml, wantSubLink, null);
13211321 // if (fnDecl != null && errSetTypeObj.fn === fnDecl.value.type) {
13221322 // // function index parameter supplied and this is the inferred error set of it
13231323 // return "!" + payloadHtml;
......@@ -1328,7 +1328,7 @@ var zigAnalysis;
13281328 case typeKinds.Fn:
13291329 {
13301330 let fnObj = /** @type {Fn} */(typeObj);
1331 var payloadHtml = "";
1331 let payloadHtml = "";
13321332 if (wantHtml) {
13331333 payloadHtml += '<span class="tok-kw">fn</span>';
13341334 if (fnDecl != null) {
......@@ -1346,23 +1346,23 @@ var zigAnalysis;
13461346 }
13471347 payloadHtml += '(';
13481348 if (fnObj.params) {
1349 var fields = null;
1350 var isVarArgs = false;
1351 var fnNode = zigAnalysis.astNodes[fnObj.src];
1349 let fields = null;
1350 let isVarArgs = false;
1351 let fnNode = zigAnalysis.astNodes[fnObj.src];
13521352 fields = fnNode.fields;
13531353 isVarArgs = fnNode.varArgs;
13541354
1355 for (var i = 0; i < fnObj.params.length; i += 1) {
1355 for (let i = 0; i < fnObj.params.length; i += 1) {
13561356 if (i != 0) {
13571357 payloadHtml += ', ';
13581358 }
13591359
1360 var value = fnObj.params[i];
1361 var paramValue = resolveValue(value);
1362 var isCte = "comptimeExpr" in paramValue;
1360 let value = fnObj.params[i];
1361 let paramValue = resolveValue(value);
1362 let isCte = "comptimeExpr" in paramValue;
13631363
13641364 if (fields != null) {
1365 var paramNode = zigAnalysis.astNodes[fields[i]];
1365 let paramNode = zigAnalysis.astNodes[fields[i]];
13661366
13671367 if (paramNode.varArgs) {
13681368 payloadHtml += '...';
......@@ -1385,7 +1385,7 @@ var zigAnalysis;
13851385 }
13861386 }
13871387
1388 var paramName = paramNode.name;
1388 let paramName = paramNode.name;
13891389 if (paramName != null) {
13901390 // skip if it matches the type name
13911391 if (!shouldSkipParamName(paramValue, paramName)) {
......@@ -1402,7 +1402,7 @@ var zigAnalysis;
14021402 payloadHtml += '</a>';
14031403
14041404 } else if ("type" in value) {
1405 var name = typeValueName(value, wantHtml, wantSubLink, fnDecl, linkFnNameDecl);
1405 let name = typeValueName(value, wantHtml, wantSubLink, fnDecl, linkFnNameDecl);
14061406 payloadHtml += '<span class="tok-kw">' + escapeHtml(name) + '</span>';
14071407 } else if ("comptimeExpr" in value) {
14081408 payloadHtml += '<span class="tok-kw">[ComptimeExpr]</span>';
......@@ -1436,7 +1436,7 @@ var zigAnalysis;
14361436
14371437 /** @param {Type} typeObj */
14381438 function renderType(typeObj) {
1439 var name;
1439 let name;
14401440 if (rootIsStd && typeObj === zigAnalysis.types[zigAnalysis.packages[zigAnalysis.rootPkg].main]) {
14411441 name = "std";
14421442 } else {
......@@ -1456,10 +1456,10 @@ var zigAnalysis;
14561456 if (errSetType.fields == null) {
14571457 domFnErrorsAnyError.classList.remove("hidden");
14581458 } else {
1459 var errorList = [];
1460 for (var i = 0; i < errSetType.fields.length; i += 1) {
1461 var errObj = errSetType.fields[i];
1462 //var srcObj = zigAnalysis.astNodes[errObj.src];
1459 let errorList = [];
1460 for (let i = 0; i < errSetType.fields.length; i += 1) {
1461 let errObj = errSetType.fields[i];
1462 //let srcObj = zigAnalysis.astNodes[errObj.src];
14631463 errorList.push(errObj);
14641464 }
14651465 errorList.sort(function(a, b) {
......@@ -1467,11 +1467,11 @@ var zigAnalysis;
14671467 });
14681468
14691469 resizeDomListDl(domListFnErrors, errorList.length);
1470 for (var i = 0; i < errorList.length; i += 1) {
1471 var nameTdDom = domListFnErrors.children[i * 2 + 0];
1472 var descTdDom = domListFnErrors.children[i * 2 + 1];
1470 for (let i = 0; i < errorList.length; i += 1) {
1471 let nameTdDom = domListFnErrors.children[i * 2 + 0];
1472 let descTdDom = domListFnErrors.children[i * 2 + 1];
14731473 nameTdDom.textContent = errorList[i].name;
1474 var docs = errorList[i].docs;
1474 let docs = errorList[i].docs;
14751475 if (docs != null) {
14761476 descTdDom.innerHTML = markdown(docs);
14771477 } else {
......@@ -1484,25 +1484,25 @@ var zigAnalysis;
14841484 }
14851485
14861486// function allCompTimeFnCallsHaveTypeResult(typeIndex, value) {
1487// var srcIndex = zigAnalysis.fns[value].src;
1488// var calls = nodesToCallsMap[srcIndex];
1487// let srcIndex = zigAnalysis.fns[value].src;
1488// let calls = nodesToCallsMap[srcIndex];
14891489// if (calls == null) return false;
1490// for (var i = 0; i < calls.length; i += 1) {
1491// var call = zigAnalysis.calls[calls[i]];
1490// for (let i = 0; i < calls.length; i += 1) {
1491// let call = zigAnalysis.calls[calls[i]];
14921492// if (call.result.type !== typeTypeId) return false;
14931493// }
14941494// return true;
14951495// }
14961496//
14971497// function allCompTimeFnCallsResult(calls) {
1498// var firstTypeObj = null;
1499// var containerObj = {
1498// let firstTypeObj = null;
1499// let containerObj = {
15001500// privDecls: [],
15011501// };
1502// for (var callI = 0; callI < calls.length; callI += 1) {
1503// var call = zigAnalysis.calls[calls[callI]];
1502// for (let callI = 0; callI < calls.length; callI += 1) {
1503// let call = zigAnalysis.calls[calls[callI]];
15041504// if (call.result.type !== typeTypeId) return null;
1505// var typeObj = zigAnalysis.types[call.result.value];
1505// let typeObj = zigAnalysis.types[call.result.value];
15061506// if (!typeKindIsContainer(typeObj.kind)) return null;
15071507// if (firstTypeObj == null) {
15081508// firstTypeObj = typeObj;
......@@ -1513,9 +1513,9 @@ var zigAnalysis;
15131513//
15141514// if (containerObj.fields == null) {
15151515// containerObj.fields = (typeObj.fields || []).concat([]);
1516// } else for (var fieldI = 0; fieldI < typeObj.fields.length; fieldI += 1) {
1517// var prev = containerObj.fields[fieldI];
1518// var next = typeObj.fields[fieldI];
1516// } else for (let fieldI = 0; fieldI < typeObj.fields.length; fieldI += 1) {
1517// let prev = containerObj.fields[fieldI];
1518// let next = typeObj.fields[fieldI];
15191519// if (prev === next) continue;
15201520// if (typeof(prev) === 'object') {
15211521// if (prev[next] == null) prev[next] = typeObj;
......@@ -1528,14 +1528,14 @@ var zigAnalysis;
15281528//
15291529// if (containerObj.pubDecls == null) {
15301530// containerObj.pubDecls = (typeObj.pubDecls || []).concat([]);
1531// } else for (var declI = 0; declI < typeObj.pubDecls.length; declI += 1) {
1532// var prev = containerObj.pubDecls[declI];
1533// var next = typeObj.pubDecls[declI];
1531// } else for (let declI = 0; declI < typeObj.pubDecls.length; declI += 1) {
1532// let prev = containerObj.pubDecls[declI];
1533// let next = typeObj.pubDecls[declI];
15341534// if (prev === next) continue;
15351535// // TODO instead of showing "examples" as the public declarations,
15361536// // do logic like this:
15371537// //if (typeof(prev) !== 'object') {
1538// // var newDeclId = zigAnalysis.decls.length;
1538// // let newDeclId = zigAnalysis.decls.length;
15391539// // prev = clone(zigAnalysis.decls[prev]);
15401540// // prev.id = newDeclId;
15411541// // zigAnalysis.decls.push(prev);
......@@ -1544,8 +1544,8 @@ var zigAnalysis;
15441544// //mergeDecls(prev, next, firstTypeObj, typeObj);
15451545// }
15461546// }
1547// for (var declI = 0; declI < containerObj.pubDecls.length; declI += 1) {
1548// var decl = containerObj.pubDecls[declI];
1547// for (let declI = 0; declI < containerObj.pubDecls.length; declI += 1) {
1548// let decl = containerObj.pubDecls[declI];
15491549// if (typeof(decl) === 'object') {
15501550// containerObj.pubDecls[declI] = containerObj.pubDecls[declI].id;
15511551// }
......@@ -1555,10 +1555,10 @@ var zigAnalysis;
15551555
15561556
15571557 // function mergeDecls(declObj, nextDeclIndex, firstTypeObj, typeObj) {
1558 // var nextDeclObj = zigAnalysis.decls[nextDeclIndex];
1558 // let nextDeclObj = zigAnalysis.decls[nextDeclIndex];
15591559 // if (declObj.type != null && nextDeclObj.type != null && declObj.type !== nextDeclObj.type) {
15601560 // if (typeof(declObj.type) !== 'object') {
1561 // var prevType = declObj.type;
1561 // let prevType = declObj.type;
15621562 // declObj.type = {};
15631563 // declObj.type[prevType] = firstTypeObj;
15641564 // declObj.value = null;
......@@ -1569,7 +1569,7 @@ var zigAnalysis;
15691569 // }
15701570 // if (declObj.value != null && nextDeclObj.value != null && declObj.value !== nextDeclObj.value) {
15711571 // if (typeof(declObj.value) !== 'object') {
1572 // var prevValue = declObj.value;
1572 // let prevValue = declObj.value;
15731573 // declObj.value = {};
15741574 // declObj.value[prevValue] = firstTypeObj;
15751575 // }
......@@ -1582,8 +1582,8 @@ var zigAnalysis;
15821582 /** @param {Decl} decl */
15831583 function renderValue(decl) {
15841584
1585 var declTypeRef = typeOfDecl(decl);
1586 var declValueText = "";
1585 let declTypeRef = typeOfDecl(decl);
1586 let declValueText = "";
15871587 switch(Object.keys(decl.value)[0]) {
15881588 case "int":
15891589 declValueText += /** @type {{int: {value: number}}} */(decl.value).int.value;
......@@ -1603,7 +1603,7 @@ var zigAnalysis;
16031603 escapeHtml(decl.name) + ': ' + typeValueName(declTypeRef, true, true) +
16041604 " = " + declValueText;
16051605
1606 var docs = zigAnalysis.astNodes[decl.src].docs;
1606 let docs = zigAnalysis.astNodes[decl.src].docs;
16071607 if (docs != null) {
16081608 domTldDocs.innerHTML = markdown(docs);
16091609 domTldDocs.classList.remove("hidden");
......@@ -1614,11 +1614,11 @@ var zigAnalysis;
16141614
16151615 /** @param {Decl} decl */
16161616 function renderVar(decl) {
1617 var declTypeRef = typeOfDecl(decl);
1617 let declTypeRef = typeOfDecl(decl);
16181618 domFnProtoCode.innerHTML = '<span class="tok-kw">var</span> ' +
16191619 escapeHtml(decl.name) + ': ' + typeValueName(declTypeRef, true, true);
16201620
1621 var docs = zigAnalysis.astNodes[decl.src].docs;
1621 let docs = zigAnalysis.astNodes[decl.src].docs;
16221622 if (docs != null) {
16231623 domTldDocs.innerHTML = markdown(docs);
16241624 domTldDocs.classList.remove("hidden");
......@@ -1642,9 +1642,9 @@ var zigAnalysis;
16421642 typesList, namespacesList, errSetsList,
16431643 fnsList, varsList, valsList, testsList) {
16441644
1645 for (var i = 0; i < decls.length; i += 1) {
1646 var decl = zigAnalysis.decls[decls[i]];
1647 var declValue = resolveValue(decl.value);
1645 for (let i = 0; i < decls.length; i += 1) {
1646 let decl = zigAnalysis.decls[decls[i]];
1647 let declValue = resolveValue(decl.value);
16481648
16491649 if (decl.isTest) {
16501650 testsList.push(decl);
......@@ -1676,8 +1676,8 @@ var zigAnalysis;
16761676 } else if (!("type" in declValue)){
16771677 valsList.push(decl);
16781678 } else {
1679 var value = zigAnalysis.types[declValue.type];
1680 var kind = value.kind;
1679 let value = zigAnalysis.types[declValue.type];
1680 let kind = value.kind;
16811681 if (kind === typeKinds.Fn) {
16821682 // TODO: handle CTE return types when we know their type.
16831683 const resVal = resolveValue(/** @type {Fn} */(value).ret);
......@@ -1704,19 +1704,19 @@ var zigAnalysis;
17041704 */
17051705 function renderContainer(container) {
17061706 /** @type {Decl[]} */
1707 var typesList = [];
1707 let typesList = [];
17081708 /** @type {Decl[]} */
1709 var namespacesList = [];
1709 let namespacesList = [];
17101710 /** @type {Decl[]} */
1711 var errSetsList = [];
1711 let errSetsList = [];
17121712 /** @type {Decl[]} */
1713 var fnsList = [];
1713 let fnsList = [];
17141714 /** @type {Decl[]} */
1715 var varsList = [];
1715 let varsList = [];
17161716 /** @type {Decl[]} */
1717 var valsList = [];
1717 let valsList = [];
17181718 /** @type {Decl[]} */
1719 var testsList = [];
1719 let testsList = [];
17201720
17211721 categorizeDecls(container.pubDecls,
17221722 typesList, namespacesList, errSetsList,
......@@ -1735,7 +1735,7 @@ var zigAnalysis;
17351735 testsList.sort(byNameProperty);
17361736
17371737 if (container.src != null) {
1738 var docs = zigAnalysis.astNodes[container.src].docs;
1738 let docs = zigAnalysis.astNodes[container.src].docs;
17391739 if (docs != null) {
17401740 domTldDocs.innerHTML = markdown(docs);
17411741 domTldDocs.classList.remove("hidden");
......@@ -1744,10 +1744,10 @@ var zigAnalysis;
17441744
17451745 if (typesList.length !== 0) {
17461746 resizeDomList(domListTypes, typesList.length, '<li><a href="#"></a></li>');
1747 for (var i = 0; i < typesList.length; i += 1) {
1748 var liDom = domListTypes.children[i];
1749 var aDom = liDom.children[0];
1750 var decl = typesList[i];
1747 for (let i = 0; i < typesList.length; i += 1) {
1748 let liDom = domListTypes.children[i];
1749 let aDom = liDom.children[0];
1750 let decl = typesList[i];
17511751 aDom.textContent = decl.name;
17521752 aDom.setAttribute('href', navLinkDecl(decl.name));
17531753 }
......@@ -1755,10 +1755,10 @@ var zigAnalysis;
17551755 }
17561756 if (namespacesList.length !== 0) {
17571757 resizeDomList(domListNamespaces, namespacesList.length, '<li><a href="#"></a></li>');
1758 for (var i = 0; i < namespacesList.length; i += 1) {
1759 var liDom = domListNamespaces.children[i];
1760 var aDom = liDom.children[0];
1761 var decl = namespacesList[i];
1758 for (let i = 0; i < namespacesList.length; i += 1) {
1759 let liDom = domListNamespaces.children[i];
1760 let aDom = liDom.children[0];
1761 let decl = namespacesList[i];
17621762 aDom.textContent = decl.name;
17631763 aDom.setAttribute('href', navLinkDecl(decl.name));
17641764 }
......@@ -1767,10 +1767,10 @@ var zigAnalysis;
17671767
17681768 if (errSetsList.length !== 0) {
17691769 resizeDomList(domListErrSets, errSetsList.length, '<li><a href="#"></a></li>');
1770 for (var i = 0; i < errSetsList.length; i += 1) {
1771 var liDom = domListErrSets.children[i];
1772 var aDom = liDom.children[0];
1773 var decl = errSetsList[i];
1770 for (let i = 0; i < errSetsList.length; i += 1) {
1771 let liDom = domListErrSets.children[i];
1772 let aDom = liDom.children[0];
1773 let decl = errSetsList[i];
17741774 aDom.textContent = decl.name;
17751775 aDom.setAttribute('href', navLinkDecl(decl.name));
17761776 }
......@@ -1779,19 +1779,19 @@ var zigAnalysis;
17791779
17801780 if (fnsList.length !== 0) {
17811781 resizeDomList(domListFns, fnsList.length, '<tr><td></td><td></td></tr>');
1782 for (var i = 0; i < fnsList.length; i += 1) {
1783 var decl = fnsList[i];
1784 var trDom = domListFns.children[i];
1782 for (let i = 0; i < fnsList.length; i += 1) {
1783 let decl = fnsList[i];
1784 let trDom = domListFns.children[i];
17851785
1786 var tdFnCode = trDom.children[0];
1787 var tdDesc = trDom.children[1];
1786 let tdFnCode = trDom.children[0];
1787 let tdDesc = trDom.children[1];
17881788
1789 var declType = resolveValue(decl.value);
1789 let declType = resolveValue(decl.value);
17901790 console.assert("type" in declType);
17911791
17921792 tdFnCode.innerHTML = typeValueName(declType, true, true, decl, navLinkDecl(decl.name));
17931793
1794 var docs = zigAnalysis.astNodes[decl.src].docs;
1794 let docs = zigAnalysis.astNodes[decl.src].docs;
17951795 if (docs != null) {
17961796 tdDesc.innerHTML = shortDescMarkdown(docs);
17971797 } else {
......@@ -1801,29 +1801,29 @@ var zigAnalysis;
18011801 domSectFns.classList.remove("hidden");
18021802 }
18031803
1804 var containerNode = zigAnalysis.astNodes[container.src];
1804 let containerNode = zigAnalysis.astNodes[container.src];
18051805 if (containerNode.fields) {
18061806 resizeDomList(domListFields, containerNode.fields.length, '<div></div>');
18071807
1808 for (var i = 0; i < containerNode.fields.length; i += 1) {
1809 var fieldNode = zigAnalysis.astNodes[containerNode.fields[i]];
1810 var divDom = domListFields.children[i];
1808 for (let i = 0; i < containerNode.fields.length; i += 1) {
1809 let fieldNode = zigAnalysis.astNodes[containerNode.fields[i]];
1810 let divDom = domListFields.children[i];
18111811 let fieldName = /** @type {string} */(fieldNode.name);
18121812
1813 var html = '<div class="mobile-scroll-container"><pre class="scroll-item">' + escapeHtml(fieldName);
1813 let html = '<div class="mobile-scroll-container"><pre class="scroll-item">' + escapeHtml(fieldName);
18141814
18151815 if (container.kind === typeKinds.Enum) {
18161816 html += ' = <span class="tok-number">' + fieldName + '</span>';
18171817 } else {
1818 var field = container.fields[i];
1818 let field = container.fields[i];
18191819 html += ": ";
1820 var name = typeValueName(field, false, false);
1820 let name = typeValueName(field, false, false);
18211821 html += '<span class="tok-kw">'+ name +'</span>';
18221822 }
18231823
18241824 html += ',</pre></div>';
18251825
1826 var docs = fieldNode.docs;
1826 let docs = fieldNode.docs;
18271827 if (docs != null) {
18281828 html += markdown(docs);
18291829 }
......@@ -1835,21 +1835,21 @@ var zigAnalysis;
18351835 if (varsList.length !== 0) {
18361836 resizeDomList(domListGlobalVars, varsList.length,
18371837 '<tr><td><a href="#"></a></td><td></td><td></td></tr>');
1838 for (var i = 0; i < varsList.length; i += 1) {
1839 var decl = varsList[i];
1840 var trDom = domListGlobalVars.children[i];
1838 for (let i = 0; i < varsList.length; i += 1) {
1839 let decl = varsList[i];
1840 let trDom = domListGlobalVars.children[i];
18411841
1842 var tdName = trDom.children[0];
1843 var tdNameA = tdName.children[0];
1844 var tdType = trDom.children[1];
1845 var tdDesc = trDom.children[2];
1842 let tdName = trDom.children[0];
1843 let tdNameA = tdName.children[0];
1844 let tdType = trDom.children[1];
1845 let tdDesc = trDom.children[2];
18461846
18471847 tdNameA.setAttribute('href', navLinkDecl(decl.name));
18481848 tdNameA.textContent = decl.name;
18491849
18501850 tdType.innerHTML = typeValueName(typeOfDecl(decl), true, true);
18511851
1852 var docs = zigAnalysis.astNodes[decl.src].docs;
1852 let docs = zigAnalysis.astNodes[decl.src].docs;
18531853 if (docs != null) {
18541854 tdDesc.innerHTML = shortDescMarkdown(docs);
18551855 } else {
......@@ -1862,21 +1862,21 @@ var zigAnalysis;
18621862 if (valsList.length !== 0) {
18631863 resizeDomList(domListValues, valsList.length,
18641864 '<tr><td><a href="#"></a></td><td></td><td></td></tr>');
1865 for (var i = 0; i < valsList.length; i += 1) {
1866 var decl = valsList[i];
1867 var trDom = domListValues.children[i];
1865 for (let i = 0; i < valsList.length; i += 1) {
1866 let decl = valsList[i];
1867 let trDom = domListValues.children[i];
18681868
1869 var tdName = trDom.children[0];
1870 var tdNameA = tdName.children[0];
1871 var tdType = trDom.children[1];
1872 var tdDesc = trDom.children[2];
1869 let tdName = trDom.children[0];
1870 let tdNameA = tdName.children[0];
1871 let tdType = trDom.children[1];
1872 let tdDesc = trDom.children[2];
18731873
18741874 tdNameA.setAttribute('href', navLinkDecl(decl.name));
18751875 tdNameA.textContent = decl.name;
18761876
18771877 tdType.innerHTML = typeValueName(typeOfDecl(decl), true, true);
18781878
1879 var docs = zigAnalysis.astNodes[decl.src].docs;
1879 let docs = zigAnalysis.astNodes[decl.src].docs;
18801880 if (docs != null) {
18811881 tdDesc.innerHTML = shortDescMarkdown(docs);
18821882 } else {
......@@ -1889,21 +1889,21 @@ var zigAnalysis;
18891889 if (testsList.length !== 0) {
18901890 resizeDomList(domListTests, testsList.length,
18911891 '<tr><td><a href="#"></a></td><td></td><td></td></tr>');
1892 for (var i = 0; i < testsList.length; i += 1) {
1893 var decl = testsList[i];
1894 var trDom = domListTests.children[i];
1892 for (let i = 0; i < testsList.length; i += 1) {
1893 let decl = testsList[i];
1894 let trDom = domListTests.children[i];
18951895
1896 var tdName = trDom.children[0];
1897 var tdNameA = tdName.children[0];
1898 var tdType = trDom.children[1];
1899 var tdDesc = trDom.children[2];
1896 let tdName = trDom.children[0];
1897 let tdNameA = tdName.children[0];
1898 let tdType = trDom.children[1];
1899 let tdDesc = trDom.children[2];
19001900
19011901 tdNameA.setAttribute('href', navLinkDecl(decl.name));
19021902 tdNameA.textContent = decl.name;
19031903
19041904 tdType.innerHTML = typeValueName(typeOfDecl(decl), true, true);
19051905
1906 var docs = zigAnalysis.astNodes[decl.src].docs;
1906 let docs = zigAnalysis.astNodes[decl.src].docs;
19071907 if (docs != null) {
19081908 tdDesc.innerHTML = shortDescMarkdown(docs);
19091909 } else {
......@@ -1930,33 +1930,33 @@ var zigAnalysis;
19301930 }
19311931
19321932 function detectRootIsStd() {
1933 var rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
1933 let rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
19341934 if (rootPkg.table["std"] == null) {
19351935 // no std mapped into the root package
19361936 return false;
19371937 }
1938 var stdPkg = zigAnalysis.packages[rootPkg.table["std"]];
1938 let stdPkg = zigAnalysis.packages[rootPkg.table["std"]];
19391939 if (stdPkg == null) return false;
19401940 return rootPkg.file === stdPkg.file;
19411941 }
19421942
19431943 function indexTypeKinds() {
1944 var map = /** @type {Record<string, number>} */({});
1945 for (var i = 0; i < zigAnalysis.typeKinds.length; i += 1) {
1944 let map = /** @type {Record<string, number>} */({});
1945 for (let i = 0; i < zigAnalysis.typeKinds.length; i += 1) {
19461946 map[zigAnalysis.typeKinds[i]] = i;
19471947 }
19481948 // This is just for debugging purposes, not needed to function
1949 var assertList = ["Type","Void","Bool","NoReturn","Int","Float","Pointer","Array","Struct",
1949 let assertList = ["Type","Void","Bool","NoReturn","Int","Float","Pointer","Array","Struct",
19501950 "ComptimeFloat","ComptimeInt","Undefined","Null","Optional","ErrorUnion","ErrorSet","Enum",
19511951 "Union","Fn","BoundFn","Opaque","Frame","AnyFrame","Vector","EnumLiteral"];
1952 for (var i = 0; i < assertList.length; i += 1) {
1952 for (let i = 0; i < assertList.length; i += 1) {
19531953 if (map[assertList[i]] == null) throw new Error("No type kind '" + assertList[i] + "' found");
19541954 }
19551955 return map;
19561956 }
19571957
19581958 function findTypeTypeId() {
1959 for (var i = 0; i < zigAnalysis.types.length; i += 1) {
1959 for (let i = 0; i < zigAnalysis.types.length; i += 1) {
19601960 if (zigAnalysis.types[i].kind == typeKinds.Type) {
19611961 return i;
19621962 }
......@@ -1977,14 +1977,14 @@ var zigAnalysis;
19771977 curNavSearch = "";
19781978
19791979 if (location.hash[0] === '#' && location.hash.length > 1) {
1980 var query = location.hash.substring(1);
1980 let query = location.hash.substring(1);
19811981 if (query[0] === '*') {
19821982 curNav.showPrivDecls = true;
19831983 query = query.substring(1);
19841984 }
19851985
1986 var qpos = query.indexOf("?");
1987 var nonSearchPart;
1986 let qpos = query.indexOf("?");
1987 let nonSearchPart;
19881988 if (qpos === -1) {
19891989 nonSearchPart = query;
19901990 } else {
......@@ -1992,7 +1992,7 @@ var zigAnalysis;
19921992 curNavSearch = decodeURIComponent(query.substring(qpos + 1));
19931993 }
19941994
1995 var parts = nonSearchPart.split(";");
1995 let parts = nonSearchPart.split(";");
19961996 curNav.pkgNames = decodeURIComponent(parts[0]).split(".");
19971997 if (parts[1] != null) {
19981998 curNav.declNames = decodeURIComponent(parts[1]).split(".");
......@@ -2022,17 +2022,17 @@ var zigAnalysis;
20222022 */
20232023 function findSubDecl(parentType, childName) {
20242024 if (!parentType.pubDecls) return null;
2025 for (var i = 0; i < parentType.pubDecls.length; i += 1) {
2026 var declIndex = parentType.pubDecls[i];
2027 var childDecl = zigAnalysis.decls[declIndex];
2025 for (let i = 0; i < parentType.pubDecls.length; i += 1) {
2026 let declIndex = parentType.pubDecls[i];
2027 let childDecl = zigAnalysis.decls[declIndex];
20282028 if (childDecl.name === childName) {
20292029 return childDecl;
20302030 }
20312031 }
20322032 if (!parentType.privDecls) return null;
2033 for (var i = 0; i < parentType.privDecls.length; i += 1) {
2034 var declIndex = parentType.privDecls[i];
2035 var childDecl = zigAnalysis.decls[declIndex];
2033 for (let i = 0; i < parentType.privDecls.length; i += 1) {
2034 let declIndex = parentType.privDecls[i];
2035 let childDecl = zigAnalysis.decls[declIndex];
20362036 if (childDecl.name === childName) {
20372037 return childDecl;
20382038 }
......@@ -2044,23 +2044,23 @@ var zigAnalysis;
20442044
20452045
20462046 function computeCanonicalPackagePaths() {
2047 var list = new Array(zigAnalysis.packages.length);
2047 let list = new Array(zigAnalysis.packages.length);
20482048 // Now we try to find all the packages from root.
2049 var rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
2049 let rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg];
20502050 // Breadth-first to keep the path shortest possible.
2051 var stack = [{
2051 let stack = [{
20522052 path: /** @type {string[]} */([]),
20532053 pkg: rootPkg,
20542054 }];
20552055 while (stack.length !== 0) {
2056 var item = /** @type {{path: string[], pkg: Package}} */(stack.shift());
2057 for (var key in item.pkg.table) {
2058 var childPkgIndex = item.pkg.table[key];
2056 let item = /** @type {{path: string[], pkg: Package}} */(stack.shift());
2057 for (let key in item.pkg.table) {
2058 let childPkgIndex = item.pkg.table[key];
20592059 if (list[childPkgIndex] != null) continue;
2060 var childPkg = zigAnalysis.packages[childPkgIndex];
2060 let childPkg = zigAnalysis.packages[childPkgIndex];
20612061 if (childPkg == null) continue;
20622062
2063 var newPath = item.path.concat([key])
2063 let newPath = item.path.concat([key])
20642064 list[childPkgIndex] = newPath;
20652065 stack.push({
20662066 path: newPath,
......@@ -2074,37 +2074,37 @@ var zigAnalysis;
20742074
20752075 /** @return {CanonDecl[]} */
20762076 function computeCanonDeclPaths() {
2077 var list = new Array(zigAnalysis.decls.length);
2077 let list = new Array(zigAnalysis.decls.length);
20782078 canonTypeDecls = new Array(zigAnalysis.types.length);
20792079
2080 for (var pkgI = 0; pkgI < zigAnalysis.packages.length; pkgI += 1) {
2080 for (let pkgI = 0; pkgI < zigAnalysis.packages.length; pkgI += 1) {
20812081 if (pkgI === zigAnalysis.rootPkg && rootIsStd) continue;
2082 var pkg = zigAnalysis.packages[pkgI];
2083 var pkgNames = canonPkgPaths[pkgI];
2084 var stack = [{
2082 let pkg = zigAnalysis.packages[pkgI];
2083 let pkgNames = canonPkgPaths[pkgI];
2084 let stack = [{
20852085 declNames: /** @type {string[]} */([]),
20862086 type: zigAnalysis.types[pkg.main],
20872087 }];
20882088 while (stack.length !== 0) {
2089 var item = /** @type {{declNames: string[], type: Type}} */(stack.shift());
2089 let item = /** @type {{declNames: string[], type: Type}} */(stack.shift());
20902090
20912091 if (isContainerType(item.type)) {
20922092 let t = /** @type {ContainerType} */(item.type);
20932093
2094 var len = t.pubDecls ? t.pubDecls.length : 0;
2095 for (var declI = 0; declI < len; declI += 1) {
2096 var mainDeclIndex = t.pubDecls[declI];
2094 let len = t.pubDecls ? t.pubDecls.length : 0;
2095 for (let declI = 0; declI < len; declI += 1) {
2096 let mainDeclIndex = t.pubDecls[declI];
20972097 if (list[mainDeclIndex] != null) continue;
20982098
2099 var decl = zigAnalysis.decls[mainDeclIndex];
2100 var declVal = resolveValue(decl.value);
2101 var declNames = item.declNames.concat([decl.name]);
2099 let decl = zigAnalysis.decls[mainDeclIndex];
2100 let declVal = resolveValue(decl.value);
2101 let declNames = item.declNames.concat([decl.name]);
21022102 list[mainDeclIndex] = {
21032103 pkgNames: pkgNames,
21042104 declNames: declNames,
21052105 };
21062106 if ("type" in declVal) {
2107 var value = zigAnalysis.types[declVal.type];
2107 let value = zigAnalysis.types[declVal.type];
21082108 if (declCanRepresentTypeKind(value.kind))
21092109 {
21102110 canonTypeDecls[declVal.type] = mainDeclIndex;
......@@ -2149,8 +2149,8 @@ var zigAnalysis;
21492149
21502150 /** @param {string} docs */
21512151 function shortDescMarkdown(docs) {
2152 var parts = docs.trim().split("\n");
2153 var firstLine = parts[0];
2152 let parts = docs.trim().split("\n");
2153 let firstLine = parts[0];
21542154 return markdown(firstLine);
21552155 }
21562156
......@@ -2172,9 +2172,9 @@ var zigAnalysis;
21722172 // Dissect lines and determine the type for each line.
21732173 // Also computes indentation level and removes unnecessary whitespace
21742174
2175 var is_reading_code = false;
2176 var code_indent = 0;
2177 for (var line_no = 0; line_no < raw_lines.length; line_no++) {
2175 let is_reading_code = false;
2176 let code_indent = 0;
2177 for (let line_no = 0; line_no < raw_lines.length; line_no++) {
21782178 const raw_line = raw_lines[line_no];
21792179
21802180 const line = {
......@@ -2292,8 +2292,8 @@ var zigAnalysis;
22922292 /** @type {Array<Fmt>} */
22932293 const stack = [];
22942294
2295 var innerHTML = "";
2296 var currentRun = "";
2295 let innerHTML = "";
2296 let currentRun = "";
22972297
22982298 function flushRun() {
22992299 if (currentRun != "") {
......@@ -2302,11 +2302,11 @@ var zigAnalysis;
23022302 currentRun = "";
23032303 }
23042304
2305 var parsing_code = false;
2306 var codetag = "";
2307 var in_code = false;
2305 let parsing_code = false;
2306 let codetag = "";
2307 let in_code = false;
23082308
2309 for (var i = 0; i < innerText.length; i++) {
2309 for (let i = 0; i < innerText.length; i++) {
23102310
23112311 if (parsing_code && in_code) {
23122312 if (innerText.substr(i, codetag.length) == codetag) {
......@@ -2340,7 +2340,7 @@ var zigAnalysis;
23402340 currentRun += innerText[i];
23412341 in_code = true;
23422342 } else {
2343 var any = false;
2343 let any = false;
23442344 for (let idx = /** @type {number} */(stack.length > 0 ? -1 : 0); idx < formats.length; idx++) {
23452345 const fmt = idx >= 0 ? formats[idx] : stack[stack.length - 1];
23462346 if (innerText.substr(i, fmt.marker.length) == fmt.marker) {
......@@ -2414,8 +2414,8 @@ var zigAnalysis;
24142414 }
24152415 }
24162416
2417 var html = "";
2418 for (var line_no = 0; line_no < lines.length; line_no++) {
2417 let html = "";
2418 for (let line_no = 0; line_no < lines.length; line_no++) {
24192419 const line = lines[line_no];
24202420
24212421
......@@ -2473,12 +2473,12 @@ var zigAnalysis;
24732473 return;
24742474 }
24752475
2476 var liDom = domListSearchResults.children[curSearchIndex];
2476 let liDom = domListSearchResults.children[curSearchIndex];
24772477 if (liDom == null && domListSearchResults.children.length !== 0) {
24782478 liDom = domListSearchResults.children[0];
24792479 }
24802480 if (liDom != null) {
2481 var aDom = liDom.children[0];
2481 let aDom = liDom.children[0];
24822482 location.href = /** @type {string} */(aDom.getAttribute("href"));
24832483 curSearchIndex = -1;
24842484 }
......@@ -2490,10 +2490,10 @@ var zigAnalysis;
24902490 switch (getKeyString(ev)) {
24912491 case "Enter":
24922492 // detect if this search changes anything
2493 var terms1 = getSearchTerms();
2493 let terms1 = getSearchTerms();
24942494 startSearch();
24952495 updateCurNav();
2496 var terms2 = getSearchTerms();
2496 let terms2 = getSearchTerms();
24972497 // we might have to wait for onHashChange to trigger
24982498 imFeelingLucky = (terms1.join(' ') !== terms2.join(' '));
24992499 if (!imFeelingLucky) activateSelectedResult();
......@@ -2552,8 +2552,8 @@ var zigAnalysis;
25522552
25532553 /** @param {KeyboardEvent} ev */
25542554 function getKeyString(ev) {
2555 var name;
2556 var ignoreShift = false;
2555 let name;
2556 let ignoreShift = false;
25572557 switch (ev.which) {
25582558 case 13:
25592559 name = "Enter";
......@@ -2622,42 +2622,42 @@ function startAsyncSearch() {
26222622}
26232623function startSearch() {
26242624 clearAsyncSearch();
2625 var oldHash = location.hash;
2626 var parts = oldHash.split("?");
2627 var newPart2 = (domSearch.value === "") ? "" : ("?" + domSearch.value);
2625 let oldHash = location.hash;
2626 let parts = oldHash.split("?");
2627 let newPart2 = (domSearch.value === "") ? "" : ("?" + domSearch.value);
26282628 location.hash = (parts.length === 1) ? (oldHash + newPart2) : (parts[0] + newPart2);
26292629}
26302630function getSearchTerms() {
2631 var list = curNavSearch.trim().split(/[ \r\n\t]+/);
2631 let list = curNavSearch.trim().split(/[ \r\n\t]+/);
26322632 list.sort();
26332633 return list;
26342634}
26352635function renderSearch() {
2636 var matchedItems = [];
2637 var ignoreCase = (curNavSearch.toLowerCase() === curNavSearch);
2638 var terms = getSearchTerms();
2636 let matchedItems = [];
2637 let ignoreCase = (curNavSearch.toLowerCase() === curNavSearch);
2638 let terms = getSearchTerms();
26392639
2640 decl_loop: for (var declIndex = 0; declIndex < zigAnalysis.decls.length; declIndex += 1) {
2641 var canonPath = getCanonDeclPath(declIndex);
2640 decl_loop: for (let declIndex = 0; declIndex < zigAnalysis.decls.length; declIndex += 1) {
2641 let canonPath = getCanonDeclPath(declIndex);
26422642 if (canonPath == null) continue;
26432643
2644 var decl = zigAnalysis.decls[declIndex];
2645 var lastPkgName = canonPath.pkgNames[canonPath.pkgNames.length - 1];
2646 var fullPathSearchText = lastPkgName + "." + canonPath.declNames.join('.');
2647 var astNode = zigAnalysis.astNodes[decl.src];
2648 var fileAndDocs = zigAnalysis.files[astNode.file];
2644 let decl = zigAnalysis.decls[declIndex];
2645 let lastPkgName = canonPath.pkgNames[canonPath.pkgNames.length - 1];
2646 let fullPathSearchText = lastPkgName + "." + canonPath.declNames.join('.');
2647 let astNode = zigAnalysis.astNodes[decl.src];
2648 let fileAndDocs = zigAnalysis.files[astNode.file];
26492649 if (astNode.docs != null) {
26502650 fileAndDocs += "\n" + astNode.docs;
26512651 }
2652 var fullPathSearchTextLower = fullPathSearchText;
2652 let fullPathSearchTextLower = fullPathSearchText;
26532653 if (ignoreCase) {
26542654 fullPathSearchTextLower = fullPathSearchTextLower.toLowerCase();
26552655 fileAndDocs = fileAndDocs.toLowerCase();
26562656 }
26572657
2658 var points = 0;
2659 for (var termIndex = 0; termIndex < terms.length; termIndex += 1) {
2660 var term = terms[termIndex];
2658 let points = 0;
2659 for (let termIndex = 0; termIndex < terms.length; termIndex += 1) {
2660 let term = terms[termIndex];
26612661
26622662 // exact, case sensitive match of full decl path
26632663 if (fullPathSearchText === term) {
......@@ -2693,16 +2693,16 @@ function renderSearch() {
26932693 resizeDomList(domListSearchResults, matchedItems.length, '<li><a href="#"></a></li>');
26942694
26952695 matchedItems.sort(function(a, b) {
2696 var cmp = operatorCompare(b.points, a.points);
2696 let cmp = operatorCompare(b.points, a.points);
26972697 if (cmp != 0) return cmp;
26982698 return operatorCompare(a.decl.name, b.decl.name);
26992699 });
27002700
2701 for (var i = 0; i < matchedItems.length; i += 1) {
2702 var liDom = domListSearchResults.children[i];
2703 var aDom = liDom.children[0];
2704 var match = matchedItems[i];
2705 var lastPkgName = match.path.pkgNames[match.path.pkgNames.length - 1];
2701 for (let i = 0; i < matchedItems.length; i += 1) {
2702 let liDom = domListSearchResults.children[i];
2703 let aDom = liDom.children[0];
2704 let match = matchedItems[i];
2705 let lastPkgName = match.path.pkgNames[match.path.pkgNames.length - 1];
27062706 aDom.textContent = lastPkgName + "." + match.path.declNames.join('.');
27072707 aDom.setAttribute('href', navLink(match.path.pkgNames, match.path.declNames));
27082708 }
......@@ -2715,8 +2715,8 @@ function renderSearch() {
27152715}
27162716
27172717function renderSearchCursor() {
2718 for (var i = 0; i < domListSearchResults.children.length; i += 1) {
2719 var liDom = /** @type HTMLElement */(domListSearchResults.children[i]);
2718 for (let i = 0; i < domListSearchResults.children.length; i += 1) {
2719 let liDom = /** @type HTMLElement */(domListSearchResults.children[i]);
27202720 if (curSearchIndex === i) {
27212721 liDom.classList.add("selected");
27222722 } else {
......@@ -2728,10 +2728,10 @@ function renderSearchCursor() {
27282728
27292729
27302730// function indexNodesToCalls() {
2731// var map = {};
2732// for (var i = 0; i < zigAnalysis.calls.length; i += 1) {
2733// var call = zigAnalysis.calls[i];
2734// var fn = zigAnalysis.fns[call.fn];
2731// let map = {};
2732// for (let i = 0; i < zigAnalysis.calls.length; i += 1) {
2733// let call = zigAnalysis.calls[i];
2734// let fn = zigAnalysis.fns[call.fn];
27352735// if (map[fn.src] == null) {
27362736// map[fn.src] = [i];
27372737// } else {
......@@ -2757,8 +2757,8 @@ function byNameProperty(a, b) {
27572757 * @returns {T}
27582758 */
27592759function clone(obj) {
2760 var res = /** @type T */({});
2761 for (var key in obj) {
2760 let res = /** @type T */({});
2761 for (let key in obj) {
27622762 res[key] = obj[key];
27632763 }
27642764 return res;