package inspect
import "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. It is only a building block for other analyzers.
Example of use in another analysis:
import (
"golang.org/x/tools/go/analysis"
"golang.org/x/tools/go/analysis/passes/inspect"
"golang.org/x/tools/go/ast/inspector"
)
var Analyzer = &analysis.Analyzer{
...
Requires: []*analysis.Analyzer{inspect.Analyzer},
}
func run(pass *analysis.Pass) (interface{}, error) {
inspect := pass.ResultOf[inspect.Analyzer].(*inspector.Inspector)
inspect.Preorder(nil, func(n ast.Node) {
...
})
return nil, nil
}
Index ¶
Variables ¶
var Analyzer = &analysis.Analyzer{ Name: "inspect", Doc: "optimize AST traversal for later passes", URL: "https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/inspect", Run: run, RunDespiteErrors: true, ResultType: reflect.TypeOf(new(inspector.Inspector)), }
Source Files ¶
inspect.go
- Version
- v0.38.0
- Published
- Oct 8, 2025
- Platform
- linux/amd64
- Imports
- 3 packages
- Last checked
- 2 hours ago –
Tools for package owners.