...

Directory /src/golang.org/x/tools

Name Synopsis
..
benchmark
parse Package parse provides support for parsing benchmark results as generated by 'go test -bench'.
blog Package blog implements a web server for articles written in present format.
atom Package atom defines XML data structures for an Atom feed.
cmd
auth
authtest authtest is a diagnostic tool for implementations of the GOAUTH protocol described in https://golang.org/issue/26232.
cookieauth cookieauth uses a “Netscape cookie file” to implement the GOAUTH protocol described in https://golang.org/issue/26232.
gitauth gitauth uses 'git credential' to implement the GOAUTH protocol described in https://golang.org/issue/26232.
netrcauth netrcauth uses a .netrc file (or _netrc file on Windows) to implement the GOAUTH protocol described in https://golang.org/issue/26232.
benchcmp Deprecated: benchcmp is deprecated in favor of benchstat: golang.org/x/perf/cmd/benchstat
bundle Bundle creates a single-source-file version of a source package suitable for inclusion in a particular target package.
callgraph callgraph: a tool for reporting the call graph of a Go program.
compilebench Compilebench benchmarks the speed of the Go compiler.
cover Cover is a program for analyzing the coverage profiles generated by 'go test -coverprofile=cover.out'.
digraph The digraph command performs queries over unlabelled directed graphs represented in text form.
eg The eg command performs example-based refactoring.
file2fuzz file2fuzz converts binary files, such as those used by go-fuzz, to the Go fuzzing corpus format.
fiximports The fiximports command fixes import declarations to use the canonical import path for packages that have an "import comment" as defined by https://golang.org/s/go14customimport.
getgo The getgo command installs Go to the user's system.
server Command server serves get.golang.org, redirecting users to the appropriate getgo installer based on the request path.
go-contrib-init The go-contrib-init command helps new Go contributors get their development environment set up for the Go contribution process.
godex The godex command prints (dumps) exported information of packages or selected package objects.
godoc Godoc extracts and generates documentation for Go programs.
goimports Command goimports updates your Go import lines, adding missing ones and removing unreferenced ones.
gomvpkg The gomvpkg command moves go packages, updating import declarations.
gorename The gorename command performs precise type-safe renaming of identifiers in Go source code.
gotype The gotype command, like the front-end of a Go compiler, parses and type-checks a single Go package.
goyacc Goyacc is a version of yacc for Go.
guru guru: a tool for answering questions about Go source code.
serial Package serial defines the guru's schema for -json output.
html2article This program takes an HTML file and outputs a corresponding article file in present format.
present Present displays slide presentations and articles.
present2md Present2md converts legacy-syntax present files to Markdown-syntax present files.
signature-fuzzer
fuzz-driver
fuzz-runner
splitdwarf Splitdwarf uncompresses and copies the DWARF segment of a Mach-O executable into the "dSYM" file expected by lldb and ports of gdb on OSX.
ssadump ssadump: a tool for displaying and interpreting the SSA form of Go programs.
stress The stress utility is intended for catching sporadic failures.
stringer Stringer is a tool to automate the creation of methods that satisfy the fmt.Stringer interface.
toolstash Toolstash provides a way to save, run, and restore a known good copy of the Go toolchain and to compare the object files generated by two toolchains.
container
intsets Package intsets provides Sparse, a compact and fast representation for sparse sets of int values.
copyright Package copyright checks that files have the correct copyright notices.
cover Package cover provides support for parsing coverage profiles generated by "go test -coverprofile=cover.out".
go
analysis Package analysis defines the interface between a modular static analysis and an analysis driver program.
analysistest Package analysistest provides utilities for testing analyzers.
multichecker Package multichecker defines the main function for an analysis driver with several analyzers.
passes
asmdecl Package asmdecl defines an Analyzer that reports mismatches between assembly files and Go declarations.
assign Package assign defines an Analyzer that detects useless assignments.
atomic Package atomic defines an Analyzer that checks for common mistakes using the sync/atomic package.
atomicalign Package atomicalign defines an Analyzer that checks for non-64-bit-aligned arguments to sync/atomic functions.
bools Package bools defines an Analyzer that detects common mistakes involving boolean operators.
buildssa Package buildssa defines an Analyzer that constructs the SSA representation of an error-free package and returns the set of all functions within it.
buildtag Package buildtag defines an Analyzer that checks build tags.
cgocall Package cgocall defines an Analyzer that detects some violations of the cgo pointer passing rules.
composite Package composite defines an Analyzer that checks for unkeyed composite literals.
copylock Package copylock defines an Analyzer that checks for locks erroneously passed by value.
ctrlflow Package ctrlflow is an analysis that provides a syntactic control-flow graph (CFG) for the body of a function.
deepequalerrors Package deepequalerrors defines an Analyzer that checks for the use of reflect.DeepEqual with error values.
errorsas The errorsas package defines an Analyzer that checks that the second argument to errors.As is a pointer to a type implementing error.
fieldalignment Package fieldalignment defines an Analyzer that detects structs that would use less memory if their fields were sorted.
cmd
fieldalignment
findcall Package findcall defines an Analyzer that serves as a trivial example and test of the Analysis API.
cmd
findcall The findcall command runs the findcall analyzer.
framepointer Package framepointer defines an Analyzer that reports assembly code that clobbers the frame pointer before saving it.
httpresponse Package httpresponse defines an Analyzer that checks for mistakes using HTTP responses.
ifaceassert Package ifaceassert defines an Analyzer that flags impossible interface-interface type assertions.
cmd
ifaceassert The ifaceassert command runs the ifaceassert analyzer.
inspect Package inspect defines an Analyzer that provides an AST inspector (golang.org/x/tools/go/ast/inspector.Inspector) for the syntax trees of a package.
loopclosure Package loopclosure defines an Analyzer that checks for references to enclosing loop variables from within nested functions.
lostcancel Package lostcancel defines an Analyzer that checks for failure to call a context cancellation function.
cmd
lostcancel The lostcancel command applies the golang.org/x/tools/go/analysis/passes/lostcancel analysis to the specified packages of Go source code.
nilfunc Package nilfunc defines an Analyzer that checks for useless comparisons against nil.
nilness Package nilness inspects the control-flow graph of an SSA function and reports errors such as nil pointer dereferences and degenerate nil pointer comparisons.
cmd
nilness The nilness command applies the golang.org/x/tools/go/analysis/passes/nilness analysis to the specified packages of Go source code.
pkgfact The pkgfact package is a demonstration and test of the package fact mechanism.
printf Package printf defines an Analyzer that checks consistency of Printf format strings and arguments.
reflectvaluecompare Package reflectvaluecompare defines an Analyzer that checks for accidentally using == or reflect.DeepEqual to compare reflect.Value values.
shadow Package shadow defines an Analyzer that checks for shadowed variables.
cmd
shadow The shadow command runs the shadow analyzer.
shift Package shift defines an Analyzer that checks for shifts that exceed the width of an integer.
sigchanyzer Package sigchanyzer defines an Analyzer that detects misuse of unbuffered signal as argument to signal.Notify.
sortslice Package sortslice defines an Analyzer that checks for calls to sort.Slice that do not use a slice type as first argument.
stdmethods Package stdmethods defines an Analyzer that checks for misspellings in the signatures of methods similar to well-known interfaces.
stringintconv Package stringintconv defines an Analyzer that flags type conversions from integers to strings.
cmd
stringintconv The stringintconv command runs the stringintconv analyzer.
structtag Package structtag defines an Analyzer that checks struct field tags are well formed.
testinggoroutine
tests Package tests defines an Analyzer that checks for common mistaken usages of tests and examples.
timeformat Package timeformat defines an Analyzer that checks for the use of time.Format or time.Parse calls with a bad format.
unmarshal The unmarshal package defines an Analyzer that checks for passing non-pointer or non-interface types to unmarshal and decode functions.
cmd
unmarshal The unmarshal command runs the unmarshal analyzer.
unreachable Package unreachable defines an Analyzer that checks for unreachable code.
unsafeptr Package unsafeptr defines an Analyzer that checks for invalid conversions of uintptr to unsafe.Pointer.
unusedresult Package unusedresult defines an analyzer that checks for unused results of calls to certain pure functions.
unusedwrite Package unusedwrite checks for unused writes to the elements of a struct or array object.
usesgenerics Package usesgenerics defines an Analyzer that checks for usage of generic features added in Go 1.18.
singlechecker Package singlechecker defines the main function for an analysis driver with only a single analysis.
unitchecker The unitchecker package defines the main function for an analysis driver that analyzes a single compilation unit during a build.
ast
astutil Package astutil contains common utilities for working with the Go AST.
inspector Package inspector provides helper functions for traversal over the syntax trees of a package, including node filtering by type, and materialization of the traversal stack.
buildutil Package buildutil provides utilities related to the go/build package in the standard library.
callgraph Package callgraph defines the call graph and various algorithms and utilities to operate on it.
cha Package cha computes the call graph of a Go program using the Class Hierarchy Analysis (CHA) algorithm.
rta This package provides Rapid Type Analysis (RTA) for Go, a fast algorithm for call graph construction and discovery of reachable code (and hence dead code) and runtime types.
static Package static computes the call graph of a Go program containing only static call edges.
vta Package vta computes the call graph of a Go program using the Variable Type Analysis (VTA) algorithm originally described in “Practical Virtual Method Call Resolution for Java," Vijay Sundaresan, Laurie Hendren, Chrislain Razafimahefa, Raja Vallée-Rai, Patrick Lam, Etienne Gagnon, and Charles Godin.
cfg Package cfg constructs a simple control-flow graph (CFG) of the statements and expressions within a single function.
expect Package expect provides support for interpreting structured comments in Go source code as test expectations.
gccgoexportdata Package gccgoexportdata provides functions for reading export data files containing type information produced by the gccgo compiler.
gcexportdata Package gcexportdata provides functions for locating, reading, and writing export data files containing type information produced by the gc compiler.
loader Package loader loads a complete Go program from source code, parsing and type-checking the initial packages plus their transitive closure of dependencies.
packages Package packages loads Go packages for inspection and analysis.
gopackages The gopackages command is a diagnostic tool that demonstrates how to use golang.org/x/tools/go/packages to load, parse, type-check, and print one or more Go packages.
packagestest Package packagestest creates temporary projects on disk for testing go tools on.
pointer Package pointer implements Andersen's analysis, an inclusion-based pointer analysis algorithm first described in (Andersen, 1994).
ssa Package ssa defines a representation of the elements of Go programs (packages, types, functions, variables and constants) using a static single-assignment (SSA) form intermediate representation (IR) for the bodies of functions.
interp Package ssa/interp defines an interpreter for the SSA representation of Go programs.
ssautil
types
objectpath Package objectpath defines a naming scheme for types.Objects (that is, named entities in Go programs) relative to their enclosing package.
typeutil Package typeutil defines various utilities for types, such as Map, a mapping from types.Type to interface{} values.
vcs Package vcs exposes functions for resolving import paths and using version control systems, which can be used to implement behavior similar to the standard "go get" command.
godoc Package godoc is a work-in-progress (2013-07-17) package to begin splitting up the godoc binary into multiple pieces.
analysis Package analysis performs type and pointer analysis and generates mark-up for the Go source view.
redirect Package redirect provides hooks to register HTTP handlers that redirect old godoc paths to their new equivalents.
static Package static exports a map of static file content that supports the godoc user interface.
util Package util contains utility types and functions for godoc.
vfs Package vfs defines types for abstract file system access and provides an implementation accessing the file system of the underlying OS.
gatefs Package gatefs provides an implementation of the FileSystem interface that wraps another FileSystem and limits its concurrency.
httpfs Package httpfs implements http.FileSystem using a godoc vfs.FileSystem.
mapfs Package mapfs file provides an implementation of the FileSystem interface based on the contents of a map[string]string.
zipfs Package zipfs file provides an implementation of the FileSystem interface based on the contents of a .zip file.
gopls Gopls (pronounced “go please”) is an LSP server for Go.
api-diff
doc Command generate creates API (settings, etc) documentation in JSON and Markdown for machine and human consumption.
integration
govim
release
imports Package imports implements a Go pretty-printer (like package "go/format") that also adds or removes import statements as necessary.
playground Package playground registers an HTTP handler at "/compile" that proxies requests to the golang.org playground service.
socket Package socket implements an WebSocket-based playground backend.
present Package present implements parsing and rendering of present files, which can be slide presentations as in golang.org/x/tools/cmd/present or articles as in golang.org/x/blog (the Go blog).
refactor
eg Package eg implements the example-based refactoring tool whose command-line is defined in golang.org/x/tools/cmd/eg.
importgraph Package importgraph computes the forward and reverse import dependency graphs for all packages in a Go workspace.
rename Package rename contains the implementation of the 'gorename' command whose main function is in golang.org/x/tools/cmd/gorename.
satisfy Package satisfy inspects the type-checked ASTs of Go packages and reports the set of discovered type constraints of the form (lhs, rhs Type) where lhs is a non-trivial interface, rhs satisfies this interface, and this fact is necessary for the package to be well-typed.
txtar Package txtar implements a trivial text-based file archive format.