tools/ directory
Directories ¶
Path | Synopsis |
---|---|
benchmark | |
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. |
blog/atom | Package atom defines XML data structures for an Atom feed. |
cmd | |
cmd/auth | |
cmd/auth/authtest | authtest is a diagnostic tool for implementations of the GOAUTH protocol described in https://golang.org/issue/26232. |
cmd/auth/cookieauth | cookieauth uses a “Netscape cookie file” to implement the GOAUTH protocol described in https://golang.org/issue/26232. |
cmd/auth/gitauth | gitauth uses 'git credential' to implement the GOAUTH protocol described in https://golang.org/issue/26232. |
cmd/auth/netrcauth | netrcauth uses a .netrc file (or _netrc file on Windows) to implement the GOAUTH protocol described in https://golang.org/issue/26232. |
cmd/benchcmp | Deprecated: benchcmp is deprecated in favor of benchstat: golang.org/x/perf/cmd/benchstat |
cmd/bisect | Bisect finds changes responsible for causing a failure. |
cmd/bundle | Bundle creates a single-source-file version of a source package suitable for inclusion in a particular target package. |
cmd/callgraph | callgraph: a tool for reporting the call graph of a Go program. |
cmd/compilebench | Compilebench benchmarks the speed of the Go compiler. |
cmd/deadcode | The deadcode command reports unreachable functions in Go programs. |
cmd/digraph | |
cmd/eg | The eg command performs example-based refactoring. |
cmd/file2fuzz | file2fuzz converts binary files, such as those used by go-fuzz, to the Go fuzzing corpus format. |
cmd/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. |
cmd/go-contrib-init | The go-contrib-init command helps new Go contributors get their development environment set up for the Go contribution process. |
cmd/godex | The godex command prints (dumps) exported information of packages or selected package objects. |
cmd/godoc | Godoc extracts and generates documentation for Go programs. |
cmd/goimports | Command goimports updates your Go import lines, adding missing ones and removing unreferenced ones. |
cmd/gomvpkg | The gomvpkg command moves go packages, updating import declarations. |
cmd/gonew | Gonew starts a new Go module by copying a template module. |
cmd/gotype | The gotype command, like the front-end of a Go compiler, parses and type-checks a single Go package. |
cmd/goyacc | Goyacc is a version of yacc for Go. |
cmd/html2article | This program takes an HTML file and outputs a corresponding article file in present format. |
cmd/present | Present displays slide presentations and articles. |
cmd/present2md | Present2md converts legacy-syntax present files to Markdown-syntax present files. |
cmd/signature-fuzzer | |
cmd/signature-fuzzer/fuzz-driver | |
cmd/signature-fuzzer/fuzz-runner | |
cmd/signature-fuzzer/internal | |
cmd/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. |
cmd/splitdwarf/internal | |
cmd/ssadump | ssadump: a tool for displaying and interpreting the SSA form of Go programs. |
cmd/stress | The stress utility is intended for catching sporadic failures. |
cmd/stringer | Stringer is a tool to automate the creation of methods that satisfy the fmt.Stringer interface. |
cmd/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 | |
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 | |
go/analysis | Package analysis defines the interface between a modular static analysis and an analysis driver program. |
go/analysis/analysistest | Package analysistest provides utilities for testing analyzers. |
go/analysis/checker | Package checker provides an analysis driver based on the golang.org/x/tools/go/packages representation of a set of packages and all their dependencies, as produced by packages.Load. |
go/analysis/internal | |
go/analysis/multichecker | Package multichecker defines the main function for an analysis driver with several analyzers. |
go/analysis/passes | |
go/analysis/passes/appends | Package appends defines an Analyzer that detects if there is only one variable in append. |
go/analysis/passes/asmdecl | Package asmdecl defines an Analyzer that reports mismatches between assembly files and Go declarations. |
go/analysis/passes/assign | Package assign defines an Analyzer that detects useless assignments. |
go/analysis/passes/atomic | Package atomic defines an Analyzer that checks for common mistakes using the sync/atomic package. |
go/analysis/passes/atomicalign | Package atomicalign defines an Analyzer that checks for non-64-bit-aligned arguments to sync/atomic functions. |
go/analysis/passes/bools | Package bools defines an Analyzer that detects common mistakes involving boolean operators. |
go/analysis/passes/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. |
go/analysis/passes/buildtag | Package buildtag defines an Analyzer that checks build tags. |
go/analysis/passes/cgocall | Package cgocall defines an Analyzer that detects some violations of the cgo pointer passing rules. |
go/analysis/passes/composite | Package composite defines an Analyzer that checks for unkeyed composite literals. |
go/analysis/passes/copylock | Package copylock defines an Analyzer that checks for locks erroneously passed by value. |
go/analysis/passes/ctrlflow | Package ctrlflow is an analysis that provides a syntactic control-flow graph (CFG) for the body of a function. |
go/analysis/passes/deepequalerrors | Package deepequalerrors defines an Analyzer that checks for the use of reflect.DeepEqual with error values. |
go/analysis/passes/defers | Package defers defines an Analyzer that checks for common mistakes in defer statements. |
go/analysis/passes/defers/cmd | |
go/analysis/passes/defers/cmd/defers | The defers command runs the defers analyzer. |
go/analysis/passes/directive | Package directive defines an Analyzer that checks known Go toolchain directives. |
go/analysis/passes/errorsas | The errorsas package defines an Analyzer that checks that the second argument to errors.As is a pointer to a type implementing error. |
go/analysis/passes/fieldalignment | Package fieldalignment defines an Analyzer that detects structs that would use less memory if their fields were sorted. |
go/analysis/passes/fieldalignment/cmd | |
go/analysis/passes/fieldalignment/cmd/fieldalignment | |
go/analysis/passes/findcall | Package findcall defines an Analyzer that serves as a trivial example and test of the Analysis API. |
go/analysis/passes/findcall/cmd | |
go/analysis/passes/findcall/cmd/findcall | The findcall command runs the findcall analyzer. |
go/analysis/passes/framepointer | Package framepointer defines an Analyzer that reports assembly code that clobbers the frame pointer before saving it. |
go/analysis/passes/httpmux | |
go/analysis/passes/httpmux/cmd | |
go/analysis/passes/httpmux/cmd/httpmux | The httpmux command runs the httpmux analyzer. |
go/analysis/passes/httpresponse | Package httpresponse defines an Analyzer that checks for mistakes using HTTP responses. |
go/analysis/passes/ifaceassert | Package ifaceassert defines an Analyzer that flags impossible interface-interface type assertions. |
go/analysis/passes/ifaceassert/cmd | |
go/analysis/passes/ifaceassert/cmd/ifaceassert | The ifaceassert command runs the ifaceassert analyzer. |
go/analysis/passes/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. |
go/analysis/passes/internal | |
go/analysis/passes/loopclosure | Package loopclosure defines an Analyzer that checks for references to enclosing loop variables from within nested functions. |
go/analysis/passes/lostcancel | Package lostcancel defines an Analyzer that checks for failure to call a context cancellation function. |
go/analysis/passes/lostcancel/cmd | |
go/analysis/passes/lostcancel/cmd/lostcancel | The lostcancel command applies the golang.org/x/tools/go/analysis/passes/lostcancel analysis to the specified packages of Go source code. |
go/analysis/passes/nilfunc | Package nilfunc defines an Analyzer that checks for useless comparisons against nil. |
go/analysis/passes/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. |
go/analysis/passes/nilness/cmd | |
go/analysis/passes/nilness/cmd/nilness | The nilness command applies the golang.org/x/tools/go/analysis/passes/nilness analysis to the specified packages of Go source code. |
go/analysis/passes/pkgfact | The pkgfact package is a demonstration and test of the package fact mechanism. |
go/analysis/passes/printf | Package printf defines an Analyzer that checks consistency of Printf format strings and arguments. |
go/analysis/passes/reflectvaluecompare | Package reflectvaluecompare defines an Analyzer that checks for accidentally using == or reflect.DeepEqual to compare reflect.Value values. |
go/analysis/passes/shadow | Package shadow defines an Analyzer that checks for shadowed variables. |
go/analysis/passes/shadow/cmd | |
go/analysis/passes/shadow/cmd/shadow | The shadow command runs the shadow analyzer. |
go/analysis/passes/shift | Package shift defines an Analyzer that checks for shifts that exceed the width of an integer. |
go/analysis/passes/sigchanyzer | Package sigchanyzer defines an Analyzer that detects misuse of unbuffered signal as argument to signal.Notify. |
go/analysis/passes/slog | Package slog defines an Analyzer that checks for mismatched key-value pairs in log/slog calls. |
go/analysis/passes/sortslice | Package sortslice defines an Analyzer that checks for calls to sort.Slice that do not use a slice type as first argument. |
go/analysis/passes/stdmethods | Package stdmethods defines an Analyzer that checks for misspellings in the signatures of methods similar to well-known interfaces. |
go/analysis/passes/stdversion | Package stdversion reports uses of standard library symbols that are "too new" for the Go version in force in the referring file. |
go/analysis/passes/stringintconv | Package stringintconv defines an Analyzer that flags type conversions from integers to strings. |
go/analysis/passes/stringintconv/cmd | |
go/analysis/passes/stringintconv/cmd/stringintconv | The stringintconv command runs the stringintconv analyzer. |
go/analysis/passes/structtag | Package structtag defines an Analyzer that checks struct field tags are well formed. |
go/analysis/passes/testinggoroutine | Package testinggoroutine defines an Analyzerfor detecting calls to Fatal from a test goroutine. |
go/analysis/passes/tests | Package tests defines an Analyzer that checks for common mistaken usages of tests and examples. |
go/analysis/passes/timeformat | Package timeformat defines an Analyzer that checks for the use of time.Format or time.Parse calls with a bad format. |
go/analysis/passes/unmarshal | The unmarshal package defines an Analyzer that checks for passing non-pointer or non-interface types to unmarshal and decode functions. |
go/analysis/passes/unmarshal/cmd | |
go/analysis/passes/unmarshal/cmd/unmarshal | The unmarshal command runs the unmarshal analyzer. |
go/analysis/passes/unreachable | Package unreachable defines an Analyzer that checks for unreachable code. |
go/analysis/passes/unsafeptr | Package unsafeptr defines an Analyzer that checks for invalid conversions of uintptr to unsafe.Pointer. |
go/analysis/passes/unusedresult | Package unusedresult defines an analyzer that checks for unused results of calls to certain pure functions. |
go/analysis/passes/unusedresult/cmd | |
go/analysis/passes/unusedresult/cmd/unusedresult | The unusedresult command applies the golang.org/x/tools/go/analysis/passes/unusedresult analysis to the specified packages of Go source code. |
go/analysis/passes/unusedwrite | Package unusedwrite checks for unused writes to the elements of a struct or array object. |
go/analysis/passes/usesgenerics | Package usesgenerics defines an Analyzer that checks for usage of generic features added in Go 1.18. |
go/analysis/passes/waitgroup | Package waitgroup defines an Analyzer that detects simple misuses of sync.WaitGroup. |
go/analysis/singlechecker | Package singlechecker defines the main function for an analysis driver with only a single analysis. |
go/analysis/unitchecker | The unitchecker package defines the main function for an analysis driver that analyzes a single compilation unit during a build. |
go/ast | |
go/ast/astutil | Package astutil contains common utilities for working with the Go AST. |
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. |
go/buildutil | Package buildutil provides utilities related to the go/build package in the standard library. |
go/callgraph | Package callgraph defines the call graph and various algorithms and utilities to operate on it. |
go/callgraph/cha | Package cha computes the call graph of a Go program using the Class Hierarchy Analysis (CHA) algorithm. |
go/callgraph/internal | |
go/callgraph/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. |
go/callgraph/static | Package static computes the call graph of a Go program containing only static call edges. |
go/callgraph/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. |
go/callgraph/vta/internal | |
go/cfg | Package cfg constructs a simple control-flow graph (CFG) of the statements and expressions within a single function. |
godoc | Package godoc is a work-in-progress (2013-07-17) package to begin splitting up the godoc binary into multiple pieces. |
godoc/analysis | Package analysis performs type and pointer analysis and generates mark-up for the Go source view. |
godoc/redirect | Package redirect provides hooks to register HTTP handlers that redirect old godoc paths to their new equivalents. |
godoc/static | Package static exports a map of static file content that supports the godoc user interface. |
godoc/util | Package util contains utility types and functions for godoc. |
godoc/vfs | Package vfs defines types for abstract file system access and provides an implementation accessing the file system of the underlying OS. |
godoc/vfs/gatefs | Package gatefs provides an implementation of the FileSystem interface that wraps another FileSystem and limits its concurrency. |
godoc/vfs/httpfs | Package httpfs implements http.FileSystem using a godoc vfs.FileSystem. |
godoc/vfs/mapfs | Package mapfs file provides an implementation of the FileSystem interface based on the contents of a map[string]string. |
godoc/vfs/zipfs | Package zipfs file provides an implementation of the FileSystem interface based on the contents of a .zip file. |
go/expect | Package expect provides support for interpreting structured comments in Go source code (including go.mod and go.work files) as test expectations. |
go/gccgoexportdata | Package gccgoexportdata provides functions for reading export data files containing type information produced by the gccgo compiler. |
go/gcexportdata | Package gcexportdata provides functions for reading and writing export data, which is a serialized description of the API of a Go package including the names, kinds, types, and locations of all exported declarations. |
go/internal | |
go/loader | Package loader loads a complete Go program from source code, parsing and type-checking the initial packages plus their transitive closure of dependencies. |
go/packages | Package packages loads Go packages for inspection and analysis. |
go/packages/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. |
go/packages/internal | |
go/packages/packagestest | Package packagestest creates temporary projects on disk for testing go tools on. |
go/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. |
go/ssa/interp | Package ssa/interp defines an interpreter for the SSA representation of Go programs. |
go/ssa/ssautil | |
go/types | |
go/types/internal | |
go/types/objectpath | Package objectpath defines a naming scheme for types.Objects (that is, named entities in Go programs) relative to their enclosing package. |
go/types/typeutil | Package typeutil defines various utilities for types, such as Map, a hash table that maps types.Type to any value. |
imports | Package imports implements a Go pretty-printer (like package "go/format") that also adds or removes import statements as necessary. |
internal | |
playground | Package playground registers an HTTP handler at "/compile" that proxies requests to the golang.org playground service. |
playground/socket | Package socket implements a 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 | |
refactor/eg | Package eg implements the example-based refactoring tool whose command-line is defined in golang.org/x/tools/cmd/eg. |
refactor/importgraph | Package importgraph computes the forward and reverse import dependency graphs for all packages in a Go workspace. |
refactor/rename | Package rename contains the obsolete implementation of the deleted golang.org/x/tools/cmd/gorename. |
refactor/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. |
- Version
- v0.30.0 (latest)
- Published
- Feb 10, 2025
- Platform
- linux/amd64
- Last checked
- 2 hours ago –
Tools for package owners.