type go/ast.Node
109 uses
go/ast (current package)
ast.go#L36: type Node interface {
ast.go#L43: Node
ast.go#L49: Node
ast.go#L55: Node
ast.go#L904: Node
commentmap.go#L26: type CommentMap map[Node][]*CommentGroup
commentmap.go#L28: func (cmap CommentMap) addComment(n Node, c *CommentGroup) {
commentmap.go#L39: func nodeList(n Node) []Node {
commentmap.go#L40: var list []Node
commentmap.go#L41: Inspect(n, func(n Node) bool {
commentmap.go#L90: type nodeStack []Node
commentmap.go#L94: func (s *nodeStack) push(n Node) {
commentmap.go#L102: func (s *nodeStack) pop(pos token.Pos) (top Node) {
commentmap.go#L127: func NewCommentMap(fset *token.FileSet, node Node, comments []*CommentGroup) CommentMap {
commentmap.go#L147: p Node // previous node
commentmap.go#L149: pg Node // previous node group (enclosing nodes of "importance")
commentmap.go#L178: var assoc Node
commentmap.go#L229: func (cmap CommentMap) Update(old, new Node) Node {
commentmap.go#L240: func (cmap CommentMap) Filter(node Node) CommentMap {
commentmap.go#L242: Inspect(node, func(n Node) bool {
commentmap.go#L300: var nodes []Node
commentmap.go#L304: slices.SortFunc(nodes, func(a, b Node) int {
walk.go#L16: Visit(node Node) (w Visitor)
walk.go#L19: func walkList[N Node](v Visitor, list []N) {
walk.go#L33: func Walk(v Visitor, node Node) {
walk.go#L358: type inspector func(Node) bool
walk.go#L360: func (f inspector) Visit(node Node) Visitor {
walk.go#L376: func Inspect(node Node, f func(Node) bool) {
walk.go#L386: func Preorder(root Node) iter.Seq[Node] {
walk.go#L387: return func(yield func(Node) bool) {
walk.go#L389: Inspect(root, func(n Node) bool {
walk.go#L411: func PreorderStack(root Node, stack []Node, f func(n Node, stack []Node) bool) {
walk.go#L413: Inspect(root, func(n Node) bool {
go/doc
example.go#L26: Code ast.Node
example.go#L337: func findDeclsAndUnresolved(body ast.Node, topDecls map[*ast.Object]ast.Decl, typMethods map[string][]ast.Decl) ([]ast.Decl, map[string]bool) {
example.go#L348: var inspectFunc func(ast.Node) bool
example.go#L349: inspectFunc = func(n ast.Node) bool {
go/parser
resolver.go#L250: func (r *resolver) Visit(node ast.Node) ast.Visitor {
go/printer
nodes.go#L1251: ast.Inspect(px.X, func(node ast.Node) bool {
nodes.go#L1803: func (p *printer) nodeSize(n ast.Node, maxSize int) (size int) {
nodes.go#L1832: func (p *printer) numLines(n ast.Node) int {
printer.go#L92: nodeSizes map[ast.Node]int
printer.go#L1049: func getDoc(n ast.Node) *ast.CommentGroup {
printer.go#L1069: func getLastComment(n ast.Node) *ast.CommentGroup {
printer.go#L1101: n, ok := node.(ast.Node)
printer.go#L1335: func newPrinter(cfg *Config, fset *token.FileSet, nodeSizes map[ast.Node]int) *printer {
printer.go#L1360: func (cfg *Config) fprint(output io.Writer, fset *token.FileSet, node any, nodeSizes map[ast.Node]int) (err error) {
printer.go#L1424: return cfg.fprint(output, fset, node, make(map[ast.Node]int))
go/types
api.go#L284: Implicits map[ast.Node]Object
api.go#L323: Scopes map[ast.Node]*Scope
decl.go#L336: node() ast.Node
decl.go#L352: func (d importDecl) node() ast.Node { return d.spec }
decl.go#L353: func (d constDecl) node() ast.Node { return d.spec }
decl.go#L354: func (d varDecl) node() ast.Node { return d.spec }
decl.go#L355: func (d typeDecl) node() ast.Node { return d.spec }
decl.go#L356: func (d funcDecl) node() ast.Node { return d.decl }
errors.go#L283: func inNode(node ast.Node, pos token.Pos) posSpan {
errors.go#L300: case ast.Node:
index.go#L474: func unpackIndexedExpr(n ast.Node) *indexedExpr {
recording.go#L156: func (check *Checker) recordImplicit(node ast.Node, obj Object) {
recording.go#L172: func (check *Checker) recordScope(node ast.Node, scope *Scope) {
stmt.go#L155: func (check *Checker) openScope(node ast.Node, comment string) {
util.go#L50: func startPos(n ast.Node) token.Pos { return n.Pos() }
util.go#L53: func endPos(n ast.Node) token.Pos { return n.End() }
go.pact.im/x/plumb/internal/packagestest
packagestest.go#L219: Implicits: map[ast.Node]types.Object{},
packagestest.go#L220: Scopes: map[ast.Node]*types.Scope{},
golang.org/x/tools/go/ast/edge
edge.go#L39: func (k Kind) Get(n ast.Node, idx int) ast.Node {
edge.go#L51: out, _ := v.Interface().(ast.Node) // may be nil
edge.go#L184: func info[N ast.Node](fieldName string) fieldInfo {
golang.org/x/tools/go/ast/inspector
cursor.go#L95: func (c Cursor) Node() ast.Node {
cursor.go#L135: func (c Cursor) Preorder(types ...ast.Node) iter.Seq[Cursor] {
cursor.go#L172: func (c Cursor) Inspect(types []ast.Node, f func(c Cursor) (descend bool)) {
cursor.go#L201: func (c Cursor) Enclosing(types ...ast.Node) iter.Seq[Cursor] {
cursor.go#L290: func (c Cursor) Child(n ast.Node) Cursor {
cursor.go#L440: func (c Cursor) FindNode(n ast.Node) (Cursor, bool) {
cursor.go#L457: mask := maskOf([]ast.Node{n})
inspector.go#L80: node ast.Node
inspector.go#L103: func (in *Inspector) Preorder(types []ast.Node, f func(ast.Node)) {
inspector.go#L154: func (in *Inspector) Nodes(types []ast.Node, f func(n ast.Node, push bool) (proceed bool)) {
inspector.go#L196: func (in *Inspector) WithStack(types []ast.Node, f func(n ast.Node, push bool, stack []ast.Node) (proceed bool)) {
inspector.go#L198: var stack []ast.Node
inspector.go#L265: func (v *visitor) push(ek edge.Kind, eindex int, node ast.Node) {
inspector.go#L293: func (v *visitor) pop(node ast.Node) {
iter.go#L40: func (in *Inspector) PreorderSeq(types ...ast.Node) iter.Seq[ast.Node] {
iter.go#L45: return func(yield func(ast.Node) bool) {
iter.go#L86: ast.Node
typeof.go#L94: func typeOf(n ast.Node) uint64 {
typeof.go#L218: func maskOf(nodes []ast.Node) uint64 {
walk.go#L19: func walkList[N ast.Node](v *visitor, ek edge.Kind, list []N) {
walk.go#L25: func walk(v *visitor, ek edge.Kind, index int, node ast.Node) {
golang.org/x/tools/go/packages
packages.go#L1340: Implicits: make(map[ast.Node]types.Object),
packages.go#L1342: Scopes: make(map[ast.Node]*types.Scope),
golang.org/x/tools/internal/typeparams
common.go#L30: func UnpackIndexExpr(n ast.Node) (x ast.Expr, lbrack token.Pos, indices []ast.Expr, rbrack token.Pos) {
golang.org/x/tools/internal/typesinternal
fx.go#L18: ast.Inspect(expr, func(n ast.Node) bool {
types.go#L164: Implicits: map[ast.Node]types.Object{},
types.go#L166: Scopes: map[ast.Node]*types.Scope{},