| ... | ... | @@ -6,6 +6,8 @@ |
| 6 | 6 | var domListPkgs = document.getElementById("listPkgs"); |
| 7 | 7 | var domSectTypes = document.getElementById("sectTypes"); |
| 8 | 8 | var domListTypes = document.getElementById("listTypes"); |
| 9 | var domSectNamespaces = document.getElementById("sectNamespaces"); |
| 10 | var domListNamespaces = document.getElementById("listNamespaces"); |
| 9 | 11 | var domSectErrSets = document.getElementById("sectErrSets"); |
| 10 | 12 | var domListErrSets = document.getElementById("listErrSets"); |
| 11 | 13 | var domSectFns = document.getElementById("sectFns"); |
| ... | ... | @@ -47,6 +49,7 @@ |
| 47 | 49 | var typeKindNoReturnId; |
| 48 | 50 | var typeKindErrSetId; |
| 49 | 51 | var typeKindErrUnionId; |
| 52 | var typeKindStructId; |
| 50 | 53 | findTypeKinds(); |
| 51 | 54 | |
| 52 | 55 | // for each package, is an array with packages to get to this one |
| ... | ... | @@ -104,6 +107,7 @@ |
| 104 | 107 | domFnDocs.classList.add("hidden"); |
| 105 | 108 | domSectPkgs.classList.add("hidden"); |
| 106 | 109 | domSectTypes.classList.add("hidden"); |
| 110 | domSectNamespaces.classList.add("hidden"); |
| 107 | 111 | domSectErrSets.classList.add("hidden"); |
| 108 | 112 | domSectFns.classList.add("hidden"); |
| 109 | 113 | domSectFields.classList.add("hidden"); |
| ... | ... | @@ -185,6 +189,13 @@ |
| 185 | 189 | return typeObj.kind === typeKindErrSetId; |
| 186 | 190 | } |
| 187 | 191 | |
| 192 | function typeIsStructWithNoFields(typeIndex) { |
| 193 | var typeObj = zigAnalysis.types[typeIndex]; |
| 194 | if (typeObj.kind !== typeKindStructId) |
| 195 | return false; |
| 196 | return typeObj.fields == null || typeObj.fields.length === 0; |
| 197 | } |
| 198 | |
| 188 | 199 | function typeIsGenericFn(typeIndex) { |
| 189 | 200 | var typeObj = zigAnalysis.types[typeIndex]; |
| 190 | 201 | if (typeObj.kind !== typeKindFnId) { |
| ... | ... | @@ -628,6 +639,7 @@ |
| 628 | 639 | |
| 629 | 640 | function renderContainer(container) { |
| 630 | 641 | var typesList = []; |
| 642 | var namespacesList = []; |
| 631 | 643 | var errSetsList = []; |
| 632 | 644 | var fnsList = []; |
| 633 | 645 | var varsList = []; |
| ... | ... | @@ -641,6 +653,8 @@ |
| 641 | 653 | if (decl.type == typeTypeId) { |
| 642 | 654 | if (typeIsErrSet(decl.value)) { |
| 643 | 655 | errSetsList.push(decl); |
| 656 | } else if (typeIsStructWithNoFields(decl.value)) { |
| 657 | namespacesList.push(decl); |
| 644 | 658 | } else { |
| 645 | 659 | typesList.push(decl); |
| 646 | 660 | } |
| ... | ... | @@ -659,6 +673,9 @@ |
| 659 | 673 | typesList.sort(function(a, b) { |
| 660 | 674 | return operatorCompare(a.name, b.name); |
| 661 | 675 | }); |
| 676 | namespacesList.sort(function(a, b) { |
| 677 | return operatorCompare(a.name, b.name); |
| 678 | }); |
| 662 | 679 | errSetsList.sort(function(a, b) { |
| 663 | 680 | return operatorCompare(a.name, b.name); |
| 664 | 681 | }); |
| ... | ... | @@ -680,6 +697,17 @@ |
| 680 | 697 | } |
| 681 | 698 | domSectTypes.classList.remove("hidden"); |
| 682 | 699 | } |
| 700 | if (namespacesList.length !== 0) { |
| 701 | resizeDomList(domListNamespaces, namespacesList.length, '<li><a href="#"></a></li>'); |
| 702 | for (var i = 0; i < namespacesList.length; i += 1) { |
| 703 | var liDom = domListNamespaces.children[i]; |
| 704 | var aDom = liDom.children[0]; |
| 705 | var decl = namespacesList[i]; |
| 706 | aDom.textContent = decl.name; |
| 707 | aDom.setAttribute('href', navLinkDecl(decl.name)); |
| 708 | } |
| 709 | domSectNamespaces.classList.remove("hidden"); |
| 710 | } |
| 683 | 711 | |
| 684 | 712 | if (errSetsList.length !== 0) { |
| 685 | 713 | resizeDomList(domListErrSets, errSetsList.length, '<li><a href="#"></a></li>'); |
| ... | ... | @@ -816,6 +844,8 @@ |
| 816 | 844 | typeKindErrSetId = i; |
| 817 | 845 | } else if (zigAnalysis.typeKinds[i] === "ErrorUnion") { |
| 818 | 846 | typeKindErrUnionId = i; |
| 847 | } else if (zigAnalysis.typeKinds[i] === "Struct") { |
| 848 | typeKindStructId = i; |
| 819 | 849 | } |
| 820 | 850 | } |
| 821 | 851 | if (typeKindTypeId == null) { |
| ... | ... | @@ -848,6 +878,9 @@ |
| 848 | 878 | if (typeKindErrUnionId == null) { |
| 849 | 879 | throw new Error("No type kind 'ErrorUnion' found"); |
| 850 | 880 | } |
| 881 | if (typeKindStructId == null) { |
| 882 | throw new Error("No type kind 'Struct' found"); |
| 883 | } |
| 851 | 884 | } |
| 852 | 885 | |
| 853 | 886 | function findTypeTypeId() { |