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