go/ast | Package ast declares the types used to represent syntax trees for Go packages. |
go/types | Package types declares the data types and implements the algorithms for type-checking of Go packages. |
golang.org/x/tools/go/analysis | Package analysis defines the interface between a modular static analysis and an analysis driver program. |
golang.org/x/tools/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. |
golang.org/x/tools/go/analysis/passes/internal/analysisutil | Package analysisutil defines various helper functions used by two or more packages beneath go/analysis. |
golang.org/x/tools/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. |