type golang.org/x/tools/go/ast/inspector.Cursor
66 uses
golang.org/x/tools/go/ast/inspector (current package)
cursor.go#L38: type Cursor struct {
cursor.go#L47: func (in *Inspector) Root() Cursor {
cursor.go#L48: return Cursor{in, -1}
cursor.go#L54: func (in *Inspector) At(index int32) Cursor {
cursor.go#L64: return Cursor{in, index}
cursor.go#L71: func (c Cursor) Valid() bool {
cursor.go#L77: func (c Cursor) Inspector() *Inspector { return c.in }
cursor.go#L86: func (c Cursor) Index() int32 {
cursor.go#L95: func (c Cursor) Node() ast.Node {
cursor.go#L103: func (c Cursor) String() string {
cursor.go#L114: func (c Cursor) indices() (int32, int32) {
cursor.go#L135: func (c Cursor) Preorder(types ...ast.Node) iter.Seq[Cursor] {
cursor.go#L138: return func(yield func(Cursor) bool) {
cursor.go#L144: if ev.typ&mask != 0 && !yield(Cursor{c.in, i}) {
cursor.go#L172: func (c Cursor) Inspect(types []ast.Node, f func(c Cursor) (descend bool)) {
cursor.go#L180: if ev.typ&mask != 0 && !f(Cursor{c.in, i}) ||
cursor.go#L201: func (c Cursor) Enclosing(types ...ast.Node) iter.Seq[Cursor] {
cursor.go#L208: return func(yield func(Cursor) bool) {
cursor.go#L211: if events[i].typ&mask != 0 && !yield(Cursor{c.in, i}) {
cursor.go#L221: func (c Cursor) Parent() Cursor {
cursor.go#L226: return Cursor{c.in, c.in.events[c.index].parent}
cursor.go#L239: func (c Cursor) ParentEdge() (edge.Kind, int) {
cursor.go#L249: func (c Cursor) ParentEdgeKind() edge.Kind {
cursor.go#L255: func (c Cursor) ParentEdgeIndex() int {
cursor.go#L268: func (c Cursor) ChildAt(k edge.Kind, idx int) Cursor {
cursor.go#L280: return Cursor{c.in, i}
cursor.go#L290: func (c Cursor) Child(n ast.Node) Cursor {
cursor.go#L308: return Cursor{c.in, i}
cursor.go#L323: func (c Cursor) NextSibling() (Cursor, bool) {
cursor.go#L332: return Cursor{c.in, i}, true
cursor.go#L335: return Cursor{}, false
cursor.go#L346: func (c Cursor) PrevSibling() (Cursor, bool) {
cursor.go#L355: return Cursor{c.in, j}, true
cursor.go#L358: return Cursor{}, false
cursor.go#L363: func (c Cursor) FirstChild() (Cursor, bool) {
cursor.go#L367: return Cursor{c.in, i}, true
cursor.go#L369: return Cursor{}, false
cursor.go#L374: func (c Cursor) LastChild() (Cursor, bool) {
cursor.go#L379: return Cursor{c.in, events[len(events)-1].index}, true
cursor.go#L386: return Cursor{c.in, events[j].index}, true
cursor.go#L389: return Cursor{}, false
cursor.go#L417: func (c Cursor) Children() iter.Seq[Cursor] {
cursor.go#L418: return func(yield func(Cursor) bool) {
cursor.go#L430: func (c Cursor) Contains(c2 Cursor) bool {
cursor.go#L440: func (c Cursor) FindNode(n ast.Node) (Cursor, bool) {
cursor.go#L450: return Cursor{}, false
cursor.go#L464: return Cursor{c.in, i}, true
cursor.go#L473: return Cursor{}, false
cursor.go#L488: func (c Cursor) FindByPos(start, end token.Pos) (Cursor, bool) {
cursor.go#L548: return Cursor{c.in, best}, true
cursor.go#L550: return Cursor{}, false
golang.org/x/tools/internal/typesinternal
types.go#L172: func EnclosingScope(info *types.Info, cur inspector.Cursor) *types.Scope {