analysis
|
Package analysis defines the interface between a modular static analysis and an analysis driver program. |
analysis/analysistest
|
Package analysistest provides utilities for testing analyzers. |
analysis/internal/analysisflags
|
Package analysisflags defines helpers for processing flags of analysis driver tools. |
analysis/internal/checker
|
Package checker defines the implementation of the checker commands. |
analysis/internal/facts
|
Package facts defines a serializable set of analysis.Fact. |
analysis/multichecker
|
Package multichecker defines the main function for an analysis driver with several analyzers. |
analysis/passes/asmdecl
|
Package asmdecl defines an Analyzer that reports mismatches between assembly files and Go declarations. |
analysis/passes/assign
|
Package assign defines an Analyzer that detects useless assignments. |
analysis/passes/atomic
|
Package atomic defines an Analyzer that checks for common mistakes using the sync/atomic package. |
analysis/passes/atomicalign
|
Package atomicalign defines an Analyzer that checks for non-64-bit-aligned arguments to sync/atomic functions. |
analysis/passes/bools
|
Package bools defines an Analyzer that detects common mistakes involving boolean operators. |
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. |
analysis/passes/buildtag
|
Package buildtag defines an Analyzer that checks build tags. |
analysis/passes/cgocall
|
Package cgocall defines an Analyzer that detects some violations of the cgo pointer passing rules. |
analysis/passes/composite
|
Package composite defines an Analyzer that checks for unkeyed composite literals. |
analysis/passes/copylock
|
Package copylock defines an Analyzer that checks for locks erroneously passed by value. |
analysis/passes/ctrlflow
|
Package ctrlflow is an analysis that provides a syntactic control-flow graph (CFG) for the body of a function. |
analysis/passes/deepequalerrors
|
Package deepequalerrors defines an Analyzer that checks for the use of reflect.DeepEqual with error values. |
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. |
analysis/passes/fieldalignment
|
Package fieldalignment defines an Analyzer that detects structs that would take less memory if their fields were sorted. |
analysis/passes/fieldalignment/cmd/fieldalignment
|
|
analysis/passes/findcall
|
Package findcall defines an Analyzer that serves as a trivial example and test of the Analysis API. |
analysis/passes/findcall/cmd/findcall
|
The findcall command runs the findcall analyzer. |
analysis/passes/framepointer
|
Package framepointer defines an Analyzer that reports assembly code that clobbers the frame pointer before saving it. |
analysis/passes/httpresponse
|
Package httpresponse defines an Analyzer that checks for mistakes using HTTP responses. |
analysis/passes/ifaceassert
|
Package ifaceassert defines an Analyzer that flags impossible interface-interface type assertions. |
analysis/passes/ifaceassert/cmd/ifaceassert
|
The ifaceassert command runs the ifaceassert analyzer. |
analysis/passes/inspect
|
Package 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/analysisutil
|
Package analysisutil defines various helper functions used by two or more packages beneath go/analysis. |
analysis/passes/loopclosure
|
Package loopclosure defines an Analyzer that checks for references to enclosing loop variables from within nested functions. |
analysis/passes/lostcancel
|
Package lostcancel defines an Analyzer that checks for failure to call a context cancellation function. |
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. |
analysis/passes/nilfunc
|
Package nilfunc defines an Analyzer that checks for useless comparisons against nil. |
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. |
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. |
analysis/passes/pkgfact
|
The pkgfact package is a demonstration and test of the package fact mechanism. |
analysis/passes/printf
|
Package printf defines an Analyzer that checks consistency of Printf format strings and arguments. |
analysis/passes/shadow
|
Package shadow defines an Analyzer that checks for shadowed variables. |
analysis/passes/shadow/cmd/shadow
|
The shadow command runs the shadow analyzer. |
analysis/passes/shift
|
Package shift defines an Analyzer that checks for shifts that exceed the width of an integer. |
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. |
analysis/passes/stdmethods
|
Package stdmethods defines an Analyzer that checks for misspellings in the signatures of methods similar to well-known interfaces. |
analysis/passes/stringintconv
|
Package stringintconv defines an Analyzer that flags type conversions from integers to strings. |
analysis/passes/stringintconv/cmd/stringintconv
|
The stringintconv command runs the stringintconv analyzer. |
analysis/passes/structtag
|
Package structtag defines an Analyzer that checks struct field tags are well formed. |
analysis/passes/testinggoroutine
|
|
analysis/passes/tests
|
Package tests defines an Analyzer that checks for common mistaken usages of tests and examples. |
analysis/passes/unmarshal
|
The unmarshal package defines an Analyzer that checks for passing non-pointer or non-interface types to unmarshal and decode functions. |
analysis/passes/unmarshal/cmd/unmarshal
|
The unmarshal command runs the unmarshal analyzer. |
analysis/passes/unreachable
|
Package unreachable defines an Analyzer that checks for unreachable code. |
analysis/passes/unsafeptr
|
Package unsafeptr defines an Analyzer that checks for invalid conversions of uintptr to unsafe.Pointer. |
analysis/passes/unusedresult
|
Package unusedresult defines an analyzer that checks for unused results of calls to certain pure functions. |
analysis/singlechecker
|
Package singlechecker defines the main function for an analysis driver with only a single analysis. |
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. |
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. |
callgraph/cha
|
Package cha computes the call graph of a Go program using the Class Hierarchy Analysis (CHA) algorithm. |
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. |
callgraph/static
|
Package static computes the call graph of a Go program containing only static call edges. |
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. |
internal/cgo
|
|
internal/gccgoimporter
|
Package gccgoimporter implements Import for gccgo-generated object files. |
internal/gcimporter
|
Package 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. |
internal/packagesdriver
|
Package packagesdriver fetches type sizes for go/packages and go/analysis. |
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. |
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. |
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. |
ssa/interp
|
Package ssa/interp defines an interpreter for the SSA representation of Go programs. |
ssa/ssautil
|
|
types/objectpath
|
Package objectpath defines a naming scheme for types.Objects (that is, named entities in Go programs) relative to their enclosing package. |
types/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. |