tools: golang.org/x/tools/go/analysis/passes/inspect Index | Files

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/inspect.Inspect) 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:       reflect.TypeOf(new(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
}

Index

Package Files

inspect.go

Variables

var Analyzer = &analysis.Analyzer{
    Name:             "inspect",
    Doc:              "optimize AST traversal for later passes",
    Run:              run,
    RunDespiteErrors: true,
    ResultType:       reflect.TypeOf(new(inspector.Inspector)),
}

Package inspect imports 3 packages (graph) and is imported by 64 packages. Updated 2019-07-20. Refresh now. Tools for package owners.