| ... | ... | @@ -29,6 +29,7 @@ var zigAnalysis; |
| 29 | 29 | const domListValues = document.getElementById("listValues"); |
| 30 | 30 | const domFnProto = document.getElementById("fnProto"); |
| 31 | 31 | const domFnProtoCode = document.getElementById("fnProtoCode"); |
| 32 | const domFnSourceLink = document.getElementById("fnSourceLink"); |
| 32 | 33 | const domSectParams = document.getElementById("sectParams"); |
| 33 | 34 | const domListParams = document.getElementById("listParams"); |
| 34 | 35 | const domTldDocs = document.getElementById("tldDocs"); |
| ... | ... | @@ -548,6 +549,8 @@ var zigAnalysis; |
| 548 | 549 | wantLink: true, |
| 549 | 550 | fnDecl, |
| 550 | 551 | }); |
| 552 | |
| 553 | domFnSourceLink.innerHTML = "[<a target=\"_blank\" href=\"" + sourceFileLink(fnDecl) + "\">src</a>]"; |
| 551 | 554 | |
| 552 | 555 | let docsSource = null; |
| 553 | 556 | let srcNode = getAstNode(fnDecl.src); |
| ... | ... | @@ -1839,7 +1842,14 @@ var zigAnalysis; |
| 1839 | 1842 | } |
| 1840 | 1843 | case typeKinds.Fn: { |
| 1841 | 1844 | let fnObj = typeObj; |
| 1845 | let fnDecl = opts.fnDecl; |
| 1846 | let linkFnNameDecl = opts.linkFnNameDecl; |
| 1847 | opts.fnDecl = null; |
| 1848 | opts.linkFnNameDecl = null; |
| 1842 | 1849 | let payloadHtml = ""; |
| 1850 | if (opts.addParensIfFnSignature && fnObj.src == 0){ |
| 1851 | payloadHtml += "("; |
| 1852 | } |
| 1843 | 1853 | if (opts.wantHtml) { |
| 1844 | 1854 | if (fnObj.is_extern) { |
| 1845 | 1855 | payloadHtml += "pub extern "; |
| ... | ... | @@ -1847,21 +1857,16 @@ var zigAnalysis; |
| 1847 | 1857 | if (fnObj.has_lib_name) { |
| 1848 | 1858 | payloadHtml += '"' + fnObj.lib_name + '" '; |
| 1849 | 1859 | } |
| 1850 | | payloadHtml += '<span class="tok-kw">fn</span>'; |
| 1851 | | if (opts.fnDecl) { |
| 1852 | | payloadHtml += ' <span class="tok-fn">'; |
| 1853 | | if (opts.linkFnNameDecl) { |
| 1860 | payloadHtml += '<span class="tok-kw">fn </span>'; |
| 1861 | if (fnDecl) { |
| 1862 | payloadHtml += '<span class="tok-fn">'; |
| 1863 | if (linkFnNameDecl) { |
| 1854 | 1864 | payloadHtml += |
| 1855 | | '<a href="' + |
| 1856 | | opts.linkFnNameDecl + |
| 1857 | | '">' + |
| 1858 | | escapeHtml(opts.fnDecl.name) + |
| 1865 | '<a href="' + linkFnNameDecl + '">' + |
| 1866 | escapeHtml(fnDecl.name) + |
| 1859 | 1867 | "</a>"; |
| 1860 | 1868 | } else { |
| 1861 | | payloadHtml += escapeHtml(opts.fnDecl.name); |
| 1862 | | payloadHtml = "<a target=\"_blank\" href=\"" + |
| 1863 | | sourceFileLink(opts.fnDecl) + "\">" + |
| 1864 | | escapeHtml(opts.fnDecl.name) + "</a>"; |
| 1869 | payloadHtml += escapeHtml(fnDecl.name); |
| 1865 | 1870 | } |
| 1866 | 1871 | payloadHtml += "</span>"; |
| 1867 | 1872 | } |
| ... | ... | @@ -1872,10 +1877,12 @@ var zigAnalysis; |
| 1872 | 1877 | if (fnObj.params) { |
| 1873 | 1878 | let fields = null; |
| 1874 | 1879 | let isVarArgs = false; |
| 1875 | | let fnNode = getAstNode(fnObj.src); |
| 1876 | | fields = fnNode.fields; |
| 1877 | | isVarArgs = fnNode.varArgs; |
| 1878 | | |
| 1880 | if (fnObj.src != 0) { |
| 1881 | let fnNode = getAstNode(fnObj.src); |
| 1882 | fields = fnNode.fields; |
| 1883 | isVarArgs = fnNode.varArgs; |
| 1884 | } |
| 1885 | |
| 1879 | 1886 | for (let i = 0; i < fnObj.params.length; i += 1) { |
| 1880 | 1887 | if (i != 0) { |
| 1881 | 1888 | payloadHtml += ", "; |
| ... | ... | @@ -1989,10 +1996,9 @@ var zigAnalysis; |
| 1989 | 1996 | } |
| 1990 | 1997 | } else if ("type" in value) { |
| 1991 | 1998 | let name = exprName(value, { |
| 1999 | ...opts, |
| 1992 | 2000 | wantHtml: false, |
| 1993 | 2001 | wantLink: false, |
| 1994 | | fnDecl: opts.fnDecl, |
| 1995 | | linkFnNameDecl: opts.linkFnNameDecl, |
| 1996 | 2002 | }); |
| 1997 | 2003 | payloadHtml += '<span class="tok-kw">' + name + "</span>"; |
| 1998 | 2004 | } else if ("binOpIndex" in value) { |
| ... | ... | @@ -2032,12 +2038,19 @@ var zigAnalysis; |
| 2032 | 2038 | payloadHtml += "!"; |
| 2033 | 2039 | } |
| 2034 | 2040 | if (fnObj.ret != null) { |
| 2035 | | payloadHtml += exprName(fnObj.ret, opts); |
| 2041 | payloadHtml += exprName(fnObj.ret, { |
| 2042 | ...opts, |
| 2043 | addParensIfFnSignature: true, |
| 2044 | }); |
| 2036 | 2045 | } else if (opts.wantHtml) { |
| 2037 | 2046 | payloadHtml += '<span class="tok-kw">anytype</span>'; |
| 2038 | 2047 | } else { |
| 2039 | 2048 | payloadHtml += "anytype"; |
| 2040 | 2049 | } |
| 2050 | |
| 2051 | if (opts.addParensIfFnSignature && fnObj.src == 0){ |
| 2052 | payloadHtml += ")"; |
| 2053 | } |
| 2041 | 2054 | return payloadHtml; |
| 2042 | 2055 | } |
| 2043 | 2056 | // if (wantHtml) { |