...
Package inspect
import "cmd/vendor/golang.org/x/tools/go/analysis/passes/inspect"
- Overview
- Index
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
}
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)),
}