| 1 | <!-- |
|---|---|
| 2 | Copyright 2009 The Go Authors. All rights reserved. |
| 3 | Use of this source code is governed by a BSD-style |
| 4 | license that can be found in the LICENSE file. |
| 5 | --> |
| 6 | <!-- |
| 7 | Note: Static (i.e., not template-generated) href and id |
| 8 | attributes start with "pkg-" to make it impossible for |
| 9 | them to conflict with generated attributes (some of which |
| 10 | correspond to Go identifiers). |
| 11 | --> |
| 12 | {{with .PDoc}} |
| 13 | <script> |
| 14 | document.ANALYSIS_DATA = {{$.AnalysisData}}; |
| 15 | document.CALLGRAPH = {{$.CallGraph}}; |
| 16 | </script> |
| 17 | |
| 18 | {{if $.IsMain}} |
| 19 | {{/* command documentation */}} |
| 20 | {{comment_html $ .Doc}} |
| 21 | {{else}} |
| 22 | {{/* package documentation */}} |
| 23 | <div id="short-nav"> |
| 24 | <dl> |
| 25 | <dd><code>import "{{html .ImportPath}}"</code></dd> |
| 26 | </dl> |
| 27 | <dl> |
| 28 | <dd><a href="#pkg-overview" class="overviewLink">Overview</a></dd> |
| 29 | <dd><a href="#pkg-index" class="indexLink">Index</a></dd> |
| 30 | {{if $.Examples}} |
| 31 | <dd><a href="#pkg-examples" class="examplesLink">Examples</a></dd> |
| 32 | {{end}} |
| 33 | {{if $.Dirs}} |
| 34 | <dd><a href="#pkg-subdirectories">Subdirectories</a></dd> |
| 35 | {{end}} |
| 36 | </dl> |
| 37 | </div> |
| 38 | <!-- The package's Name is printed as title by the top-level template --> |
| 39 | <div id="pkg-overview" class="toggleVisible"> |
| 40 | <div class="collapsed"> |
| 41 | <h2 class="toggleButton" title="Click to show Overview section">Overview ▹</h2> |
| 42 | </div> |
| 43 | <div class="expanded"> |
| 44 | <h2 class="toggleButton" title="Click to hide Overview section">Overview ▾</h2> |
| 45 | {{comment_html $ .Doc}} |
| 46 | {{example_html $ ""}} |
| 47 | </div> |
| 48 | </div> |
| 49 | |
| 50 | <div id="pkg-index" class="toggleVisible"> |
| 51 | <div class="collapsed"> |
| 52 | <h2 class="toggleButton" title="Click to show Index section">Index ▹</h2> |
| 53 | </div> |
| 54 | <div class="expanded"> |
| 55 | <h2 class="toggleButton" title="Click to hide Index section">Index ▾</h2> |
| 56 | |
| 57 | <!-- Table of contents for API; must be named manual-nav to turn off auto nav. --> |
| 58 | <div id="manual-nav"> |
| 59 | <dl> |
| 60 | {{if .Consts}} |
| 61 | <dd><a href="#pkg-constants">Constants</a></dd> |
| 62 | {{end}} |
| 63 | {{if .Vars}} |
| 64 | <dd><a href="#pkg-variables">Variables</a></dd> |
| 65 | {{end}} |
| 66 | {{range .Funcs}} |
| 67 | {{$name_html := html .Name}} |
| 68 | <dd><a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd> |
| 69 | {{end}} |
| 70 | {{range .Types}} |
| 71 | {{$tname_html := html .Name}} |
| 72 | <dd><a href="#{{$tname_html}}">type {{$tname_html}}</a></dd> |
| 73 | {{range .Funcs}} |
| 74 | {{$name_html := html .Name}} |
| 75 | <dd> <a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd> |
| 76 | {{end}} |
| 77 | {{range .Methods}} |
| 78 | {{$name_html := html .Name}} |
| 79 | <dd> <a href="#{{$tname_html}}.{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd> |
| 80 | {{end}} |
| 81 | {{end}} |
| 82 | {{if $.Notes}} |
| 83 | {{range $marker, $item := $.Notes}} |
| 84 | <dd><a href="#pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</a></dd> |
| 85 | {{end}} |
| 86 | {{end}} |
| 87 | </dl> |
| 88 | </div><!-- #manual-nav --> |
| 89 | |
| 90 | {{if $.Examples}} |
| 91 | <div id="pkg-examples"> |
| 92 | <h3>Examples</h3> |
| 93 | <div class="js-expandAll expandAll collapsed">(Expand All)</div> |
| 94 | <dl> |
| 95 | {{range $.Examples}} |
| 96 | <dd><a class="exampleLink" href="#example_{{.Name}}">{{example_name .Name}}</a></dd> |
| 97 | {{end}} |
| 98 | </dl> |
| 99 | </div> |
| 100 | {{end}} |
| 101 | |
| 102 | {{with .Filenames}} |
| 103 | <h3>Package files</h3> |
| 104 | <p> |
| 105 | <span style="font-size:90%"> |
| 106 | {{range .}} |
| 107 | <a href="{{.|srcLink|html}}">{{.|filename|html}}</a> |
| 108 | {{end}} |
| 109 | </span> |
| 110 | </p> |
| 111 | {{end}} |
| 112 | </div><!-- .expanded --> |
| 113 | </div><!-- #pkg-index --> |
| 114 | |
| 115 | {{if ne $.CallGraph "null"}} |
| 116 | <div id="pkg-callgraph" class="toggle" style="display: none"> |
| 117 | <div class="collapsed"> |
| 118 | <h2 class="toggleButton" title="Click to show Internal Call Graph section">Internal call graph ▹</h2> |
| 119 | </div> <!-- .expanded --> |
| 120 | <div class="expanded"> |
| 121 | <h2 class="toggleButton" title="Click to hide Internal Call Graph section">Internal call graph ▾</h2> |
| 122 | <p> |
| 123 | In the call graph viewer below, each node |
| 124 | is a function belonging to this package |
| 125 | and its children are the functions it |
| 126 | calls—perhaps dynamically. |
| 127 | </p> |
| 128 | <p> |
| 129 | The root nodes are the entry points of the |
| 130 | package: functions that may be called from |
| 131 | outside the package. |
| 132 | There may be non-exported or anonymous |
| 133 | functions among them if they are called |
| 134 | dynamically from another package. |
| 135 | </p> |
| 136 | <p> |
| 137 | Click a node to visit that function's source code. |
| 138 | From there you can visit its callers by |
| 139 | clicking its declaring <code>func</code> |
| 140 | token. |
| 141 | </p> |
| 142 | <p> |
| 143 | Functions may be omitted if they were |
| 144 | determined to be unreachable in the |
| 145 | particular programs or tests that were |
| 146 | analyzed. |
| 147 | </p> |
| 148 | <!-- Zero means show all package entry points. --> |
| 149 | <ul style="margin-left: 0.5in" id="callgraph-0" class="treeview"></ul> |
| 150 | </div> |
| 151 | </div> <!-- #pkg-callgraph --> |
| 152 | {{end}} |
| 153 | |
| 154 | {{with .Consts}} |
| 155 | <h2 id="pkg-constants">Constants</h2> |
| 156 | {{range .}} |
| 157 | {{comment_html $ .Doc}} |
| 158 | <pre>{{node_html $ .Decl true}}</pre> |
| 159 | {{end}} |
| 160 | {{end}} |
| 161 | {{with .Vars}} |
| 162 | <h2 id="pkg-variables">Variables</h2> |
| 163 | {{range .}} |
| 164 | {{comment_html $ .Doc}} |
| 165 | <pre>{{node_html $ .Decl true}}</pre> |
| 166 | {{end}} |
| 167 | {{end}} |
| 168 | {{range .Funcs}} |
| 169 | {{/* Name is a string - no need for FSet */}} |
| 170 | {{$name_html := html .Name}} |
| 171 | <h2 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a> |
| 172 | <a class="permalink" href="#{{$name_html}}">¶</a> |
| 173 | {{$since := since "func" "" .Name $.PDoc.ImportPath}} |
| 174 | {{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}} |
| 175 | </h2> |
| 176 | <pre>{{node_html $ .Decl true}}</pre> |
| 177 | {{comment_html $ .Doc}} |
| 178 | {{example_html $ .Name}} |
| 179 | {{callgraph_html $ "" .Name}} |
| 180 | |
| 181 | {{end}} |
| 182 | {{range .Types}} |
| 183 | {{$tname := .Name}} |
| 184 | {{$tname_html := html .Name}} |
| 185 | <h2 id="{{$tname_html}}">type <a href="{{posLink_url $ .Decl}}">{{$tname_html}}</a> |
| 186 | <a class="permalink" href="#{{$tname_html}}">¶</a> |
| 187 | {{$since := since "type" "" .Name $.PDoc.ImportPath}} |
| 188 | {{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}} |
| 189 | </h2> |
| 190 | {{comment_html $ .Doc}} |
| 191 | <pre>{{node_html $ .Decl true}}</pre> |
| 192 | |
| 193 | {{range .Consts}} |
| 194 | {{comment_html $ .Doc}} |
| 195 | <pre>{{node_html $ .Decl true}}</pre> |
| 196 | {{end}} |
| 197 | |
| 198 | {{range .Vars}} |
| 199 | {{comment_html $ .Doc}} |
| 200 | <pre>{{node_html $ .Decl true}}</pre> |
| 201 | {{end}} |
| 202 | |
| 203 | {{example_html $ $tname}} |
| 204 | {{implements_html $ $tname}} |
| 205 | {{methodset_html $ $tname}} |
| 206 | |
| 207 | {{range .Funcs}} |
| 208 | {{$name_html := html .Name}} |
| 209 | <h3 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a> |
| 210 | <a class="permalink" href="#{{$name_html}}">¶</a> |
| 211 | {{$since := since "func" "" .Name $.PDoc.ImportPath}} |
| 212 | {{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}} |
| 213 | </h3> |
| 214 | <pre>{{node_html $ .Decl true}}</pre> |
| 215 | {{comment_html $ .Doc}} |
| 216 | {{example_html $ .Name}} |
| 217 | {{callgraph_html $ "" .Name}} |
| 218 | {{end}} |
| 219 | |
| 220 | {{range .Methods}} |
| 221 | {{$name_html := html .Name}} |
| 222 | <h3 id="{{$tname_html}}.{{$name_html}}">func ({{html .Recv}}) <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a> |
| 223 | <a class="permalink" href="#{{$tname_html}}.{{$name_html}}">¶</a> |
| 224 | {{$since := since "method" .Recv .Name $.PDoc.ImportPath}} |
| 225 | {{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}} |
| 226 | </h3> |
| 227 | <pre>{{node_html $ .Decl true}}</pre> |
| 228 | {{comment_html $ .Doc}} |
| 229 | {{$name := printf "%s_%s" $tname .Name}} |
| 230 | {{example_html $ $name}} |
| 231 | {{callgraph_html $ .Recv .Name}} |
| 232 | {{end}} |
| 233 | {{end}} |
| 234 | {{end}} |
| 235 | |
| 236 | {{with $.Notes}} |
| 237 | {{range $marker, $content := .}} |
| 238 | <h2 id="pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</h2> |
| 239 | <ul style="list-style: none; padding: 0;"> |
| 240 | {{range .}} |
| 241 | <li><a href="{{posLink_url $ .}}" style="float: left;">☞</a> {{comment_html $ .Body}}</li> |
| 242 | {{end}} |
| 243 | </ul> |
| 244 | {{end}} |
| 245 | {{end}} |
| 246 | {{end}} |
| 247 | |
| 248 | {{with .PAst}} |
| 249 | {{range $filename, $ast := .}} |
| 250 | <a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre> |
| 251 | {{end}} |
| 252 | {{end}} |
| 253 | |
| 254 | {{with .Dirs}} |
| 255 | {{/* DirList entries are numbers and strings - no need for FSet */}} |
| 256 | {{if $.PDoc}} |
| 257 | <h2 id="pkg-subdirectories">Subdirectories</h2> |
| 258 | {{end}} |
| 259 | <div class="pkg-dir"> |
| 260 | <table> |
| 261 | <tr> |
| 262 | <th class="pkg-name">Name</th> |
| 263 | <th class="pkg-synopsis">Synopsis</th> |
| 264 | </tr> |
| 265 | |
| 266 | {{if not (or (eq $.Dirname "/src/cmd") $.DirFlat)}} |
| 267 | <tr> |
| 268 | <td colspan="2"><a href="..">..</a></td> |
| 269 | </tr> |
| 270 | {{end}} |
| 271 | |
| 272 | {{range .List}} |
| 273 | <tr> |
| 274 | {{if $.DirFlat}} |
| 275 | {{if .HasPkg}} |
| 276 | <td class="pkg-name"> |
| 277 | <a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a> |
| 278 | </td> |
| 279 | {{end}} |
| 280 | {{else}} |
| 281 | <td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;"> |
| 282 | <a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a> |
| 283 | </td> |
| 284 | {{end}} |
| 285 | <td class="pkg-synopsis"> |
| 286 | {{html .Synopsis}} |
| 287 | </td> |
| 288 | </tr> |
| 289 | {{end}} |
| 290 | </table> |
| 291 | </div> |
| 292 | {{end}} |
| 293 |
Members