1
0
mirror of https://github.com/golang/go synced 2024-11-05 14:46:11 -07:00
The Go programming language
Go to file
Matt T. Proud a25a8d567b tools/cmd/vet: Create vet checks for examples.
In spite of https://blog.golang.org/examples and
http://golang.org/pkg/testing/#pkg-examples, a number of internal Go
authors have found writing documentation examples to be problematic in
the sense that the syntax is error-prone due to loose coupling with
identifiers found in the source corpus.

This commit introduces a suite of validations for documentation
examples:

    Overall:
    - Correct suffices, if present
    - Niladic function argument and return signatures

    func Example() {}
    func ExampleF() {}
    - F exists
    func ExampleT() {}
    - T exists
    func ExampleT_M() {}
    - T exists
    - M exists within T

Further, if the example is in `package foo_test`, vet attempts to
resolve the respective lookups in `package foo`, if `package foo`
exists (cf., `package stringutil_test`).

Change-Id: Ifa13906363541ebf28325681b749b14b7f8b103d
Reviewed-on: https://go-review.googlesource.com/11982
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-15 07:54:34 +00:00
benchmark/parse benchmark/parse: fix cosmetic defect in error str. 2015-02-02 17:07:43 +00:00
blog tools: add import comments. 2014-12-09 22:42:16 +00:00
cmd tools/cmd/vet: Create vet checks for examples. 2015-09-15 07:54:34 +00:00
container/intsets container/intsets: Intersects, SubsetOf, SymmetricDifference(With) 2015-01-14 20:51:28 +00:00
cover cover: accept inaccurate block endings 2015-01-07 02:00:16 +00:00
go go/ssa: rename some API features (incompatible change) 2015-08-31 22:20:12 +00:00
godoc godoc: fix source links for cmd/* 2015-09-11 00:20:26 +00:00
imports imports: update static stdlib index to go1.5 2015-09-15 05:17:18 +00:00
oracle go/ssa: rename some API features (incompatible change) 2015-08-31 22:20:12 +00:00
playground playground: block share functionality from specific countries 2015-09-02 05:51:01 +00:00
present tools: add import comments. 2014-12-09 22:42:16 +00:00
refactor refactor/eg: refactor to break dependency on go/loader 2015-09-01 14:26:06 +00:00
.gitattributes tools: copying .gitattributes to all subrepositories (fixes windows build) 2014-12-23 06:32:51 +00:00
.gitignore dashboard: rearrange tree, in prep for packagification 2015-01-15 02:58:11 +00:00
AUTHORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
codereview.cfg tools: add codereview.cfg 2015-03-18 17:04:00 +00:00
CONTRIBUTING.md doc: add CONTRIBUTING.md 2015-02-18 23:43:38 +00:00
CONTRIBUTORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
LICENSE LICENSE: add 2012-03-17 15:20:58 +11:00
PATENTS go.empty: add PATENTS file to the subrepo. 2012-04-16 11:24:04 +10:00
README go.tools/README: minor correction. 2013-10-29 13:20:58 -04:00

This subrepository holds the source for various packages and tools that support
the Go programming language.

Some of the tools, godoc and vet for example, are included in binary Go distributions.
Others, including the Go oracle and the test coverage tool, can be fetched with "go get".

Packages include a type-checker for Go and an implementation of the
Static Single Assignment form (SSA) representation for Go programs.

To submit changes to this repository, see http://golang.org/doc/contribute.html.