Documentation

Overview

    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:       []*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
    }
    

    Index

    Constants

    This section is empty.

    Variables

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

    Functions

    This section is empty.

    Types

    This section is empty.

    Source Files