type go/ast.Node
79 uses
go/ast (current package)
ast.go#L33: type Node interface {
ast.go#L40: Node
ast.go#L46: Node
ast.go#L52: Node
ast.go#L889: Node
commentmap.go#L35: type CommentMap map[Node][]*CommentGroup
commentmap.go#L37: func (cmap CommentMap) addComment(n Node, c *CommentGroup) {
commentmap.go#L47: type byInterval []Node
commentmap.go#L58: func nodeList(n Node) []Node {
commentmap.go#L59: var list []Node
commentmap.go#L60: Inspect(n, func(n Node) bool {
commentmap.go#L103: type nodeStack []Node
commentmap.go#L108: func (s *nodeStack) push(n Node) {
commentmap.go#L117: func (s *nodeStack) pop(pos token.Pos) (top Node) {
commentmap.go#L143: func NewCommentMap(fset *token.FileSet, node Node, comments []*CommentGroup) CommentMap {
commentmap.go#L163: p Node // previous node
commentmap.go#L165: pg Node // previous node group (enclosing nodes of "importance")
commentmap.go#L194: var assoc Node
commentmap.go#L246: func (cmap CommentMap) Update(old, new Node) Node {
commentmap.go#L258: func (cmap CommentMap) Filter(node Node) CommentMap {
commentmap.go#L260: Inspect(node, func(n Node) bool {
commentmap.go#L319: var nodes []Node
walk.go#L13: Visit(node Node) (w Visitor)
walk.go#L51: func Walk(v Visitor, node Node) {
walk.go#L384: type inspector func(Node) bool
walk.go#L386: func (f inspector) Visit(node Node) Visitor {
walk.go#L398: func Inspect(node Node, f func(Node) bool) {
go/doc
example.go#L26: Code ast.Node
example.go#L196: var inspectFunc func(ast.Node) bool
example.go#L197: inspectFunc = func(n ast.Node) bool {
go/internal/typeparams
typeparams.go#L41: func UnpackIndexExpr(n ast.Node) *IndexExpr {
go/parser
resolver.go#L246: func (r *resolver) Visit(node ast.Node) ast.Visitor {
go/printer
nodes.go#L1197: ast.Inspect(px.X, func(node ast.Node) bool {
nodes.go#L1714: func (p *printer) nodeSize(n ast.Node, maxSize int) (size int) {
nodes.go#L1747: func (p *printer) numLines(n ast.Node) int {
printer.go#L90: nodeSizes map[ast.Node]int
printer.go#L97: func (p *printer) init(cfg *Config, fset *token.FileSet, nodeSizes map[ast.Node]int) {
printer.go#L1036: func getDoc(n ast.Node) *ast.CommentGroup {
printer.go#L1056: func getLastComment(n ast.Node) *ast.CommentGroup {
printer.go#L1088: n, ok := node.(ast.Node)
printer.go#L1312: func (cfg *Config) fprint(output io.Writer, fset *token.FileSet, node any, nodeSizes map[ast.Node]int) (err error) {
printer.go#L1378: return cfg.fprint(output, fset, node, make(map[ast.Node]int))
go/types
api.go#L243: Implicits map[ast.Node]Object
api.go#L273: Scopes map[ast.Node]*Scope
check.go#L554: func (check *Checker) recordImplicit(node ast.Node, obj Object) {
check.go#L570: func (check *Checker) recordScope(node ast.Node, scope *Scope) {
decl.go#L345: node() ast.Node
decl.go#L361: func (d importDecl) node() ast.Node { return d.spec }
decl.go#L362: func (d constDecl) node() ast.Node { return d.spec }
decl.go#L363: func (d varDecl) node() ast.Node { return d.spec }
decl.go#L364: func (d typeDecl) node() ast.Node { return d.spec }
decl.go#L365: func (d funcDecl) node() ast.Node { return d.decl }
errors.go#L260: func inNode(node ast.Node, pos token.Pos) posSpan {
errors.go#L284: case ast.Node:
stmt.go#L155: func (check *Checker) openScope(node ast.Node, comment string) {
golang.org/x/tools/go/packages
packages.go#L999: Implicits: make(map[ast.Node]types.Object),
packages.go#L1000: Scopes: make(map[ast.Node]*types.Scope),
golang.org/x/tools/internal/typeparams
common.go#L40: func UnpackIndexExpr(n ast.Node) (x ast.Expr, lbrack token.Pos, indices []ast.Expr, rbrack token.Pos) {
gotest.tools/v3/internal/source
defers.go#L9: func scanToDeferLine(fileset *token.FileSet, node ast.Node, lineNum int) ast.Node {
defers.go#L10: var matchedNode ast.Node
defers.go#L11: ast.Inspect(node, func(node ast.Node) bool {
defers.go#L27: func guessDefer(node ast.Node) (ast.Node, error) {
defers.go#L41: func collectDefers(node ast.Node) []*ast.DeferStmt {
defers.go#L43: ast.Inspect(node, func(node ast.Node) bool {
source.go#L51: func getNodeAtLine(fileset *token.FileSet, astFile ast.Node, lineNum int) (ast.Node, error) {
source.go#L64: func scanToLine(fileset *token.FileSet, node ast.Node, lineNum int) ast.Node {
source.go#L65: var matchedNode ast.Node
source.go#L66: ast.Inspect(node, func(node ast.Node) bool {
source.go#L79: func getCallExprArgs(fileset *token.FileSet, astFile ast.Node, line int) ([]ast.Expr, error) {
source.go#L103: func (v *callExprVisitor) Visit(node ast.Node) ast.Visitor {
source.go#L121: func FormatNode(node ast.Node) (string, error) {
source.go#L136: ast.Node