tools: golang.org/x/tools/go

Directories

PathSynopsis
analysisThe analysis package defines the interface between a modular static analysis and an analysis driver program.
analysis/analysistestPackage analysistest provides utilities for testing analyzers.
analysis/cmd/vetThe vet command is a static checker for Go programs.
analysis/internal/checkerPackage checker defines the implementation of the checker commands.
analysis/multicheckerPackage multichecker defines the main function for an analysis driver with several analyzers.
analysis/passes/asmdeclPackage asmdecl defines an Analyzer that reports mismatches between assembly files and Go declarations.
analysis/passes/assignPackage assign defines an Analyzer that detects useless assignments.
analysis/passes/atomicPackage atomic defines an Analyzer that checks for common mistakes using the sync/atomic package.
analysis/passes/boolsPackage bools defines an Analyzer that detects common mistakes involving boolean operators.
analysis/passes/buildssaPackage buildssa defines an Analyzer that constructs the SSA representation of an error-free package and returns the set of all functions within it.
analysis/passes/buildtagPackage buildtag defines an Analyzer that checks build tags.
analysis/passes/cgocallPackage cgocall defines an Analyzer that detects some violations of the cgo pointer passing rules.
analysis/passes/compositePackage composite defines an Analyzer that checks for unkeyed composite literals.
analysis/passes/copylockPackage copylock defines an Analyzer that checks for locks erroneously passed by value.
analysis/passes/ctrlflowPackage ctrlflow is an analysis that provides a syntactic control-flow graph (CFG) for the body of a function.
analysis/passes/findcallThe findcall package defines an Analyzer that serves as a trivial example and test of the Analysis API.
analysis/passes/httpresponsePackage httpresponse defines an Analyzer that checks for mistakes using HTTP responses.
analysis/passes/inspectPackage inspect defines an Analyzer that provides an AST inspector (golang.org/x/tools/go/ast/inspect.Inspect) for the syntax trees of a package.
analysis/passes/internal/analysisutilPackage analysisutil defines various helper functions used by two or more packages beneath go/analysis.
analysis/passes/loopclosurePackage loopclosure defines an Analyzer that checks for references to enclosing loop variables from within nested functions.
analysis/passes/lostcancelPackage lostcancel defines an Analyzer that checks for failure to call a context cancelation function.
analysis/passes/nilfuncPackage nilfunc defines an Analyzer that checks for useless comparisons against nil.
analysis/passes/nilnessPackage nilness inspects the control-flow graph of an SSA function and reports errors such as nil pointer dereferences and degenerate nil pointer comparisons.
analysis/passes/pkgfactThe pkgfact package is a demonstration and test of the package fact mechanism.
analysis/passes/printf
analysis/passes/shadow
analysis/passes/shiftPackage shift defines an Analyzer that checks for shifts that exceed the width of an integer.
analysis/passes/stdmethodsPackage stdmethods defines an Analyzer that checks for misspellings in the signatures of methods similar to well-known interfaces.
analysis/passes/structtagPackage structtag defines an Analyzer that checks struct field tags are well formed.
analysis/passes/testsPackage tests defines an Analyzer that checks for common mistaken usages of tests and examples.
analysis/passes/unreachablePackage unreachable defines an Analyzer that checks for unreachable code.
analysis/passes/unsafeptrPackage unsafeptr defines an Analyzer that checks for invalid conversions of uintptr to unsafe.Pointer.
analysis/passes/unusedresultPackage unusedresult defines an analyzer that checks for unused results of calls to certain pure functions.
analysis/singlecheckerPackage singlechecker defines the main function for an analysis driver with only a single analysis.
ast/astutilPackage astutil contains common utilities for working with the Go AST.
ast/inspectorPackage inspector provides helper functions for traversal over the syntax trees of a package, including node filtering by type, and materialization of the traversal stack.
buildutilPackage buildutil provides utilities related to the go/build package in the standard library.
callgraphPackage callgraph defines the call graph and various algorithms and utilities to operate on it.
callgraph/chaPackage cha computes the call graph of a Go program using the Class Hierarchy Analysis (CHA) algorithm.
callgraph/rtaThis 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.
callgraph/staticPackage static computes the call graph of a Go program containing only static call edges.
cfgThis package constructs a simple control-flow graph (CFG) of the statements and expressions within a single function.
gccgoexportdataPackage gccgoexportdata provides functions for reading export data files containing type information produced by the gccgo compiler.
gcexportdataPackage gcexportdata provides functions for locating, reading, and writing export data files containing type information produced by the gc compiler.
internal/cgo
internal/gccgoimporterPackage gccgoimporter implements Import for gccgo-generated object files.
internal/gcimporterPackage gcimporter provides various functions for reading gc-generated object files that can be used to implement the Importer interface defined by the Go 1.5 standard library package.
loaderPackage loader loads a complete Go program from source code, parsing and type-checking the initial packages plus their transitive closure of dependencies.
packagesPackage packages loads Go packages for inspection and analysis.
packages/gopackagesThe 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.
packages/packagestestPackage packagestest creates temporary projects on disk for testing go tools on.
pointerPackage pointer implements Andersen's analysis, an inclusion-based pointer analysis algorithm first described in (Andersen, 1994).
ssaPackage 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.
ssa/interpPackage ssa/interp defines an interpreter for the SSA representation of Go programs.
ssa/ssautil
types/objectpathPackage objectpath defines a naming scheme for types.Objects (that is, named entities in Go programs) relative to their enclosing package.
types/typeutilPackage typeutil defines various utilities for types, such as Map, a mapping from types.Type to interface{} values.
vcsPackage 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.

Updated 2018-10-21. Refresh now. Tools for package owners.