| ... | ... | @@ -50,6 +50,8 @@ |
| 50 | 50 | var typeKindErrSetId; |
| 51 | 51 | var typeKindErrUnionId; |
| 52 | 52 | var typeKindStructId; |
| 53 | var typeKindUnionId; |
| 54 | var typeKindEnumId; |
| 53 | 55 | findTypeKinds(); |
| 54 | 56 | |
| 55 | 57 | // for each package, is an array with packages to get to this one |
| ... | ... | @@ -748,27 +750,20 @@ |
| 748 | 750 | domSectFns.classList.remove("hidden"); |
| 749 | 751 | } |
| 750 | 752 | |
| 751 | | if (container.fields.length !== 0) { |
| 752 | | resizeDomList(domListFields, container.fields.length, |
| 753 | | '<tr><td></td><td></td><td></td></tr>'); |
| 753 | if (container.fields != null && container.fields.length !== 0) { |
| 754 | resizeDomList(domListFields, container.fields.length, '<div></div>'); |
| 754 | 755 | for (var i = 0; i < container.fields.length; i += 1) { |
| 755 | 756 | var field = container.fields[i]; |
| 756 | | var trDom = domListFields.children[i]; |
| 757 | var divDom = domListFields.children[i]; |
| 757 | 758 | |
| 758 | | var tdName = trDom.children[0]; |
| 759 | | var tdType = trDom.children[1]; |
| 760 | | var tdDesc = trDom.children[2]; |
| 761 | | |
| 762 | | tdName.textContent = field.name; |
| 763 | | |
| 764 | | tdType.innerHTML = typeIndexName(field.type, true, true); |
| 759 | var html = '<pre>' + escapeHtml(field.name) + ": " + |
| 760 | typeIndexName(field.type, true, true) + ',</pre>'; |
| 765 | 761 | |
| 766 | 762 | var docs = zigAnalysis.astNodes[field.src].docs; |
| 767 | 763 | if (docs != null) { |
| 768 | | tdDesc.innerHTML = shortDescMarkdown(docs); |
| 769 | | } else { |
| 770 | | tdDesc.textContent = ""; |
| 764 | html += markdown(docs); |
| 771 | 765 | } |
| 766 | divDom.innerHTML = html; |
| 772 | 767 | } |
| 773 | 768 | domSectFields.classList.remove("hidden"); |
| 774 | 769 | } |
| ... | ... | @@ -846,6 +841,10 @@ |
| 846 | 841 | typeKindErrUnionId = i; |
| 847 | 842 | } else if (zigAnalysis.typeKinds[i] === "Struct") { |
| 848 | 843 | typeKindStructId = i; |
| 844 | } else if (zigAnalysis.typeKinds[i] === "Union") { |
| 845 | typeKindUnionId = i; |
| 846 | } else if (zigAnalysis.typeKinds[i] === "Enum") { |
| 847 | typeKindEnumId = i; |
| 849 | 848 | } |
| 850 | 849 | } |
| 851 | 850 | if (typeKindTypeId == null) { |
| ... | ... | @@ -881,6 +880,12 @@ |
| 881 | 880 | if (typeKindStructId == null) { |
| 882 | 881 | throw new Error("No type kind 'Struct' found"); |
| 883 | 882 | } |
| 883 | if (typeKindUnionId == null) { |
| 884 | throw new Error("No type kind 'Union' found"); |
| 885 | } |
| 886 | if (typeKindEnumId == null) { |
| 887 | throw new Error("No type kind 'Enum' found"); |
| 888 | } |
| 884 | 889 | } |
| 885 | 890 | |
| 886 | 891 | function findTypeTypeId() { |
| ... | ... | @@ -970,6 +975,13 @@ |
| 970 | 975 | return list; |
| 971 | 976 | } |
| 972 | 977 | |
| 978 | function declCanRepresentTypeKind(typeKind) { |
| 979 | return typeKind === typeKindErrSetId || |
| 980 | typeKind === typeKindStructId || |
| 981 | typeKind === typeKindUnionId || |
| 982 | typeKind === typeKindEnumId; |
| 983 | } |
| 984 | |
| 973 | 985 | function computeCanonDeclPaths() { |
| 974 | 986 | var list = new Array(zigAnalysis.decls.length); |
| 975 | 987 | canonTypeDecls = new Array(zigAnalysis.types.length); |
| ... | ... | @@ -991,7 +1003,9 @@ |
| 991 | 1003 | if (list[mainDeclIndex] != null) continue; |
| 992 | 1004 | |
| 993 | 1005 | var decl = zigAnalysis.decls[mainDeclIndex]; |
| 994 | | if (decl.type === typeTypeId) { |
| 1006 | if (decl.type === typeTypeId && |
| 1007 | declCanRepresentTypeKind(zigAnalysis.types[decl.value].kind)) |
| 1008 | { |
| 995 | 1009 | canonTypeDecls[decl.value] = mainDeclIndex; |
| 996 | 1010 | } |
| 997 | 1011 | var declNames = item.declNames.concat([decl.name]); |