Documentation
¶
Overview ¶
Package walk provides CST traversal and indexed node lookup.
Index ¶
- func HasChildToken(node *parser.Node, kind token.Kind) bool
- func HasWrapperStorageQualifier(node *parser.Node) bool
- func IsStatement(n *parser.Node) bool
- func ReferencesByAmpersand(tokens []token.Token, node *parser.Node) bool
- type CompactDefineCursor
- type CompactModel
- func NewCompact(path string, file *parser.CompactFile) *CompactModel
- func NewCompactWithContext(path string, file *parser.CompactFile, defines *DefineContext, ...) *CompactModel
- func NewCompactWithDefineContext(path string, file *parser.CompactFile, defines []string, ...) *CompactModel
- func NewCompactWithDefineSnapshots(path string, file *parser.CompactFile, defines []string, ...) *CompactModel
- func NewCompactWithDefines(path string, file *parser.CompactFile, defines []string) *CompactModel
- func NewCompactWithSharedContext(path string, file *parser.CompactFile, defines *DefineContext, ...) *CompactModel
- func (m *CompactModel) All() []syntax.NodeID
- func (m *CompactModel) Ancestors(node syntax.NodeID) []syntax.NodeID
- func (m *CompactModel) EnclosingFunction(node syntax.NodeID) syntax.NodeID
- func (m *CompactModel) Inactive(node syntax.NodeID) bool
- func (m *CompactModel) IsInsideConditionalBranch(node syntax.NodeID) bool
- func (m *CompactModel) Iter(visit func(syntax.NodeID))
- func (m *CompactModel) IterKind(kind parser.Kind, visit func(syntax.NodeID))
- func (m *CompactModel) KnownDefinesAt(offset int) []string
- func (m *CompactModel) NewCompactDefineCursor() *CompactDefineCursor
- func (m *CompactModel) NextSibling(node syntax.NodeID) syntax.NodeID
- func (m *CompactModel) OfKind(kind parser.Kind) []syntax.NodeID
- func (m *CompactModel) Parent(node syntax.NodeID) syntax.NodeID
- func (m *CompactModel) PrevSibling(node syntax.NodeID) syntax.NodeID
- func (m *CompactModel) Range(node syntax.NodeID) source.Range
- func (m *CompactModel) Root() syntax.NodeID
- func (m *CompactModel) Source() []byte
- func (m *CompactModel) Text(node syntax.NodeID) string
- func (m *CompactModel) Uncertain(node syntax.NodeID) bool
- type DefineContext
- type DefineCursor
- type DefineSnapshot
- type Index
- type Model
- func New(path string, pf *parser.File) *Model
- func NewWithContext(path string, pf *parser.File, defines *DefineContext, ...) *Model
- func NewWithDefineContext(path string, pf *parser.File, defines []string, snapshots []DefineSnapshot, ...) *Model
- func NewWithDefineSnapshots(path string, pf *parser.File, defines []string, snapshots []DefineSnapshot) *Model
- func NewWithDefines(path string, pf *parser.File, defines []string) *Model
- func NewWithSharedContext(path string, pf *parser.File, defines *DefineContext, ...) *Model
- func (m *Model) All() []*parser.Node
- func (m *Model) Ancestors(n *parser.Node) []*parser.Node
- func (m *Model) EnclosingFunction(n *parser.Node) *parser.Node
- func (m *Model) Inactive(n *parser.Node) bool
- func (m *Model) IsInsideConditionalBranch(n *parser.Node) bool
- func (m *Model) Iter(visit func(*parser.Node))
- func (m *Model) IterKind(k parser.Kind, visit func(*parser.Node))
- func (m *Model) KnownDefinesAt(offset int) []string
- func (m *Model) NewDefineCursor() *DefineCursor
- func (m *Model) NextSibling(n *parser.Node) *parser.Node
- func (m *Model) OfKind(k parser.Kind) []*parser.Node
- func (m *Model) Parent(n *parser.Node) *parser.Node
- func (m *Model) PrevSibling(n *parser.Node) *parser.Node
- func (m *Model) Range(n *parser.Node) source.Range
- func (m *Model) Root() *parser.Node
- func (m *Model) Source() []byte
- func (m *Model) Text(n *parser.Node) string
- func (m *Model) TokenText(tok token.Token) string
- func (m *Model) Uncertain(n *parser.Node) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsStatement ¶
Types ¶
type CompactDefineCursor ¶
type CompactDefineCursor struct {
// contains filtered or unexported fields
}
func (*CompactDefineCursor) KnownDefinesAt ¶
func (c *CompactDefineCursor) KnownDefinesAt(offset int) []string
func (*CompactDefineCursor) KnownDefinesViewAt ¶
func (c *CompactDefineCursor) KnownDefinesViewAt(offset int) []string
type CompactModel ¶
type CompactModel struct {
Tree *syntax.CompactTree
Path string
LineTable *source.LineTable
// contains filtered or unexported fields
}
func NewCompact ¶
func NewCompact(path string, file *parser.CompactFile) *CompactModel
func NewCompactWithContext ¶
func NewCompactWithContext(path string, file *parser.CompactFile, defines *DefineContext, snapshots []DefineSnapshot, complete bool, lineTable *source.LineTable) *CompactModel
func NewCompactWithDefineContext ¶
func NewCompactWithDefineContext(path string, file *parser.CompactFile, defines []string, snapshots []DefineSnapshot, complete bool) *CompactModel
func NewCompactWithDefineSnapshots ¶
func NewCompactWithDefineSnapshots(path string, file *parser.CompactFile, defines []string, snapshots []DefineSnapshot) *CompactModel
func NewCompactWithDefines ¶
func NewCompactWithDefines(path string, file *parser.CompactFile, defines []string) *CompactModel
func NewCompactWithSharedContext ¶
func NewCompactWithSharedContext(path string, file *parser.CompactFile, defines *DefineContext, snapshots []DefineSnapshot, complete bool, lineTable *source.LineTable) *CompactModel
func (*CompactModel) All ¶
func (m *CompactModel) All() []syntax.NodeID
func (*CompactModel) Ancestors ¶
func (m *CompactModel) Ancestors(node syntax.NodeID) []syntax.NodeID
func (*CompactModel) EnclosingFunction ¶
func (m *CompactModel) EnclosingFunction(node syntax.NodeID) syntax.NodeID
func (*CompactModel) IsInsideConditionalBranch ¶
func (m *CompactModel) IsInsideConditionalBranch(node syntax.NodeID) bool
func (*CompactModel) Iter ¶
func (m *CompactModel) Iter(visit func(syntax.NodeID))
func (*CompactModel) IterKind ¶
func (m *CompactModel) IterKind(kind parser.Kind, visit func(syntax.NodeID))
func (*CompactModel) KnownDefinesAt ¶
func (m *CompactModel) KnownDefinesAt(offset int) []string
func (*CompactModel) NewCompactDefineCursor ¶
func (m *CompactModel) NewCompactDefineCursor() *CompactDefineCursor
func (*CompactModel) NextSibling ¶
func (m *CompactModel) NextSibling(node syntax.NodeID) syntax.NodeID
func (*CompactModel) PrevSibling ¶
func (m *CompactModel) PrevSibling(node syntax.NodeID) syntax.NodeID
func (*CompactModel) Root ¶
func (m *CompactModel) Root() syntax.NodeID
func (*CompactModel) Source ¶
func (m *CompactModel) Source() []byte
type DefineContext ¶
type DefineContext struct {
// contains filtered or unexported fields
}
func NewDefineContext ¶
func NewDefineContext(defines []string) *DefineContext
type DefineCursor ¶
type DefineCursor struct {
// contains filtered or unexported fields
}
func (*DefineCursor) KnownDefinesAt ¶
func (c *DefineCursor) KnownDefinesAt(offset int) []string
func (*DefineCursor) KnownDefinesViewAt ¶
func (c *DefineCursor) KnownDefinesViewAt(offset int) []string
type DefineSnapshot ¶
type Model ¶
type Model struct {
File *parser.File
Path string
LineTable *source.LineTable
// contains filtered or unexported fields
}
func NewWithContext ¶
func NewWithContext(path string, pf *parser.File, defines *DefineContext, snapshots []DefineSnapshot, complete bool, lineTable *source.LineTable, index *Index) *Model
func NewWithDefineContext ¶
func NewWithDefineSnapshots ¶
func NewWithSharedContext ¶
func NewWithSharedContext(path string, pf *parser.File, defines *DefineContext, snapshots []DefineSnapshot, complete bool, lineTable *source.LineTable, index *Index) *Model
func (*Model) IsInsideConditionalBranch ¶
func (*Model) KnownDefinesAt ¶
func (*Model) NewDefineCursor ¶
func (m *Model) NewDefineCursor() *DefineCursor
Click to show internal directories.
Click to hide internal directories.