| ... | ... | @@ -236,75 +236,75 @@ |
| 236 | 236 | var zigAnalysis; |
| 237 | 237 | |
| 238 | 238 | (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")); |
| 285 | 285 | |
| 286 | 286 | /** @type number | null */ |
| 287 | | var searchTimer = null; |
| 287 | let searchTimer = null; |
| 288 | 288 | |
| 289 | 289 | /** @type Object<string, string> */ |
| 290 | | var escapeHtmlReplacements = { "&": "&amp;", '"': "&quot;", "<": "&lt;", ">": "&gt;" }; |
| 290 | let escapeHtmlReplacements = { "&": "&amp;", '"': "&quot;", "<": "&lt;", ">": "&gt;" }; |
| 291 | 291 | |
| 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 }; |
| 295 | 295 | |
| 296 | 296 | // for each package, is an array with packages to get to this one |
| 297 | | var canonPkgPaths = computeCanonicalPackagePaths(); |
| 297 | let canonPkgPaths = computeCanonicalPackagePaths(); |
| 298 | 298 | |
| 299 | 299 | /** @typedef {{declNames: string[], pkgNames: string[]}} CanonDecl */ |
| 300 | 300 | |
| 301 | 301 | // for each decl, is an array with {declNames, pkgNames} to get to this one |
| 302 | 302 | /** @type CanonDecl[] | null */ |
| 303 | | var canonDeclPaths = null; // lazy; use getCanonDeclPath |
| 303 | let canonDeclPaths = null; // lazy; use getCanonDeclPath |
| 304 | 304 | |
| 305 | 305 | // for each type, is an array with {declNames, pkgNames} to get to this one |
| 306 | 306 | /** @type number[] | null */ |
| 307 | | var canonTypeDecls = null; // lazy; use getCanonTypeDecl |
| 307 | let canonTypeDecls = null; // lazy; use getCanonTypeDecl |
| 308 | 308 | |
| 309 | 309 | /** @typedef {{ |
| 310 | 310 | * showPrivDecls: boolean, |
| ... | ... | @@ -317,7 +317,7 @@ var zigAnalysis; |
| 317 | 317 | */ |
| 318 | 318 | |
| 319 | 319 | /** @type {CurNav} */ |
| 320 | | var curNav = { |
| 320 | let curNav = { |
| 321 | 321 | showPrivDecls: false, |
| 322 | 322 | // each element is a package name, e.g. @import("a") then within there @import("b") |
| 323 | 323 | // starting implicitly from root package |
| ... | ... | @@ -334,16 +334,16 @@ var zigAnalysis; |
| 334 | 334 | callName: null, |
| 335 | 335 | }; |
| 336 | 336 | |
| 337 | | var curNavSearch = ""; |
| 338 | | var curSearchIndex = -1; |
| 339 | | var imFeelingLucky = false; |
| 337 | let curNavSearch = ""; |
| 338 | let curSearchIndex = -1; |
| 339 | let imFeelingLucky = false; |
| 340 | 340 | |
| 341 | | var rootIsStd = detectRootIsStd(); |
| 341 | let rootIsStd = detectRootIsStd(); |
| 342 | 342 | |
| 343 | 343 | // map of decl index to list of non-generic fn indexes |
| 344 | | // var nodesToFnsMap = indexNodesToFns(); |
| 344 | // let nodesToFnsMap = indexNodesToFns(); |
| 345 | 345 | // map of decl index to list of comptime fn calls |
| 346 | | // var nodesToCallsMap = indexNodesToCalls(); |
| 346 | // let nodesToCallsMap = indexNodesToCalls(); |
| 347 | 347 | |
| 348 | 348 | domSearch.addEventListener('keydown', onSearchKeyDown, false); |
| 349 | 349 | domPrivDeclsBox.addEventListener('change', function() { |
| ... | ... | @@ -363,8 +363,8 @@ var zigAnalysis; |
| 363 | 363 | onHashChange(); |
| 364 | 364 | |
| 365 | 365 | 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"; |
| 368 | 368 | if (list.length === 0) { |
| 369 | 369 | if (rootIsStd) { |
| 370 | 370 | document.title = "std" + suffix; |
| ... | ... | @@ -393,7 +393,7 @@ var zigAnalysis; |
| 393 | 393 | |
| 394 | 394 | /** @param {Type} type */ |
| 395 | 395 | function typeShorthandName(type) { |
| 396 | | var name = undefined; |
| 396 | let name = undefined; |
| 397 | 397 | if (type.kind === typeKinds.Struct) { |
| 398 | 398 | name = "struct"; |
| 399 | 399 | } else if (type.kind === typeKinds.Enum) { |
| ... | ... | @@ -423,7 +423,7 @@ var zigAnalysis; |
| 423 | 423 | * @return {WalkResult | null} |
| 424 | 424 | */ |
| 425 | 425 | 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) { |
| 427 | 427 | const ref = path[i]; |
| 428 | 428 | if ("string" in ref) continue; |
| 429 | 429 | if ("comptimeExpr" in ref) return ref; |
| ... | ... | @@ -439,7 +439,7 @@ var zigAnalysis; |
| 439 | 439 | * @return {WalkResult} |
| 440 | 440 | */ |
| 441 | 441 | function resolveValue(value) { |
| 442 | | var i = 0; |
| 442 | let i = 0; |
| 443 | 443 | while(i < 1000) { |
| 444 | 444 | i += 1; |
| 445 | 445 | |
| ... | ... | @@ -465,7 +465,7 @@ var zigAnalysis; |
| 465 | 465 | * @return {WalkResult} |
| 466 | 466 | */ |
| 467 | 467 | function typeOfDecl(decl){ |
| 468 | | var i = 0; |
| 468 | let i = 0; |
| 469 | 469 | while(i < 1000) { |
| 470 | 470 | i += 1; |
| 471 | 471 | console.assert(isDecl(decl)); |
| ... | ... | @@ -508,7 +508,7 @@ var zigAnalysis; |
| 508 | 508 | |
| 509 | 509 | if ("call" in decl.value) { |
| 510 | 510 | const fn_call = zigAnalysis.calls[decl.value.call]; |
| 511 | | var fn_decl = undefined; |
| 511 | let fn_decl = undefined; |
| 512 | 512 | if ("declRef" in fn_call.func) { |
| 513 | 513 | fn_decl = zigAnalysis.decls[fn_call.func.declRef]; |
| 514 | 514 | } else if ("refPath" in fn_call.func) { |
| ... | ... | @@ -576,11 +576,11 @@ var zigAnalysis; |
| 576 | 576 | return renderSearch(); |
| 577 | 577 | } |
| 578 | 578 | |
| 579 | | var rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg]; |
| 580 | | var pkg = rootPkg; |
| 579 | let rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg]; |
| 580 | let pkg = rootPkg; |
| 581 | 581 | 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]]]; |
| 584 | 584 | if (childPkg == null) { |
| 585 | 585 | return render404(); |
| 586 | 586 | } |
| ... | ... | @@ -589,17 +589,17 @@ var zigAnalysis; |
| 589 | 589 | } |
| 590 | 590 | |
| 591 | 591 | /** @type {Decl | Type} */ |
| 592 | | var currentType = zigAnalysis.types[pkg.main]; |
| 592 | let currentType = zigAnalysis.types[pkg.main]; |
| 593 | 593 | 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) { |
| 595 | 595 | |
| 596 | 596 | /** @type {Decl | Type | null} */ |
| 597 | | var childDecl = findSubDecl(/** @type {ContainerType} */(currentType), curNav.declNames[i]); |
| 597 | let childDecl = findSubDecl(/** @type {ContainerType} */(currentType), curNav.declNames[i]); |
| 598 | 598 | if (childDecl == null) { |
| 599 | 599 | return render404(); |
| 600 | 600 | } |
| 601 | 601 | |
| 602 | | var childDeclValue = resolveValue(/** @type {Decl} */(childDecl).value); |
| 602 | let childDeclValue = resolveValue(/** @type {Decl} */(childDecl).value); |
| 603 | 603 | if ("type" in childDeclValue) { |
| 604 | 604 | |
| 605 | 605 | const t = zigAnalysis.types[childDeclValue.type]; |
| ... | ... | @@ -614,10 +614,10 @@ var zigAnalysis; |
| 614 | 614 | |
| 615 | 615 | renderNav(); |
| 616 | 616 | |
| 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); |
| 621 | 621 | |
| 622 | 622 | if (lastIsContainerType) { |
| 623 | 623 | return renderContainer(/** @type {ContainerType} */(last)); |
| ... | ... | @@ -636,7 +636,7 @@ var zigAnalysis; |
| 636 | 636 | } |
| 637 | 637 | |
| 638 | 638 | 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]; |
| 640 | 640 | if (typeObj && typeObj.kind === typeKinds.Fn) { |
| 641 | 641 | return renderFn(/** @type {Decl} */(last)); |
| 642 | 642 | } |
| ... | ... | @@ -649,7 +649,7 @@ var zigAnalysis; |
| 649 | 649 | function renderUnknownDecl(decl) { |
| 650 | 650 | domDeclNoRef.classList.remove("hidden"); |
| 651 | 651 | |
| 652 | | var docs = zigAnalysis.astNodes[decl.src].docs; |
| 652 | let docs = zigAnalysis.astNodes[decl.src].docs; |
| 653 | 653 | if (docs != null) { |
| 654 | 654 | domTldDocs.innerHTML = markdown(docs); |
| 655 | 655 | } else { |
| ... | ... | @@ -660,13 +660,13 @@ var zigAnalysis; |
| 660 | 660 | |
| 661 | 661 | /** @param {number} typeIndex */ |
| 662 | 662 | function typeIsErrSet(typeIndex) { |
| 663 | | var typeObj = zigAnalysis.types[typeIndex]; |
| 663 | let typeObj = zigAnalysis.types[typeIndex]; |
| 664 | 664 | return typeObj.kind === typeKinds.ErrorSet; |
| 665 | 665 | } |
| 666 | 666 | |
| 667 | 667 | /** @param {number} typeIndex */ |
| 668 | 668 | function typeIsStructWithNoFields(typeIndex) { |
| 669 | | var typeObj = zigAnalysis.types[typeIndex]; |
| 669 | let typeObj = zigAnalysis.types[typeIndex]; |
| 670 | 670 | if (typeObj.kind !== typeKinds.Struct) |
| 671 | 671 | return false; |
| 672 | 672 | return /** @type {ContainerType} */(typeObj).fields.length == 0; |
| ... | ... | @@ -674,7 +674,7 @@ var zigAnalysis; |
| 674 | 674 | |
| 675 | 675 | /** @param {number} typeIndex */ |
| 676 | 676 | function typeIsGenericFn(typeIndex) { |
| 677 | | var typeObj = zigAnalysis.types[typeIndex]; |
| 677 | let typeObj = zigAnalysis.types[typeIndex]; |
| 678 | 678 | if (typeObj.kind !== typeKinds.Fn) { |
| 679 | 679 | return false; |
| 680 | 680 | } |
| ... | ... | @@ -683,38 +683,38 @@ var zigAnalysis; |
| 683 | 683 | |
| 684 | 684 | /** @param {Decl} fnDecl */ |
| 685 | 685 | function renderFn(fnDecl) { |
| 686 | | var value = resolveValue(fnDecl.value); |
| 686 | let value = resolveValue(fnDecl.value); |
| 687 | 687 | console.assert("type" in value); |
| 688 | | var typeObj = /** @type {Fn} */(zigAnalysis.types[value.type]); |
| 688 | let typeObj = /** @type {Fn} */(zigAnalysis.types[value.type]); |
| 689 | 689 | |
| 690 | 690 | domFnProtoCode.innerHTML = typeValueName(value, true, true, fnDecl); |
| 691 | 691 | |
| 692 | | var docsSource = null; |
| 693 | | var srcNode = zigAnalysis.astNodes[fnDecl.src]; |
| 692 | let docsSource = null; |
| 693 | let srcNode = zigAnalysis.astNodes[fnDecl.src]; |
| 694 | 694 | if (srcNode.docs != null) { |
| 695 | 695 | docsSource = srcNode.docs; |
| 696 | 696 | } |
| 697 | 697 | |
| 698 | | var retIndex = resolveValue(typeObj.ret).type; |
| 698 | let retIndex = resolveValue(typeObj.ret).type; |
| 699 | 699 | renderFnParamDocs(fnDecl, typeObj); |
| 700 | 700 | |
| 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]; |
| 703 | 703 | if (retType.kind === typeKinds.ErrorSet) { |
| 704 | 704 | errSetTypeIndex = retIndex; |
| 705 | 705 | } else if (retType.kind === typeKinds.ErrorUnion) { |
| 706 | 706 | errSetTypeIndex = /** @type {ErrUnionType} */(retType).err.type; |
| 707 | 707 | } |
| 708 | 708 | if (errSetTypeIndex != null) { |
| 709 | | var errSetType = /** @type {ErrSetType} */(zigAnalysis.types[errSetTypeIndex]); |
| 709 | let errSetType = /** @type {ErrSetType} */(zigAnalysis.types[errSetTypeIndex]); |
| 710 | 710 | renderErrorSet(errSetType); |
| 711 | 711 | } |
| 712 | 712 | |
| 713 | | var protoSrcIndex = fnDecl.src; |
| 713 | let protoSrcIndex = fnDecl.src; |
| 714 | 714 | if (typeIsGenericFn(value.type)) { |
| 715 | 715 | throw "TODO"; |
| 716 | | // var instantiations = nodesToFnsMap[protoSrcIndex]; |
| 717 | | // var calls = nodesToCallsMap[protoSrcIndex]; |
| 716 | // let instantiations = nodesToFnsMap[protoSrcIndex]; |
| 717 | // let calls = nodesToCallsMap[protoSrcIndex]; |
| 718 | 718 | // if (instantiations == null && calls == null) { |
| 719 | 719 | // domFnNoExamples.classList.remove("hidden"); |
| 720 | 720 | // } else if (calls != null) { |
| ... | ... | @@ -723,8 +723,8 @@ var zigAnalysis; |
| 723 | 723 | |
| 724 | 724 | // resizeDomList(domListFnExamples, calls.length, '<li></li>'); |
| 725 | 725 | |
| 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]; |
| 728 | 728 | // liDom.innerHTML = getCallHtml(fnDecl, calls[callI]); |
| 729 | 729 | // } |
| 730 | 730 | |
| ... | ... | @@ -738,7 +738,7 @@ var zigAnalysis; |
| 738 | 738 | domFnNoExamples.classList.add("hidden"); |
| 739 | 739 | } |
| 740 | 740 | |
| 741 | | var protoSrcNode = zigAnalysis.astNodes[protoSrcIndex]; |
| 741 | let protoSrcNode = zigAnalysis.astNodes[protoSrcIndex]; |
| 742 | 742 | if (docsSource == null && protoSrcNode != null && protoSrcNode.docs != null) { |
| 743 | 743 | docsSource = protoSrcNode.docs; |
| 744 | 744 | } |
| ... | ... | @@ -754,15 +754,15 @@ var zigAnalysis; |
| 754 | 754 | * @param {Fn} typeObj |
| 755 | 755 | */ |
| 756 | 756 | function renderFnParamDocs(fnDecl, typeObj) { |
| 757 | | var docCount = 0; |
| 757 | let docCount = 0; |
| 758 | 758 | |
| 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; |
| 762 | 762 | |
| 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]; |
| 766 | 766 | if (fieldNode.docs != null) { |
| 767 | 767 | docCount += 1; |
| 768 | 768 | } |
| ... | ... | @@ -772,30 +772,30 @@ var zigAnalysis; |
| 772 | 772 | } |
| 773 | 773 | |
| 774 | 774 | resizeDomList(domListParams, docCount, '<div></div>'); |
| 775 | | var domIndex = 0; |
| 775 | let domIndex = 0; |
| 776 | 776 | |
| 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]; |
| 780 | 780 | if (fieldNode.docs == null) { |
| 781 | 781 | continue; |
| 782 | 782 | } |
| 783 | | var divDom = domListParams.children[domIndex]; |
| 783 | let divDom = domListParams.children[domIndex]; |
| 784 | 784 | domIndex += 1; |
| 785 | 785 | |
| 786 | 786 | |
| 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)) + ": "; |
| 789 | 789 | if (isVarArgs && i === typeObj.params.length - 1) { |
| 790 | 790 | html += '...'; |
| 791 | 791 | } else { |
| 792 | | var name = typeValueName(value, false, false); |
| 792 | let name = typeValueName(value, false, false); |
| 793 | 793 | html += '<span class="tok-kw">' + name + '</span>'; |
| 794 | 794 | } |
| 795 | 795 | |
| 796 | 796 | html += ',</pre>'; |
| 797 | 797 | |
| 798 | | var docs = fieldNode.docs; |
| 798 | let docs = fieldNode.docs; |
| 799 | 799 | if (docs != null) { |
| 800 | 800 | html += markdown(docs); |
| 801 | 801 | } |
| ... | ... | @@ -805,19 +805,19 @@ var zigAnalysis; |
| 805 | 805 | } |
| 806 | 806 | |
| 807 | 807 | function renderNav() { |
| 808 | | var len = curNav.pkgNames.length + curNav.declNames.length; |
| 808 | let len = curNav.pkgNames.length + curNav.declNames.length; |
| 809 | 809 | 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) { |
| 814 | 814 | hrefPkgNames.push(curNav.pkgNames[i]); |
| 815 | 815 | list.push({ |
| 816 | 816 | name: curNav.pkgNames[i], |
| 817 | 817 | link: navLink(hrefPkgNames, hrefDeclNames), |
| 818 | 818 | }); |
| 819 | 819 | } |
| 820 | | for (var i = 0; i < curNav.declNames.length; i += 1) { |
| 820 | for (let i = 0; i < curNav.declNames.length; i += 1) { |
| 821 | 821 | hrefDeclNames.push(curNav.declNames[i]); |
| 822 | 822 | list.push({ |
| 823 | 823 | name: curNav.declNames[i], |
| ... | ... | @@ -825,9 +825,9 @@ var zigAnalysis; |
| 825 | 825 | }); |
| 826 | 826 | } |
| 827 | 827 | |
| 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]; |
| 831 | 831 | aDom.textContent = list[i].name; |
| 832 | 832 | aDom.setAttribute('href', list[i].link); |
| 833 | 833 | if (i + 1 == list.length) { |
| ... | ... | @@ -853,10 +853,10 @@ var zigAnalysis; |
| 853 | 853 | } |
| 854 | 854 | |
| 855 | 855 | 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]; |
| 860 | 860 | if (zigAnalysis.packages[pkgIndex] == null) continue; |
| 861 | 861 | list.push({ |
| 862 | 862 | name: key, |
| ... | ... | @@ -865,7 +865,7 @@ var zigAnalysis; |
| 865 | 865 | } |
| 866 | 866 | |
| 867 | 867 | { |
| 868 | | var aDom = domSectMainPkg.children[1].children[0].children[0]; |
| 868 | let aDom = domSectMainPkg.children[1].children[0].children[0]; |
| 869 | 869 | aDom.textContent = zigAnalysis.params.rootName; |
| 870 | 870 | aDom.setAttribute('href', navLinkPkg(zigAnalysis.rootPkg)); |
| 871 | 871 | if (zigAnalysis.params.rootName === curNav.pkgNames[0]) { |
| ... | ... | @@ -882,9 +882,9 @@ var zigAnalysis; |
| 882 | 882 | |
| 883 | 883 | if (list.length !== 0) { |
| 884 | 884 | 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]; |
| 888 | 888 | aDom.textContent = list[i].name; |
| 889 | 889 | aDom.setAttribute('href', navLinkPkg(list[i].pkg)); |
| 890 | 890 | if (list[i].name === curNav.pkgNames[0]) { |
| ... | ... | @@ -933,13 +933,13 @@ var zigAnalysis; |
| 933 | 933 | |
| 934 | 934 | /** @param {Call} callObj */ |
| 935 | 935 | 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()); |
| 938 | 938 | |
| 939 | 939 | 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) { |
| 941 | 941 | if (arg_i !== 0) callName += ','; |
| 942 | | var argObj = callObj.args[arg_i]; |
| 942 | let argObj = callObj.args[arg_i]; |
| 943 | 943 | callName += getValueText(argObj, argObj, false, false); |
| 944 | 944 | } |
| 945 | 945 | callName += ')'; |
| ... | ... | @@ -954,7 +954,7 @@ var zigAnalysis; |
| 954 | 954 | */ |
| 955 | 955 | function resizeDomListDl(dlDom, desiredLen) { |
| 956 | 956 | // add the missing dom entries |
| 957 | | var i, ev; |
| 957 | let i, ev; |
| 958 | 958 | for (i = dlDom.childElementCount / 2; i < desiredLen; i += 1) { |
| 959 | 959 | dlDom.insertAdjacentHTML('beforeend', '<dt></dt><dd></dd>'); |
| 960 | 960 | } |
| ... | ... | @@ -972,7 +972,7 @@ var zigAnalysis; |
| 972 | 972 | */ |
| 973 | 973 | function resizeDomList(listDom, desiredLen, templateHtml) { |
| 974 | 974 | // add the missing dom entries |
| 975 | | var i, ev; |
| 975 | let i, ev; |
| 976 | 976 | for (i = listDom.childElementCount; i < desiredLen; i += 1) { |
| 977 | 977 | listDom.insertAdjacentHTML('beforeend', templateHtml); |
| 978 | 978 | } |
| ... | ... | @@ -996,11 +996,11 @@ var zigAnalysis; |
| 996 | 996 | return "" + typeValue.int.value; |
| 997 | 997 | } |
| 998 | 998 | 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); |
| 1002 | 1002 | result += functionName + "("; |
| 1003 | | for (var j = 0; j < call.args.length; j += 1) { |
| 1003 | for (let j = 0; j < call.args.length; j += 1) { |
| 1004 | 1004 | result += typeValueName(call.args[j], wantHtml, wantLink, fnDecl, linkFnNameDecl); |
| 1005 | 1005 | if (j != call.args.length -1) result += ","; |
| 1006 | 1006 | } |
| ... | ... | @@ -1011,10 +1011,10 @@ var zigAnalysis; |
| 1011 | 1011 | return "[ComptimeExpr]"; |
| 1012 | 1012 | } |
| 1013 | 1013 | 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++) { |
| 1016 | 1016 | |
| 1017 | | var name = "[RefPath]"; |
| 1017 | let name = "[RefPath]"; |
| 1018 | 1018 | if (wantHtml) { |
| 1019 | 1019 | //result += '<a href="'+navLinkDecl(decl.name)+'">'; |
| 1020 | 1020 | result += '<a href="">'; |
| ... | ... | @@ -1048,16 +1048,16 @@ var zigAnalysis; |
| 1048 | 1048 | } |
| 1049 | 1049 | |
| 1050 | 1050 | 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); |
| 1054 | 1054 | if (wantLink) { |
| 1055 | | var declIndex = getCanonTypeDecl(typeIndex); |
| 1056 | | var declPath = getCanonDeclPath(declIndex); |
| 1055 | let declIndex = getCanonTypeDecl(typeIndex); |
| 1056 | let declPath = getCanonDeclPath(declIndex); |
| 1057 | 1057 | if (declPath == null) { |
| 1058 | 1058 | return typeName(typeObj, wantHtml, wantLink, fnDecl, linkFnNameDecl); |
| 1059 | 1059 | } |
| 1060 | | var name = (wantLink && declCanRepresentTypeKind(typeObj.kind)) ? |
| 1060 | let name = (wantLink && declCanRepresentTypeKind(typeObj.kind)) ? |
| 1061 | 1061 | declPath.declNames[declPath.declNames.length - 1] : |
| 1062 | 1062 | typeName(typeObj, wantHtml, false, fnDecl, linkFnNameDecl); |
| 1063 | 1063 | if (wantLink && wantHtml) { |
| ... | ... | @@ -1075,9 +1075,9 @@ var zigAnalysis; |
| 1075 | 1075 | * @param {string} paramName |
| 1076 | 1076 | */ |
| 1077 | 1077 | function shouldSkipParamName(typeRef, paramName) { |
| 1078 | | var resolvedTypeRef = resolveValue(typeRef); |
| 1078 | let resolvedTypeRef = resolveValue(typeRef); |
| 1079 | 1079 | if ("type" in resolvedTypeRef) { |
| 1080 | | var typeObj = zigAnalysis.types[resolvedTypeRef.type]; |
| 1080 | let typeObj = zigAnalysis.types[resolvedTypeRef.type]; |
| 1081 | 1081 | if (typeObj.kind === typeKinds.Pointer){ |
| 1082 | 1082 | let ptrObj = /** @type {PointerType} */(typeObj); |
| 1083 | 1083 | if (getPtrSize(ptrObj) === pointerSizeEnum.One) { |
| ... | ... | @@ -1095,14 +1095,14 @@ var zigAnalysis; |
| 1095 | 1095 | } |
| 1096 | 1096 | |
| 1097 | 1097 | // function getCallHtml(fnDecl, callIndex) { |
| 1098 | | // var callObj = zigAnalysis.calls[callIndex]; |
| 1098 | // let callObj = zigAnalysis.calls[callIndex]; |
| 1099 | 1099 | |
| 1100 | 1100 | // // 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) { |
| 1104 | 1104 | // if (arg_i !== 0) html += ', '; |
| 1105 | | // var argObj = callObj.args[arg_i]; |
| 1105 | // let argObj = callObj.args[arg_i]; |
| 1106 | 1106 | // html += getValueText(argObj, argObj.value, true, true); |
| 1107 | 1107 | // } |
| 1108 | 1108 | // html += ')'; |
| ... | ... | @@ -1116,17 +1116,17 @@ var zigAnalysis; |
| 1116 | 1116 | * @param {boolean} wantLink |
| 1117 | 1117 | */ |
| 1118 | 1118 | function getValueText(typeRef, value, wantHtml, wantLink) { |
| 1119 | | var resolvedTypeRef = resolveValue(typeRef); |
| 1119 | let resolvedTypeRef = resolveValue(typeRef); |
| 1120 | 1120 | if ("comptimeExpr" in resolvedTypeRef) { |
| 1121 | 1121 | return "[ComptimeExpr]"; |
| 1122 | 1122 | } |
| 1123 | 1123 | console.assert("type" in resolvedTypeRef); |
| 1124 | | var typeObj = zigAnalysis.types[typeRef.type]; |
| 1124 | let typeObj = zigAnalysis.types[typeRef.type]; |
| 1125 | 1125 | switch (typeObj.kind) { |
| 1126 | 1126 | case typeKinds.Type: |
| 1127 | 1127 | return typeValueName(value, wantHtml, wantLink); |
| 1128 | 1128 | case typeKinds.Fn: |
| 1129 | | var fnObj = zigAnalysis.fns[value]; |
| 1129 | let fnObj = zigAnalysis.fns[value]; |
| 1130 | 1130 | return typeName(fnObj, wantHtml, wantLink); |
| 1131 | 1131 | case typeKinds.Int: |
| 1132 | 1132 | if (wantHtml) { |
| ... | ... | @@ -1152,8 +1152,8 @@ var zigAnalysis; |
| 1152 | 1152 | case typeKinds.Array: |
| 1153 | 1153 | { |
| 1154 | 1154 | 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); |
| 1157 | 1157 | if (wantHtml) { |
| 1158 | 1158 | name += '<span class="tok-number">' + lenName + '</span>'; |
| 1159 | 1159 | } else { |
| ... | ... | @@ -1169,7 +1169,7 @@ var zigAnalysis; |
| 1169 | 1169 | case typeKinds.Pointer: |
| 1170 | 1170 | { |
| 1171 | 1171 | let ptrObj = /** @type {PointerType} */(typeObj); |
| 1172 | | var name = ""; |
| 1172 | let name = ""; |
| 1173 | 1173 | switch (ptrObj.size) { |
| 1174 | 1174 | default: |
| 1175 | 1175 | console.log("TODO: implement unhandled pointer size case"); |
| ... | ... | @@ -1243,7 +1243,7 @@ var zigAnalysis; |
| 1243 | 1243 | case typeKinds.Int: |
| 1244 | 1244 | { |
| 1245 | 1245 | let intObj = /** @type {NumberType} */(typeObj); |
| 1246 | | var name = intObj.name; |
| 1246 | let name = intObj.name; |
| 1247 | 1247 | if (wantHtml) { |
| 1248 | 1248 | return '<span class="tok-type">' + name + '</span>'; |
| 1249 | 1249 | } else { |
| ... | ... | @@ -1316,8 +1316,8 @@ var zigAnalysis; |
| 1316 | 1316 | // TODO: implement error union printing assuming that both |
| 1317 | 1317 | // payload and error union are walk results! |
| 1318 | 1318 | // 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); |
| 1321 | 1321 | // if (fnDecl != null && errSetTypeObj.fn === fnDecl.value.type) { |
| 1322 | 1322 | // // function index parameter supplied and this is the inferred error set of it |
| 1323 | 1323 | // return "!" + payloadHtml; |
| ... | ... | @@ -1328,7 +1328,7 @@ var zigAnalysis; |
| 1328 | 1328 | case typeKinds.Fn: |
| 1329 | 1329 | { |
| 1330 | 1330 | let fnObj = /** @type {Fn} */(typeObj); |
| 1331 | | var payloadHtml = ""; |
| 1331 | let payloadHtml = ""; |
| 1332 | 1332 | if (wantHtml) { |
| 1333 | 1333 | payloadHtml += '<span class="tok-kw">fn</span>'; |
| 1334 | 1334 | if (fnDecl != null) { |
| ... | ... | @@ -1346,23 +1346,23 @@ var zigAnalysis; |
| 1346 | 1346 | } |
| 1347 | 1347 | payloadHtml += '('; |
| 1348 | 1348 | 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]; |
| 1352 | 1352 | fields = fnNode.fields; |
| 1353 | 1353 | isVarArgs = fnNode.varArgs; |
| 1354 | 1354 | |
| 1355 | | for (var i = 0; i < fnObj.params.length; i += 1) { |
| 1355 | for (let i = 0; i < fnObj.params.length; i += 1) { |
| 1356 | 1356 | if (i != 0) { |
| 1357 | 1357 | payloadHtml += ', '; |
| 1358 | 1358 | } |
| 1359 | 1359 | |
| 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; |
| 1363 | 1363 | |
| 1364 | 1364 | if (fields != null) { |
| 1365 | | var paramNode = zigAnalysis.astNodes[fields[i]]; |
| 1365 | let paramNode = zigAnalysis.astNodes[fields[i]]; |
| 1366 | 1366 | |
| 1367 | 1367 | if (paramNode.varArgs) { |
| 1368 | 1368 | payloadHtml += '...'; |
| ... | ... | @@ -1385,7 +1385,7 @@ var zigAnalysis; |
| 1385 | 1385 | } |
| 1386 | 1386 | } |
| 1387 | 1387 | |
| 1388 | | var paramName = paramNode.name; |
| 1388 | let paramName = paramNode.name; |
| 1389 | 1389 | if (paramName != null) { |
| 1390 | 1390 | // skip if it matches the type name |
| 1391 | 1391 | if (!shouldSkipParamName(paramValue, paramName)) { |
| ... | ... | @@ -1402,7 +1402,7 @@ var zigAnalysis; |
| 1402 | 1402 | payloadHtml += '</a>'; |
| 1403 | 1403 | |
| 1404 | 1404 | } else if ("type" in value) { |
| 1405 | | var name = typeValueName(value, wantHtml, wantSubLink, fnDecl, linkFnNameDecl); |
| 1405 | let name = typeValueName(value, wantHtml, wantSubLink, fnDecl, linkFnNameDecl); |
| 1406 | 1406 | payloadHtml += '<span class="tok-kw">' + escapeHtml(name) + '</span>'; |
| 1407 | 1407 | } else if ("comptimeExpr" in value) { |
| 1408 | 1408 | payloadHtml += '<span class="tok-kw">[ComptimeExpr]</span>'; |
| ... | ... | @@ -1436,7 +1436,7 @@ var zigAnalysis; |
| 1436 | 1436 | |
| 1437 | 1437 | /** @param {Type} typeObj */ |
| 1438 | 1438 | function renderType(typeObj) { |
| 1439 | | var name; |
| 1439 | let name; |
| 1440 | 1440 | if (rootIsStd && typeObj === zigAnalysis.types[zigAnalysis.packages[zigAnalysis.rootPkg].main]) { |
| 1441 | 1441 | name = "std"; |
| 1442 | 1442 | } else { |
| ... | ... | @@ -1456,10 +1456,10 @@ var zigAnalysis; |
| 1456 | 1456 | if (errSetType.fields == null) { |
| 1457 | 1457 | domFnErrorsAnyError.classList.remove("hidden"); |
| 1458 | 1458 | } 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]; |
| 1463 | 1463 | errorList.push(errObj); |
| 1464 | 1464 | } |
| 1465 | 1465 | errorList.sort(function(a, b) { |
| ... | ... | @@ -1467,11 +1467,11 @@ var zigAnalysis; |
| 1467 | 1467 | }); |
| 1468 | 1468 | |
| 1469 | 1469 | 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]; |
| 1473 | 1473 | nameTdDom.textContent = errorList[i].name; |
| 1474 | | var docs = errorList[i].docs; |
| 1474 | let docs = errorList[i].docs; |
| 1475 | 1475 | if (docs != null) { |
| 1476 | 1476 | descTdDom.innerHTML = markdown(docs); |
| 1477 | 1477 | } else { |
| ... | ... | @@ -1484,25 +1484,25 @@ var zigAnalysis; |
| 1484 | 1484 | } |
| 1485 | 1485 | |
| 1486 | 1486 | // 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]; |
| 1489 | 1489 | // 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]]; |
| 1492 | 1492 | // if (call.result.type !== typeTypeId) return false; |
| 1493 | 1493 | // } |
| 1494 | 1494 | // return true; |
| 1495 | 1495 | // } |
| 1496 | 1496 | // |
| 1497 | 1497 | // function allCompTimeFnCallsResult(calls) { |
| 1498 | | // var firstTypeObj = null; |
| 1499 | | // var containerObj = { |
| 1498 | // let firstTypeObj = null; |
| 1499 | // let containerObj = { |
| 1500 | 1500 | // privDecls: [], |
| 1501 | 1501 | // }; |
| 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]]; |
| 1504 | 1504 | // if (call.result.type !== typeTypeId) return null; |
| 1505 | | // var typeObj = zigAnalysis.types[call.result.value]; |
| 1505 | // let typeObj = zigAnalysis.types[call.result.value]; |
| 1506 | 1506 | // if (!typeKindIsContainer(typeObj.kind)) return null; |
| 1507 | 1507 | // if (firstTypeObj == null) { |
| 1508 | 1508 | // firstTypeObj = typeObj; |
| ... | ... | @@ -1513,9 +1513,9 @@ var zigAnalysis; |
| 1513 | 1513 | // |
| 1514 | 1514 | // if (containerObj.fields == null) { |
| 1515 | 1515 | // 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]; |
| 1519 | 1519 | // if (prev === next) continue; |
| 1520 | 1520 | // if (typeof(prev) === 'object') { |
| 1521 | 1521 | // if (prev[next] == null) prev[next] = typeObj; |
| ... | ... | @@ -1528,14 +1528,14 @@ var zigAnalysis; |
| 1528 | 1528 | // |
| 1529 | 1529 | // if (containerObj.pubDecls == null) { |
| 1530 | 1530 | // 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]; |
| 1534 | 1534 | // if (prev === next) continue; |
| 1535 | 1535 | // // TODO instead of showing "examples" as the public declarations, |
| 1536 | 1536 | // // do logic like this: |
| 1537 | 1537 | // //if (typeof(prev) !== 'object') { |
| 1538 | | // // var newDeclId = zigAnalysis.decls.length; |
| 1538 | // // let newDeclId = zigAnalysis.decls.length; |
| 1539 | 1539 | // // prev = clone(zigAnalysis.decls[prev]); |
| 1540 | 1540 | // // prev.id = newDeclId; |
| 1541 | 1541 | // // zigAnalysis.decls.push(prev); |
| ... | ... | @@ -1544,8 +1544,8 @@ var zigAnalysis; |
| 1544 | 1544 | // //mergeDecls(prev, next, firstTypeObj, typeObj); |
| 1545 | 1545 | // } |
| 1546 | 1546 | // } |
| 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]; |
| 1549 | 1549 | // if (typeof(decl) === 'object') { |
| 1550 | 1550 | // containerObj.pubDecls[declI] = containerObj.pubDecls[declI].id; |
| 1551 | 1551 | // } |
| ... | ... | @@ -1555,10 +1555,10 @@ var zigAnalysis; |
| 1555 | 1555 | |
| 1556 | 1556 | |
| 1557 | 1557 | // function mergeDecls(declObj, nextDeclIndex, firstTypeObj, typeObj) { |
| 1558 | | // var nextDeclObj = zigAnalysis.decls[nextDeclIndex]; |
| 1558 | // let nextDeclObj = zigAnalysis.decls[nextDeclIndex]; |
| 1559 | 1559 | // if (declObj.type != null && nextDeclObj.type != null && declObj.type !== nextDeclObj.type) { |
| 1560 | 1560 | // if (typeof(declObj.type) !== 'object') { |
| 1561 | | // var prevType = declObj.type; |
| 1561 | // let prevType = declObj.type; |
| 1562 | 1562 | // declObj.type = {}; |
| 1563 | 1563 | // declObj.type[prevType] = firstTypeObj; |
| 1564 | 1564 | // declObj.value = null; |
| ... | ... | @@ -1569,7 +1569,7 @@ var zigAnalysis; |
| 1569 | 1569 | // } |
| 1570 | 1570 | // if (declObj.value != null && nextDeclObj.value != null && declObj.value !== nextDeclObj.value) { |
| 1571 | 1571 | // if (typeof(declObj.value) !== 'object') { |
| 1572 | | // var prevValue = declObj.value; |
| 1572 | // let prevValue = declObj.value; |
| 1573 | 1573 | // declObj.value = {}; |
| 1574 | 1574 | // declObj.value[prevValue] = firstTypeObj; |
| 1575 | 1575 | // } |
| ... | ... | @@ -1582,8 +1582,8 @@ var zigAnalysis; |
| 1582 | 1582 | /** @param {Decl} decl */ |
| 1583 | 1583 | function renderValue(decl) { |
| 1584 | 1584 | |
| 1585 | | var declTypeRef = typeOfDecl(decl); |
| 1586 | | var declValueText = ""; |
| 1585 | let declTypeRef = typeOfDecl(decl); |
| 1586 | let declValueText = ""; |
| 1587 | 1587 | switch(Object.keys(decl.value)[0]) { |
| 1588 | 1588 | case "int": |
| 1589 | 1589 | declValueText += /** @type {{int: {value: number}}} */(decl.value).int.value; |
| ... | ... | @@ -1603,7 +1603,7 @@ var zigAnalysis; |
| 1603 | 1603 | escapeHtml(decl.name) + ': ' + typeValueName(declTypeRef, true, true) + |
| 1604 | 1604 | " = " + declValueText; |
| 1605 | 1605 | |
| 1606 | | var docs = zigAnalysis.astNodes[decl.src].docs; |
| 1606 | let docs = zigAnalysis.astNodes[decl.src].docs; |
| 1607 | 1607 | if (docs != null) { |
| 1608 | 1608 | domTldDocs.innerHTML = markdown(docs); |
| 1609 | 1609 | domTldDocs.classList.remove("hidden"); |
| ... | ... | @@ -1614,11 +1614,11 @@ var zigAnalysis; |
| 1614 | 1614 | |
| 1615 | 1615 | /** @param {Decl} decl */ |
| 1616 | 1616 | function renderVar(decl) { |
| 1617 | | var declTypeRef = typeOfDecl(decl); |
| 1617 | let declTypeRef = typeOfDecl(decl); |
| 1618 | 1618 | domFnProtoCode.innerHTML = '<span class="tok-kw">var</span> ' + |
| 1619 | 1619 | escapeHtml(decl.name) + ': ' + typeValueName(declTypeRef, true, true); |
| 1620 | 1620 | |
| 1621 | | var docs = zigAnalysis.astNodes[decl.src].docs; |
| 1621 | let docs = zigAnalysis.astNodes[decl.src].docs; |
| 1622 | 1622 | if (docs != null) { |
| 1623 | 1623 | domTldDocs.innerHTML = markdown(docs); |
| 1624 | 1624 | domTldDocs.classList.remove("hidden"); |
| ... | ... | @@ -1642,9 +1642,9 @@ var zigAnalysis; |
| 1642 | 1642 | typesList, namespacesList, errSetsList, |
| 1643 | 1643 | fnsList, varsList, valsList, testsList) { |
| 1644 | 1644 | |
| 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); |
| 1648 | 1648 | |
| 1649 | 1649 | if (decl.isTest) { |
| 1650 | 1650 | testsList.push(decl); |
| ... | ... | @@ -1676,8 +1676,8 @@ var zigAnalysis; |
| 1676 | 1676 | } else if (!("type" in declValue)){ |
| 1677 | 1677 | valsList.push(decl); |
| 1678 | 1678 | } 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; |
| 1681 | 1681 | if (kind === typeKinds.Fn) { |
| 1682 | 1682 | // TODO: handle CTE return types when we know their type. |
| 1683 | 1683 | const resVal = resolveValue(/** @type {Fn} */(value).ret); |
| ... | ... | @@ -1704,19 +1704,19 @@ var zigAnalysis; |
| 1704 | 1704 | */ |
| 1705 | 1705 | function renderContainer(container) { |
| 1706 | 1706 | /** @type {Decl[]} */ |
| 1707 | | var typesList = []; |
| 1707 | let typesList = []; |
| 1708 | 1708 | /** @type {Decl[]} */ |
| 1709 | | var namespacesList = []; |
| 1709 | let namespacesList = []; |
| 1710 | 1710 | /** @type {Decl[]} */ |
| 1711 | | var errSetsList = []; |
| 1711 | let errSetsList = []; |
| 1712 | 1712 | /** @type {Decl[]} */ |
| 1713 | | var fnsList = []; |
| 1713 | let fnsList = []; |
| 1714 | 1714 | /** @type {Decl[]} */ |
| 1715 | | var varsList = []; |
| 1715 | let varsList = []; |
| 1716 | 1716 | /** @type {Decl[]} */ |
| 1717 | | var valsList = []; |
| 1717 | let valsList = []; |
| 1718 | 1718 | /** @type {Decl[]} */ |
| 1719 | | var testsList = []; |
| 1719 | let testsList = []; |
| 1720 | 1720 | |
| 1721 | 1721 | categorizeDecls(container.pubDecls, |
| 1722 | 1722 | typesList, namespacesList, errSetsList, |
| ... | ... | @@ -1735,7 +1735,7 @@ var zigAnalysis; |
| 1735 | 1735 | testsList.sort(byNameProperty); |
| 1736 | 1736 | |
| 1737 | 1737 | if (container.src != null) { |
| 1738 | | var docs = zigAnalysis.astNodes[container.src].docs; |
| 1738 | let docs = zigAnalysis.astNodes[container.src].docs; |
| 1739 | 1739 | if (docs != null) { |
| 1740 | 1740 | domTldDocs.innerHTML = markdown(docs); |
| 1741 | 1741 | domTldDocs.classList.remove("hidden"); |
| ... | ... | @@ -1744,10 +1744,10 @@ var zigAnalysis; |
| 1744 | 1744 | |
| 1745 | 1745 | if (typesList.length !== 0) { |
| 1746 | 1746 | 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]; |
| 1751 | 1751 | aDom.textContent = decl.name; |
| 1752 | 1752 | aDom.setAttribute('href', navLinkDecl(decl.name)); |
| 1753 | 1753 | } |
| ... | ... | @@ -1755,10 +1755,10 @@ var zigAnalysis; |
| 1755 | 1755 | } |
| 1756 | 1756 | if (namespacesList.length !== 0) { |
| 1757 | 1757 | 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]; |
| 1762 | 1762 | aDom.textContent = decl.name; |
| 1763 | 1763 | aDom.setAttribute('href', navLinkDecl(decl.name)); |
| 1764 | 1764 | } |
| ... | ... | @@ -1767,10 +1767,10 @@ var zigAnalysis; |
| 1767 | 1767 | |
| 1768 | 1768 | if (errSetsList.length !== 0) { |
| 1769 | 1769 | 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]; |
| 1774 | 1774 | aDom.textContent = decl.name; |
| 1775 | 1775 | aDom.setAttribute('href', navLinkDecl(decl.name)); |
| 1776 | 1776 | } |
| ... | ... | @@ -1779,19 +1779,19 @@ var zigAnalysis; |
| 1779 | 1779 | |
| 1780 | 1780 | if (fnsList.length !== 0) { |
| 1781 | 1781 | 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]; |
| 1785 | 1785 | |
| 1786 | | var tdFnCode = trDom.children[0]; |
| 1787 | | var tdDesc = trDom.children[1]; |
| 1786 | let tdFnCode = trDom.children[0]; |
| 1787 | let tdDesc = trDom.children[1]; |
| 1788 | 1788 | |
| 1789 | | var declType = resolveValue(decl.value); |
| 1789 | let declType = resolveValue(decl.value); |
| 1790 | 1790 | console.assert("type" in declType); |
| 1791 | 1791 | |
| 1792 | 1792 | tdFnCode.innerHTML = typeValueName(declType, true, true, decl, navLinkDecl(decl.name)); |
| 1793 | 1793 | |
| 1794 | | var docs = zigAnalysis.astNodes[decl.src].docs; |
| 1794 | let docs = zigAnalysis.astNodes[decl.src].docs; |
| 1795 | 1795 | if (docs != null) { |
| 1796 | 1796 | tdDesc.innerHTML = shortDescMarkdown(docs); |
| 1797 | 1797 | } else { |
| ... | ... | @@ -1801,29 +1801,29 @@ var zigAnalysis; |
| 1801 | 1801 | domSectFns.classList.remove("hidden"); |
| 1802 | 1802 | } |
| 1803 | 1803 | |
| 1804 | | var containerNode = zigAnalysis.astNodes[container.src]; |
| 1804 | let containerNode = zigAnalysis.astNodes[container.src]; |
| 1805 | 1805 | if (containerNode.fields) { |
| 1806 | 1806 | resizeDomList(domListFields, containerNode.fields.length, '<div></div>'); |
| 1807 | 1807 | |
| 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]; |
| 1811 | 1811 | let fieldName = /** @type {string} */(fieldNode.name); |
| 1812 | 1812 | |
| 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); |
| 1814 | 1814 | |
| 1815 | 1815 | if (container.kind === typeKinds.Enum) { |
| 1816 | 1816 | html += ' = <span class="tok-number">' + fieldName + '</span>'; |
| 1817 | 1817 | } else { |
| 1818 | | var field = container.fields[i]; |
| 1818 | let field = container.fields[i]; |
| 1819 | 1819 | html += ": "; |
| 1820 | | var name = typeValueName(field, false, false); |
| 1820 | let name = typeValueName(field, false, false); |
| 1821 | 1821 | html += '<span class="tok-kw">'+ name +'</span>'; |
| 1822 | 1822 | } |
| 1823 | 1823 | |
| 1824 | 1824 | html += ',</pre></div>'; |
| 1825 | 1825 | |
| 1826 | | var docs = fieldNode.docs; |
| 1826 | let docs = fieldNode.docs; |
| 1827 | 1827 | if (docs != null) { |
| 1828 | 1828 | html += markdown(docs); |
| 1829 | 1829 | } |
| ... | ... | @@ -1835,21 +1835,21 @@ var zigAnalysis; |
| 1835 | 1835 | if (varsList.length !== 0) { |
| 1836 | 1836 | resizeDomList(domListGlobalVars, varsList.length, |
| 1837 | 1837 | '<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]; |
| 1841 | 1841 | |
| 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]; |
| 1846 | 1846 | |
| 1847 | 1847 | tdNameA.setAttribute('href', navLinkDecl(decl.name)); |
| 1848 | 1848 | tdNameA.textContent = decl.name; |
| 1849 | 1849 | |
| 1850 | 1850 | tdType.innerHTML = typeValueName(typeOfDecl(decl), true, true); |
| 1851 | 1851 | |
| 1852 | | var docs = zigAnalysis.astNodes[decl.src].docs; |
| 1852 | let docs = zigAnalysis.astNodes[decl.src].docs; |
| 1853 | 1853 | if (docs != null) { |
| 1854 | 1854 | tdDesc.innerHTML = shortDescMarkdown(docs); |
| 1855 | 1855 | } else { |
| ... | ... | @@ -1862,21 +1862,21 @@ var zigAnalysis; |
| 1862 | 1862 | if (valsList.length !== 0) { |
| 1863 | 1863 | resizeDomList(domListValues, valsList.length, |
| 1864 | 1864 | '<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]; |
| 1868 | 1868 | |
| 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]; |
| 1873 | 1873 | |
| 1874 | 1874 | tdNameA.setAttribute('href', navLinkDecl(decl.name)); |
| 1875 | 1875 | tdNameA.textContent = decl.name; |
| 1876 | 1876 | |
| 1877 | 1877 | tdType.innerHTML = typeValueName(typeOfDecl(decl), true, true); |
| 1878 | 1878 | |
| 1879 | | var docs = zigAnalysis.astNodes[decl.src].docs; |
| 1879 | let docs = zigAnalysis.astNodes[decl.src].docs; |
| 1880 | 1880 | if (docs != null) { |
| 1881 | 1881 | tdDesc.innerHTML = shortDescMarkdown(docs); |
| 1882 | 1882 | } else { |
| ... | ... | @@ -1889,21 +1889,21 @@ var zigAnalysis; |
| 1889 | 1889 | if (testsList.length !== 0) { |
| 1890 | 1890 | resizeDomList(domListTests, testsList.length, |
| 1891 | 1891 | '<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]; |
| 1895 | 1895 | |
| 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]; |
| 1900 | 1900 | |
| 1901 | 1901 | tdNameA.setAttribute('href', navLinkDecl(decl.name)); |
| 1902 | 1902 | tdNameA.textContent = decl.name; |
| 1903 | 1903 | |
| 1904 | 1904 | tdType.innerHTML = typeValueName(typeOfDecl(decl), true, true); |
| 1905 | 1905 | |
| 1906 | | var docs = zigAnalysis.astNodes[decl.src].docs; |
| 1906 | let docs = zigAnalysis.astNodes[decl.src].docs; |
| 1907 | 1907 | if (docs != null) { |
| 1908 | 1908 | tdDesc.innerHTML = shortDescMarkdown(docs); |
| 1909 | 1909 | } else { |
| ... | ... | @@ -1930,33 +1930,33 @@ var zigAnalysis; |
| 1930 | 1930 | } |
| 1931 | 1931 | |
| 1932 | 1932 | function detectRootIsStd() { |
| 1933 | | var rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg]; |
| 1933 | let rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg]; |
| 1934 | 1934 | if (rootPkg.table["std"] == null) { |
| 1935 | 1935 | // no std mapped into the root package |
| 1936 | 1936 | return false; |
| 1937 | 1937 | } |
| 1938 | | var stdPkg = zigAnalysis.packages[rootPkg.table["std"]]; |
| 1938 | let stdPkg = zigAnalysis.packages[rootPkg.table["std"]]; |
| 1939 | 1939 | if (stdPkg == null) return false; |
| 1940 | 1940 | return rootPkg.file === stdPkg.file; |
| 1941 | 1941 | } |
| 1942 | 1942 | |
| 1943 | 1943 | 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) { |
| 1946 | 1946 | map[zigAnalysis.typeKinds[i]] = i; |
| 1947 | 1947 | } |
| 1948 | 1948 | // 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", |
| 1950 | 1950 | "ComptimeFloat","ComptimeInt","Undefined","Null","Optional","ErrorUnion","ErrorSet","Enum", |
| 1951 | 1951 | "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) { |
| 1953 | 1953 | if (map[assertList[i]] == null) throw new Error("No type kind '" + assertList[i] + "' found"); |
| 1954 | 1954 | } |
| 1955 | 1955 | return map; |
| 1956 | 1956 | } |
| 1957 | 1957 | |
| 1958 | 1958 | function findTypeTypeId() { |
| 1959 | | for (var i = 0; i < zigAnalysis.types.length; i += 1) { |
| 1959 | for (let i = 0; i < zigAnalysis.types.length; i += 1) { |
| 1960 | 1960 | if (zigAnalysis.types[i].kind == typeKinds.Type) { |
| 1961 | 1961 | return i; |
| 1962 | 1962 | } |
| ... | ... | @@ -1977,14 +1977,14 @@ var zigAnalysis; |
| 1977 | 1977 | curNavSearch = ""; |
| 1978 | 1978 | |
| 1979 | 1979 | if (location.hash[0] === '#' && location.hash.length > 1) { |
| 1980 | | var query = location.hash.substring(1); |
| 1980 | let query = location.hash.substring(1); |
| 1981 | 1981 | if (query[0] === '*') { |
| 1982 | 1982 | curNav.showPrivDecls = true; |
| 1983 | 1983 | query = query.substring(1); |
| 1984 | 1984 | } |
| 1985 | 1985 | |
| 1986 | | var qpos = query.indexOf("?"); |
| 1987 | | var nonSearchPart; |
| 1986 | let qpos = query.indexOf("?"); |
| 1987 | let nonSearchPart; |
| 1988 | 1988 | if (qpos === -1) { |
| 1989 | 1989 | nonSearchPart = query; |
| 1990 | 1990 | } else { |
| ... | ... | @@ -1992,7 +1992,7 @@ var zigAnalysis; |
| 1992 | 1992 | curNavSearch = decodeURIComponent(query.substring(qpos + 1)); |
| 1993 | 1993 | } |
| 1994 | 1994 | |
| 1995 | | var parts = nonSearchPart.split(";"); |
| 1995 | let parts = nonSearchPart.split(";"); |
| 1996 | 1996 | curNav.pkgNames = decodeURIComponent(parts[0]).split("."); |
| 1997 | 1997 | if (parts[1] != null) { |
| 1998 | 1998 | curNav.declNames = decodeURIComponent(parts[1]).split("."); |
| ... | ... | @@ -2022,17 +2022,17 @@ var zigAnalysis; |
| 2022 | 2022 | */ |
| 2023 | 2023 | function findSubDecl(parentType, childName) { |
| 2024 | 2024 | 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]; |
| 2028 | 2028 | if (childDecl.name === childName) { |
| 2029 | 2029 | return childDecl; |
| 2030 | 2030 | } |
| 2031 | 2031 | } |
| 2032 | 2032 | 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]; |
| 2036 | 2036 | if (childDecl.name === childName) { |
| 2037 | 2037 | return childDecl; |
| 2038 | 2038 | } |
| ... | ... | @@ -2044,23 +2044,23 @@ var zigAnalysis; |
| 2044 | 2044 | |
| 2045 | 2045 | |
| 2046 | 2046 | function computeCanonicalPackagePaths() { |
| 2047 | | var list = new Array(zigAnalysis.packages.length); |
| 2047 | let list = new Array(zigAnalysis.packages.length); |
| 2048 | 2048 | // Now we try to find all the packages from root. |
| 2049 | | var rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg]; |
| 2049 | let rootPkg = zigAnalysis.packages[zigAnalysis.rootPkg]; |
| 2050 | 2050 | // Breadth-first to keep the path shortest possible. |
| 2051 | | var stack = [{ |
| 2051 | let stack = [{ |
| 2052 | 2052 | path: /** @type {string[]} */([]), |
| 2053 | 2053 | pkg: rootPkg, |
| 2054 | 2054 | }]; |
| 2055 | 2055 | 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]; |
| 2059 | 2059 | if (list[childPkgIndex] != null) continue; |
| 2060 | | var childPkg = zigAnalysis.packages[childPkgIndex]; |
| 2060 | let childPkg = zigAnalysis.packages[childPkgIndex]; |
| 2061 | 2061 | if (childPkg == null) continue; |
| 2062 | 2062 | |
| 2063 | | var newPath = item.path.concat([key]) |
| 2063 | let newPath = item.path.concat([key]) |
| 2064 | 2064 | list[childPkgIndex] = newPath; |
| 2065 | 2065 | stack.push({ |
| 2066 | 2066 | path: newPath, |
| ... | ... | @@ -2074,37 +2074,37 @@ var zigAnalysis; |
| 2074 | 2074 | |
| 2075 | 2075 | /** @return {CanonDecl[]} */ |
| 2076 | 2076 | function computeCanonDeclPaths() { |
| 2077 | | var list = new Array(zigAnalysis.decls.length); |
| 2077 | let list = new Array(zigAnalysis.decls.length); |
| 2078 | 2078 | canonTypeDecls = new Array(zigAnalysis.types.length); |
| 2079 | 2079 | |
| 2080 | | for (var pkgI = 0; pkgI < zigAnalysis.packages.length; pkgI += 1) { |
| 2080 | for (let pkgI = 0; pkgI < zigAnalysis.packages.length; pkgI += 1) { |
| 2081 | 2081 | 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 = [{ |
| 2085 | 2085 | declNames: /** @type {string[]} */([]), |
| 2086 | 2086 | type: zigAnalysis.types[pkg.main], |
| 2087 | 2087 | }]; |
| 2088 | 2088 | while (stack.length !== 0) { |
| 2089 | | var item = /** @type {{declNames: string[], type: Type}} */(stack.shift()); |
| 2089 | let item = /** @type {{declNames: string[], type: Type}} */(stack.shift()); |
| 2090 | 2090 | |
| 2091 | 2091 | if (isContainerType(item.type)) { |
| 2092 | 2092 | let t = /** @type {ContainerType} */(item.type); |
| 2093 | 2093 | |
| 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]; |
| 2097 | 2097 | if (list[mainDeclIndex] != null) continue; |
| 2098 | 2098 | |
| 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]); |
| 2102 | 2102 | list[mainDeclIndex] = { |
| 2103 | 2103 | pkgNames: pkgNames, |
| 2104 | 2104 | declNames: declNames, |
| 2105 | 2105 | }; |
| 2106 | 2106 | if ("type" in declVal) { |
| 2107 | | var value = zigAnalysis.types[declVal.type]; |
| 2107 | let value = zigAnalysis.types[declVal.type]; |
| 2108 | 2108 | if (declCanRepresentTypeKind(value.kind)) |
| 2109 | 2109 | { |
| 2110 | 2110 | canonTypeDecls[declVal.type] = mainDeclIndex; |
| ... | ... | @@ -2149,8 +2149,8 @@ var zigAnalysis; |
| 2149 | 2149 | |
| 2150 | 2150 | /** @param {string} docs */ |
| 2151 | 2151 | 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]; |
| 2154 | 2154 | return markdown(firstLine); |
| 2155 | 2155 | } |
| 2156 | 2156 | |
| ... | ... | @@ -2172,9 +2172,9 @@ var zigAnalysis; |
| 2172 | 2172 | // Dissect lines and determine the type for each line. |
| 2173 | 2173 | // Also computes indentation level and removes unnecessary whitespace |
| 2174 | 2174 | |
| 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++) { |
| 2178 | 2178 | const raw_line = raw_lines[line_no]; |
| 2179 | 2179 | |
| 2180 | 2180 | const line = { |
| ... | ... | @@ -2292,8 +2292,8 @@ var zigAnalysis; |
| 2292 | 2292 | /** @type {Array<Fmt>} */ |
| 2293 | 2293 | const stack = []; |
| 2294 | 2294 | |
| 2295 | | var innerHTML = ""; |
| 2296 | | var currentRun = ""; |
| 2295 | let innerHTML = ""; |
| 2296 | let currentRun = ""; |
| 2297 | 2297 | |
| 2298 | 2298 | function flushRun() { |
| 2299 | 2299 | if (currentRun != "") { |
| ... | ... | @@ -2302,11 +2302,11 @@ var zigAnalysis; |
| 2302 | 2302 | currentRun = ""; |
| 2303 | 2303 | } |
| 2304 | 2304 | |
| 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; |
| 2308 | 2308 | |
| 2309 | | for (var i = 0; i < innerText.length; i++) { |
| 2309 | for (let i = 0; i < innerText.length; i++) { |
| 2310 | 2310 | |
| 2311 | 2311 | if (parsing_code && in_code) { |
| 2312 | 2312 | if (innerText.substr(i, codetag.length) == codetag) { |
| ... | ... | @@ -2340,7 +2340,7 @@ var zigAnalysis; |
| 2340 | 2340 | currentRun += innerText[i]; |
| 2341 | 2341 | in_code = true; |
| 2342 | 2342 | } else { |
| 2343 | | var any = false; |
| 2343 | let any = false; |
| 2344 | 2344 | for (let idx = /** @type {number} */(stack.length > 0 ? -1 : 0); idx < formats.length; idx++) { |
| 2345 | 2345 | const fmt = idx >= 0 ? formats[idx] : stack[stack.length - 1]; |
| 2346 | 2346 | if (innerText.substr(i, fmt.marker.length) == fmt.marker) { |
| ... | ... | @@ -2414,8 +2414,8 @@ var zigAnalysis; |
| 2414 | 2414 | } |
| 2415 | 2415 | } |
| 2416 | 2416 | |
| 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++) { |
| 2419 | 2419 | const line = lines[line_no]; |
| 2420 | 2420 | |
| 2421 | 2421 | |
| ... | ... | @@ -2473,12 +2473,12 @@ var zigAnalysis; |
| 2473 | 2473 | return; |
| 2474 | 2474 | } |
| 2475 | 2475 | |
| 2476 | | var liDom = domListSearchResults.children[curSearchIndex]; |
| 2476 | let liDom = domListSearchResults.children[curSearchIndex]; |
| 2477 | 2477 | if (liDom == null && domListSearchResults.children.length !== 0) { |
| 2478 | 2478 | liDom = domListSearchResults.children[0]; |
| 2479 | 2479 | } |
| 2480 | 2480 | if (liDom != null) { |
| 2481 | | var aDom = liDom.children[0]; |
| 2481 | let aDom = liDom.children[0]; |
| 2482 | 2482 | location.href = /** @type {string} */(aDom.getAttribute("href")); |
| 2483 | 2483 | curSearchIndex = -1; |
| 2484 | 2484 | } |
| ... | ... | @@ -2490,10 +2490,10 @@ var zigAnalysis; |
| 2490 | 2490 | switch (getKeyString(ev)) { |
| 2491 | 2491 | case "Enter": |
| 2492 | 2492 | // detect if this search changes anything |
| 2493 | | var terms1 = getSearchTerms(); |
| 2493 | let terms1 = getSearchTerms(); |
| 2494 | 2494 | startSearch(); |
| 2495 | 2495 | updateCurNav(); |
| 2496 | | var terms2 = getSearchTerms(); |
| 2496 | let terms2 = getSearchTerms(); |
| 2497 | 2497 | // we might have to wait for onHashChange to trigger |
| 2498 | 2498 | imFeelingLucky = (terms1.join(' ') !== terms2.join(' ')); |
| 2499 | 2499 | if (!imFeelingLucky) activateSelectedResult(); |
| ... | ... | @@ -2552,8 +2552,8 @@ var zigAnalysis; |
| 2552 | 2552 | |
| 2553 | 2553 | /** @param {KeyboardEvent} ev */ |
| 2554 | 2554 | function getKeyString(ev) { |
| 2555 | | var name; |
| 2556 | | var ignoreShift = false; |
| 2555 | let name; |
| 2556 | let ignoreShift = false; |
| 2557 | 2557 | switch (ev.which) { |
| 2558 | 2558 | case 13: |
| 2559 | 2559 | name = "Enter"; |
| ... | ... | @@ -2622,42 +2622,42 @@ function startAsyncSearch() { |
| 2622 | 2622 | } |
| 2623 | 2623 | function startSearch() { |
| 2624 | 2624 | 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); |
| 2628 | 2628 | location.hash = (parts.length === 1) ? (oldHash + newPart2) : (parts[0] + newPart2); |
| 2629 | 2629 | } |
| 2630 | 2630 | function getSearchTerms() { |
| 2631 | | var list = curNavSearch.trim().split(/[ \r\n\t]+/); |
| 2631 | let list = curNavSearch.trim().split(/[ \r\n\t]+/); |
| 2632 | 2632 | list.sort(); |
| 2633 | 2633 | return list; |
| 2634 | 2634 | } |
| 2635 | 2635 | function 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(); |
| 2639 | 2639 | |
| 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); |
| 2642 | 2642 | if (canonPath == null) continue; |
| 2643 | 2643 | |
| 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]; |
| 2649 | 2649 | if (astNode.docs != null) { |
| 2650 | 2650 | fileAndDocs += "\n" + astNode.docs; |
| 2651 | 2651 | } |
| 2652 | | var fullPathSearchTextLower = fullPathSearchText; |
| 2652 | let fullPathSearchTextLower = fullPathSearchText; |
| 2653 | 2653 | if (ignoreCase) { |
| 2654 | 2654 | fullPathSearchTextLower = fullPathSearchTextLower.toLowerCase(); |
| 2655 | 2655 | fileAndDocs = fileAndDocs.toLowerCase(); |
| 2656 | 2656 | } |
| 2657 | 2657 | |
| 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]; |
| 2661 | 2661 | |
| 2662 | 2662 | // exact, case sensitive match of full decl path |
| 2663 | 2663 | if (fullPathSearchText === term) { |
| ... | ... | @@ -2693,16 +2693,16 @@ function renderSearch() { |
| 2693 | 2693 | resizeDomList(domListSearchResults, matchedItems.length, '<li><a href="#"></a></li>'); |
| 2694 | 2694 | |
| 2695 | 2695 | matchedItems.sort(function(a, b) { |
| 2696 | | var cmp = operatorCompare(b.points, a.points); |
| 2696 | let cmp = operatorCompare(b.points, a.points); |
| 2697 | 2697 | if (cmp != 0) return cmp; |
| 2698 | 2698 | return operatorCompare(a.decl.name, b.decl.name); |
| 2699 | 2699 | }); |
| 2700 | 2700 | |
| 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]; |
| 2706 | 2706 | aDom.textContent = lastPkgName + "." + match.path.declNames.join('.'); |
| 2707 | 2707 | aDom.setAttribute('href', navLink(match.path.pkgNames, match.path.declNames)); |
| 2708 | 2708 | } |
| ... | ... | @@ -2715,8 +2715,8 @@ function renderSearch() { |
| 2715 | 2715 | } |
| 2716 | 2716 | |
| 2717 | 2717 | function 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]); |
| 2720 | 2720 | if (curSearchIndex === i) { |
| 2721 | 2721 | liDom.classList.add("selected"); |
| 2722 | 2722 | } else { |
| ... | ... | @@ -2728,10 +2728,10 @@ function renderSearchCursor() { |
| 2728 | 2728 | |
| 2729 | 2729 | |
| 2730 | 2730 | // 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]; |
| 2735 | 2735 | // if (map[fn.src] == null) { |
| 2736 | 2736 | // map[fn.src] = [i]; |
| 2737 | 2737 | // } else { |
| ... | ... | @@ -2757,8 +2757,8 @@ function byNameProperty(a, b) { |
| 2757 | 2757 | * @returns {T} |
| 2758 | 2758 | */ |
| 2759 | 2759 | function clone(obj) { |
| 2760 | | var res = /** @type T */({}); |
| 2761 | | for (var key in obj) { |
| 2760 | let res = /** @type T */({}); |
| 2761 | for (let key in obj) { |
| 2762 | 2762 | res[key] = obj[key]; |
| 2763 | 2763 | } |
| 2764 | 2764 | return res; |