const Doc … var Analyzer … func run(pass *analysis.Pass) (any, error) { … } // Diagnose reports diagnostics describing simplifications to type // arguments overlapping with the provided start and end position. // // If start or end is token.NoPos, the corresponding bound is not checked // (i.e. if both start and end are NoPos, all call expressions are considered). func diagnose(fset *token.FileSet, inspect *inspector.Inspector, start, end token.Pos, pkg *types.Package, info *types.Info) []analysis.Diagnostic { … } func calledIdent(x ast.Expr) *ast.Ident { … }