Documentation
¶
Index ¶
- func IsCompactTestFunction(symbol *CompactSymbol) bool
- func IsTestFunction(symbol *Symbol) bool
- type CompactModel
- func (m *CompactModel) Boolean(node syntax.NodeID) bool
- func (m *CompactModel) BooleanLiteral(node syntax.NodeID) (bool, bool)
- func (m *CompactModel) ConstantValue(symbol *CompactSymbol) (int64, bool)
- func (m *CompactModel) Equivalent(left, right syntax.NodeID) bool
- func (m *CompactModel) EquivalentSyntax(left, right syntax.NodeID) bool
- func (m *CompactModel) Eval(node syntax.NodeID) (int64, bool)
- func (m *CompactModel) EvalWithResolver(node syntax.NodeID, resolver func(syntax.NodeID) (int64, bool)) (int64, bool)
- func (m *CompactModel) EvalWithValues(node syntax.NodeID, values map[*CompactSymbol]int64) (int64, bool)
- func (m *CompactModel) ExpressionTag(node syntax.NodeID) (string, bool)
- func (m *CompactModel) ExpressionTags(node syntax.NodeID) []string
- func (m *CompactModel) ParameterSymbols(function syntax.NodeID) []*CompactSymbol
- func (m *CompactModel) Pure(node syntax.NodeID) bool
- func (m *CompactModel) References(symbol *CompactSymbol) []CompactReference
- func (m *CompactModel) Resolve(node syntax.NodeID) *CompactSymbol
- func (m *CompactModel) ResolveAsCallTarget(node syntax.NodeID) *CompactSymbol
- func (m *CompactModel) Shadowed(symbol *CompactSymbol) *CompactSymbol
- func (m *CompactModel) UnresolvedReferences() []CompactUnresolvedReference
- type CompactReference
- type CompactScope
- type CompactSymbol
- type CompactUnresolvedReference
- type Model
- func (m *Model) Boolean(node *parser.Node) bool
- func (m *Model) BooleanLiteral(node *parser.Node) (bool, bool)
- func (m *Model) ConstantValue(symbol *Symbol) (int64, bool)
- func (m *Model) Equivalent(left, right *parser.Node) bool
- func (m *Model) EquivalentSyntax(left, right *parser.Node) bool
- func (m *Model) Eval(node *parser.Node) (int64, bool)
- func (m *Model) EvalWithResolver(node *parser.Node, resolver func(*parser.Node) (int64, bool)) (int64, bool)
- func (m *Model) EvalWithValues(node *parser.Node, values map[*Symbol]int64) (int64, bool)
- func (m *Model) ExpressionTag(node *parser.Node) (string, bool)
- func (m *Model) ExpressionTags(node *parser.Node) []string
- func (m *Model) ParameterSymbols(function *parser.Node) []*Symbol
- func (m *Model) Pure(node *parser.Node) bool
- func (m *Model) References(symbol *Symbol) []Reference
- func (m *Model) Resolve(node *parser.Node) *Symbol
- func (m *Model) ResolveAsCallTarget(node *parser.Node) *Symbol
- func (m *Model) Shadowed(symbol *Symbol) *Symbol
- func (m *Model) UnresolvedReferences() []UnresolvedReference
- type Reference
- type ReferenceKind
- type ReferenceTarget
- type Scope
- type Symbol
- type SymbolKind
- type UnresolvedReference
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsCompactTestFunction ¶ added in v1.8.10
func IsCompactTestFunction(symbol *CompactSymbol) bool
IsCompactTestFunction reports a YSI test entry point.
func IsTestFunction ¶ added in v1.8.10
IsTestFunction reports a YSI test entry point.
Types ¶
type CompactModel ¶
type CompactModel struct {
File *parser.CompactFile
Walk *walk.CompactModel
Root *CompactScope
Symbols []*CompactSymbol
// contains filtered or unexported fields
}
func BuildCompact ¶
func BuildCompact(file *parser.CompactFile, tree *walk.CompactModel) *CompactModel
func (*CompactModel) BooleanLiteral ¶
func (m *CompactModel) BooleanLiteral(node syntax.NodeID) (bool, bool)
func (*CompactModel) ConstantValue ¶
func (m *CompactModel) ConstantValue(symbol *CompactSymbol) (int64, bool)
func (*CompactModel) Equivalent ¶
func (m *CompactModel) Equivalent(left, right syntax.NodeID) bool
func (*CompactModel) EquivalentSyntax ¶
func (m *CompactModel) EquivalentSyntax(left, right syntax.NodeID) bool
func (*CompactModel) EvalWithResolver ¶
func (*CompactModel) EvalWithValues ¶
func (m *CompactModel) EvalWithValues(node syntax.NodeID, values map[*CompactSymbol]int64) (int64, bool)
func (*CompactModel) ExpressionTag ¶
func (m *CompactModel) ExpressionTag(node syntax.NodeID) (string, bool)
func (*CompactModel) ExpressionTags ¶
func (m *CompactModel) ExpressionTags(node syntax.NodeID) []string
func (*CompactModel) ParameterSymbols ¶ added in v1.7.21
func (m *CompactModel) ParameterSymbols(function syntax.NodeID) []*CompactSymbol
func (*CompactModel) References ¶
func (m *CompactModel) References(symbol *CompactSymbol) []CompactReference
func (*CompactModel) Resolve ¶
func (m *CompactModel) Resolve(node syntax.NodeID) *CompactSymbol
func (*CompactModel) ResolveAsCallTarget ¶
func (m *CompactModel) ResolveAsCallTarget(node syntax.NodeID) *CompactSymbol
func (*CompactModel) Shadowed ¶
func (m *CompactModel) Shadowed(symbol *CompactSymbol) *CompactSymbol
func (*CompactModel) UnresolvedReferences ¶
func (m *CompactModel) UnresolvedReferences() []CompactUnresolvedReference
type CompactReference ¶
type CompactReference struct {
Node syntax.NodeID
Kind ReferenceKind
}
type CompactScope ¶
type CompactScope struct {
Parent *CompactScope
Node syntax.NodeID
// contains filtered or unexported fields
}
type CompactSymbol ¶
type CompactUnresolvedReference ¶
type CompactUnresolvedReference struct {
Node syntax.NodeID
Kind ReferenceKind
Target ReferenceTarget
}
type Model ¶
type Model struct {
File *parser.File
Walk *walk.Model
Root *Scope
Symbols []*Symbol
// contains filtered or unexported fields
}
func (*Model) BooleanLiteral ¶
func (*Model) Equivalent ¶
func (*Model) EquivalentSyntax ¶
func (*Model) EvalWithResolver ¶
func (*Model) EvalWithValues ¶
func (*Model) ExpressionTag ¶
func (*Model) ExpressionTags ¶
func (*Model) ParameterSymbols ¶ added in v1.7.21
func (*Model) References ¶
func (*Model) UnresolvedReferences ¶
func (m *Model) UnresolvedReferences() []UnresolvedReference
type Reference ¶
type Reference struct {
Node *parser.Node
Kind ReferenceKind
}
type ReferenceKind ¶
type ReferenceKind uint8
const ( ReferenceRead ReferenceKind = iota ReferenceWrite ReferenceReadWrite ReferenceCall )
type ReferenceTarget ¶
type ReferenceTarget uint8
const ( ReferenceValue ReferenceTarget = iota ReferenceFunction )
type Scope ¶
type Scope struct {
Parent *Scope
Node *parser.Node
// contains filtered or unexported fields
}
type SymbolKind ¶
type SymbolKind uint8
const ( SymbolFunction SymbolKind = iota SymbolGlobal SymbolLocal SymbolParameter SymbolEnumRoot SymbolEnumEntry SymbolLabel )
type UnresolvedReference ¶
type UnresolvedReference struct {
Node *parser.Node
Kind ReferenceKind
Target ReferenceTarget
}
Click to show internal directories.
Click to hide internal directories.