mirror of
https://github.com/golang/go
synced 2024-11-05 19:46:11 -07:00
57f659e14d
This change reads $GOROOT/api/go1.*.txt when godoc starts and caches information about which versions of Go introduce functions, types, and methods. This information is displayed currently only in HTML output. Functions, types, and methods introduced as part of Go 1 are not annotated, as their presence at that version is implied. This change does not address constants or variables, and completely ignores the syscall package. The former are future work, the latter is likely an exercise in futility. In all cases, this is because the story around displaying the version information is not well developed. Fixes golang/go#5778 Change-Id: Ieb3cc0da7b18e195bc9c443f14fd8a82e8b2bbf8 Reviewed-on: https://go-review.googlesource.com/85396 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Devon O'Dell <dhobsd@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
291 lines
8.7 KiB
HTML
291 lines
8.7 KiB
HTML
<!--
|
|
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 type='text/javascript'>
|
|
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 -->
|
|
|
|
<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 -->
|
|
|
|
{{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}}
|