|
458 | 458 | return navLink(canonPkgPaths[pkgIndex], []);
|
459 | 459 | }
|
460 | 460 |
|
461 |
| - function navLinkDecl(childName) { |
| 461 | + function navLinkDecl(declObj) { |
| 462 | + if (declObj.container) { |
| 463 | + var declNames = [declObj.name]; |
| 464 | + var container = zigAnalysis.types[declObj.container]; |
| 465 | + while (container && container.name !== '(root)') { |
| 466 | + var names = container.name.split('.'); |
| 467 | + declNames.unshift(names[names.length - 1]); |
| 468 | + container = zigAnalysis[container.parent]; |
| 469 | + } |
| 470 | + |
| 471 | + return navLink(curNav.pkgNames, declNames); |
| 472 | + } |
| 473 | + |
| 474 | + // hope local lookup is correct |
462 | 475 | return navLink(curNav.pkgNames, curNav.declNames.concat([childName]));
|
463 | 476 | }
|
464 | 477 |
|
|
730 | 743 | var name = '@Frame(';
|
731 | 744 | var fnObj = zigAnalysis.fns[typeObj.fn];
|
732 | 745 | var declObj = fnObj.decl && zigAnalysis.decls[fnObj.decl];
|
733 |
| - var fn_name = declObj ? declObj.name : typeObj.fn_name; |
| 746 | + var fnName = declObj ? declObj.name : typeObj.name; |
734 | 747 | if (wantHtml) {
|
735 | 748 | name += '<span class="tok-fn">';
|
736 | 749 | if (declObj) {
|
737 | 750 | // TODO look up decl package and import path
|
738 |
| - name += '<a href="' + navLinkDecl(declObj.name) + '">' |
739 |
| - + escapeHtml(fn_name) + '</a>'; |
| 751 | + name += '<a href="' + navLinkDecl(declObj) + '">' |
| 752 | + + escapeHtml(fnName) + '</a>'; |
740 | 753 | } else {
|
741 |
| - name += escapeHtml(fn_name); |
| 754 | + name += escapeHtml(fnName); |
742 | 755 | }
|
743 | 756 | name += '</span>';
|
744 | 757 | } else {
|
745 |
| - name += fn_name; |
| 758 | + name += fnName; |
746 | 759 | }
|
747 | 760 | name += ')';
|
748 | 761 | return name;
|
|
994 | 1007 | var aDom = liDom.children[0];
|
995 | 1008 | var decl = typesList[i];
|
996 | 1009 | aDom.textContent = decl.name;
|
997 |
| - aDom.setAttribute('href', navLinkDecl(decl.name)); |
| 1010 | + aDom.setAttribute('href', navLinkDecl(decl)); |
998 | 1011 | }
|
999 | 1012 | domListTypes.innerHTML = "";
|
1000 | 1013 | domListTypes.appendChild(domListTypesFragment);
|
|
1007 | 1020 | var aDom = liDom.children[0];
|
1008 | 1021 | var decl = namespacesList[i];
|
1009 | 1022 | aDom.textContent = decl.name;
|
1010 |
| - aDom.setAttribute('href', navLinkDecl(decl.name)); |
| 1023 | + aDom.setAttribute('href', navLinkDecl(decl)); |
1011 | 1024 | }
|
1012 | 1025 | domListNamespaces.innerHTML = "";
|
1013 | 1026 | domListNamespaces.appendChild(domListNamespacesFragment);
|
|
1021 | 1034 | var aDom = liDom.children[0];
|
1022 | 1035 | var decl = errSetsList[i];
|
1023 | 1036 | aDom.textContent = decl.name;
|
1024 |
| - aDom.setAttribute('href', navLinkDecl(decl.name)); |
| 1037 | + aDom.setAttribute('href', navLinkDecl(decl)); |
1025 | 1038 | }
|
1026 | 1039 | domListErrSets.innerHTML = "";
|
1027 | 1040 | domListErrSets.appendChild(domListErrSetsFragment);
|
|
1037 | 1050 | var tdFnCode = trDom.children[0];
|
1038 | 1051 | var tdDesc = trDom.children[1];
|
1039 | 1052 |
|
1040 |
| - tdFnCode.innerHTML = typeIndexName(decl.type, true, true, decl, navLinkDecl(decl.name)); |
| 1053 | + tdFnCode.innerHTML = typeIndexName(decl.type, true, true, decl, navLinkDecl(decl)); |
1041 | 1054 |
|
1042 | 1055 | var docs = zigAnalysis.astNodes[decl.src].docs;
|
1043 | 1056 | if (docs != null) {
|
|
1098 | 1111 | var tdType = trDom.children[1];
|
1099 | 1112 | var tdDesc = trDom.children[2];
|
1100 | 1113 |
|
1101 |
| - tdNameA.setAttribute('href', navLinkDecl(decl.name)); |
| 1114 | + tdNameA.setAttribute('href', navLinkDecl(decl)); |
1102 | 1115 | tdNameA.textContent = decl.name;
|
1103 | 1116 |
|
1104 | 1117 | tdType.innerHTML = typeIndexName(decl.type, true, true);
|
|
1127 | 1140 | var tdType = trDom.children[1];
|
1128 | 1141 | var tdDesc = trDom.children[2];
|
1129 | 1142 |
|
1130 |
| - tdNameA.setAttribute('href', navLinkDecl(decl.name)); |
| 1143 | + tdNameA.setAttribute('href', navLinkDecl(decl)); |
1131 | 1144 | tdNameA.textContent = decl.name;
|
1132 | 1145 |
|
1133 | 1146 | tdType.innerHTML = typeIndexName(decl.type, true, true);
|
|
0 commit comments