| <!-- |
| Copyright 2009 The Go Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style |
| license that can be found in the LICENSE file. |
| --> |
| <!-- |
| Note: Static (i.e., not template-generated) href and id |
| attributes start with "pkg-" to make it impossible for |
| them to conflict with generated attributes (some of which |
| correspond to Go identifiers). |
| --> |
| {{with .PDoc}} |
| <script> |
| document.ANALYSIS_DATA = {{$.AnalysisData}}; |
| document.CALLGRAPH = {{$.CallGraph}}; |
| </script> |
| |
| {{if $.IsMain}} |
| {{/* command documentation */}} |
| {{comment_html .Doc}} |
| {{else}} |
| {{/* package documentation */}} |
| <div id="short-nav"> |
| <dl> |
| <dd><code>import "{{html .ImportPath}}"</code></dd> |
| </dl> |
| <dl> |
| <dd><a href="#pkg-overview" class="overviewLink">Overview</a></dd> |
| <dd><a href="#pkg-index" class="indexLink">Index</a></dd> |
| {{if $.Examples}} |
| <dd><a href="#pkg-examples" class="examplesLink">Examples</a></dd> |
| {{end}} |
| {{if $.Dirs}} |
| <dd><a href="#pkg-subdirectories">Subdirectories</a></dd> |
| {{end}} |
| </dl> |
| </div> |
| <!-- The package's Name is printed as title by the top-level template --> |
| <div id="pkg-overview" class="toggleVisible"> |
| <div class="collapsed"> |
| <h2 class="toggleButton" title="Click to show Overview section">Overview ▹</h2> |
| </div> |
| <div class="expanded"> |
| <h2 class="toggleButton" title="Click to hide Overview section">Overview ▾</h2> |
| {{comment_html .Doc}} |
| {{example_html $ ""}} |
| </div> |
| </div> |
| |
| <div id="pkg-index" class="toggleVisible"> |
| <div class="collapsed"> |
| <h2 class="toggleButton" title="Click to show Index section">Index ▹</h2> |
| </div> |
| <div class="expanded"> |
| <h2 class="toggleButton" title="Click to hide Index section">Index ▾</h2> |
| |
| <!-- Table of contents for API; must be named manual-nav to turn off auto nav. --> |
| <div id="manual-nav"> |
| <dl> |
| {{if .Consts}} |
| <dd><a href="#pkg-constants">Constants</a></dd> |
| {{end}} |
| {{if .Vars}} |
| <dd><a href="#pkg-variables">Variables</a></dd> |
| {{end}} |
| {{range .Funcs}} |
| {{$name_html := html .Name}} |
| <dd><a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd> |
| {{end}} |
| {{range .Types}} |
| {{$tname_html := html .Name}} |
| <dd><a href="#{{$tname_html}}">type {{$tname_html}}</a></dd> |
| {{range .Funcs}} |
| {{$name_html := html .Name}} |
| <dd> <a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd> |
| {{end}} |
| {{range .Methods}} |
| {{$name_html := html .Name}} |
| <dd> <a href="#{{$tname_html}}.{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd> |
| {{end}} |
| {{end}} |
| {{if $.Notes}} |
| {{range $marker, $item := $.Notes}} |
| <dd><a href="#pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</a></dd> |
| {{end}} |
| {{end}} |
| </dl> |
| </div><!-- #manual-nav --> |
| |
| {{if $.Examples}} |
| <div id="pkg-examples"> |
| <h3>Examples</h3> |
| <div class="js-expandAll expandAll collapsed">(Expand All)</div> |
| <dl> |
| {{range $.Examples}} |
| <dd><a class="exampleLink" href="#example_{{.Name}}">{{example_name .Name}}</a></dd> |
| {{end}} |
| </dl> |
| </div> |
| {{end}} |
| |
| {{with .Filenames}} |
| <h3>Package files</h3> |
| <p> |
| <span style="font-size:90%"> |
| {{range .}} |
| <a href="{{.|srcLink|html}}">{{.|filename|html}}</a> |
| {{end}} |
| </span> |
| </p> |
| {{end}} |
| </div><!-- .expanded --> |
| </div><!-- #pkg-index --> |
| |
| {{if ne $.CallGraph "null"}} |
| <div id="pkg-callgraph" class="toggle" style="display: none"> |
| <div class="collapsed"> |
| <h2 class="toggleButton" title="Click to show Internal Call Graph section">Internal call graph ▹</h2> |
| </div> <!-- .expanded --> |
| <div class="expanded"> |
| <h2 class="toggleButton" title="Click to hide Internal Call Graph section">Internal call graph ▾</h2> |
| <p> |
| In the call graph viewer below, each node |
| is a function belonging to this package |
| and its children are the functions it |
| calls—perhaps dynamically. |
| </p> |
| <p> |
| The root nodes are the entry points of the |
| package: functions that may be called from |
| outside the package. |
| There may be non-exported or anonymous |
| functions among them if they are called |
| dynamically from another package. |
| </p> |
| <p> |
| Click a node to visit that function's source code. |
| From there you can visit its callers by |
| clicking its declaring <code>func</code> |
| token. |
| </p> |
| <p> |
| Functions may be omitted if they were |
| determined to be unreachable in the |
| particular programs or tests that were |
| analyzed. |
| </p> |
| <!-- Zero means show all package entry points. --> |
| <ul style="margin-left: 0.5in" id="callgraph-0" class="treeview"></ul> |
| </div> |
| </div> <!-- #pkg-callgraph --> |
| {{end}} |
| |
| {{with .Consts}} |
| <h2 id="pkg-constants">Constants</h2> |
| {{range .}} |
| {{comment_html .Doc}} |
| <pre>{{node_html $ .Decl true}}</pre> |
| {{end}} |
| {{end}} |
| {{with .Vars}} |
| <h2 id="pkg-variables">Variables</h2> |
| {{range .}} |
| {{comment_html .Doc}} |
| <pre>{{node_html $ .Decl true}}</pre> |
| {{end}} |
| {{end}} |
| {{range .Funcs}} |
| {{/* Name is a string - no need for FSet */}} |
| {{$name_html := html .Name}} |
| <h2 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a> |
| <a class="permalink" href="#{{$name_html}}">¶</a> |
| {{$since := since "func" "" .Name $.PDoc.ImportPath}} |
| {{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}} |
| </h2> |
| <pre>{{node_html $ .Decl true}}</pre> |
| {{comment_html .Doc}} |
| {{example_html $ .Name}} |
| {{callgraph_html $ "" .Name}} |
| |
| {{end}} |
| {{range .Types}} |
| {{$tname := .Name}} |
| {{$tname_html := html .Name}} |
| <h2 id="{{$tname_html}}">type <a href="{{posLink_url $ .Decl}}">{{$tname_html}}</a> |
| <a class="permalink" href="#{{$tname_html}}">¶</a> |
| {{$since := since "type" "" .Name $.PDoc.ImportPath}} |
| {{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}} |
| </h2> |
| {{comment_html .Doc}} |
| <pre>{{node_html $ .Decl true}}</pre> |
| |
| {{range .Consts}} |
| {{comment_html .Doc}} |
| <pre>{{node_html $ .Decl true}}</pre> |
| {{end}} |
| |
| {{range .Vars}} |
| {{comment_html .Doc}} |
| <pre>{{node_html $ .Decl true}}</pre> |
| {{end}} |
| |
| {{example_html $ $tname}} |
| {{implements_html $ $tname}} |
| {{methodset_html $ $tname}} |
| |
| {{range .Funcs}} |
| {{$name_html := html .Name}} |
| <h3 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a> |
| <a class="permalink" href="#{{$name_html}}">¶</a> |
| {{$since := since "func" "" .Name $.PDoc.ImportPath}} |
| {{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}} |
| </h3> |
| <pre>{{node_html $ .Decl true}}</pre> |
| {{comment_html .Doc}} |
| {{example_html $ .Name}} |
| {{callgraph_html $ "" .Name}} |
| {{end}} |
| |
| {{range .Methods}} |
| {{$name_html := html .Name}} |
| <h3 id="{{$tname_html}}.{{$name_html}}">func ({{html .Recv}}) <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a> |
| <a class="permalink" href="#{{$tname_html}}.{{$name_html}}">¶</a> |
| {{$since := since "method" .Recv .Name $.PDoc.ImportPath}} |
| {{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}} |
| </h3> |
| <pre>{{node_html $ .Decl true}}</pre> |
| {{comment_html .Doc}} |
| {{$name := printf "%s_%s" $tname .Name}} |
| {{example_html $ $name}} |
| {{callgraph_html $ .Recv .Name}} |
| {{end}} |
| {{end}} |
| {{end}} |
| |
| {{with $.Notes}} |
| {{range $marker, $content := .}} |
| <h2 id="pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</h2> |
| <ul style="list-style: none; padding: 0;"> |
| {{range .}} |
| <li><a href="{{posLink_url $ .}}" style="float: left;">☞</a> {{comment_html .Body}}</li> |
| {{end}} |
| </ul> |
| {{end}} |
| {{end}} |
| {{end}} |
| |
| {{with .PAst}} |
| {{range $filename, $ast := .}} |
| <a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre> |
| {{end}} |
| {{end}} |
| |
| {{with .Dirs}} |
| {{/* DirList entries are numbers and strings - no need for FSet */}} |
| {{if $.PDoc}} |
| <h2 id="pkg-subdirectories">Subdirectories</h2> |
| {{end}} |
| <div class="pkg-dir"> |
| <table> |
| <tr> |
| <th class="pkg-name">Name</th> |
| <th class="pkg-synopsis">Synopsis</th> |
| </tr> |
| |
| {{if not ((eq $.Dirname "/src/cmd") $.DirFlat)}} |
| <tr> |
| <td colspan="2"><a href="..">..</a></td> |
| </tr> |
| {{end}} |
| |
| {{range .List}} |
| <tr> |
| {{if $.DirFlat}} |
| {{if .HasPkg}} |
| <td class="pkg-name"> |
| <a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a> |
| </td> |
| {{end}} |
| {{else}} |
| <td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;"> |
| <a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a> |
| </td> |
| {{end}} |
| <td class="pkg-synopsis"> |
| {{html .Synopsis}} |
| </td> |
| </tr> |
| {{end}} |
| </table> |
| </div> |
| {{end}} |