Documentation ¶
Index ¶
- func PrintTree(trace *EvalTraceStore, env EvalEnv, node ast.Node, ...) (treeprint.Tree, error)
- type ArrayNodeTraceInfo
- type BinaryNodeTraceInfo
- type BuiltinNodeTraceInfo
- type CallNodeTraceInfo
- type ClosureNodeTraceInfo
- type ConditionalNodeTraceInfo
- type EvalEnv
- type EvalResult
- type EvalTraceStore
- type EvalTraceTag
- type FloatNodeTraceInfo
- type IdentifierNodeTraceInfo
- type IntegerNodeTraceInfo
- type MapNodeTraceInfo
- type MemberNodeTraceInfo
- type NodeEvalResult
- type PairNodeTraceInfo
- type PointerNodeTraceInfo
- type SliceNodeTraceInfo
- type TagMapper
- type TraceEntry
- type TraceStoreKey
- type Tracer
- type TreePrinter
- type TreePrinterOption
- type VariableDeclaratorNodeTraceInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PrintTree ¶
func PrintTree(trace *EvalTraceStore, env EvalEnv, node ast.Node, options ...TreePrinterOption) (treeprint.Tree, error)
Types ¶
type ArrayNodeTraceInfo ¶
type ArrayNodeTraceInfo struct {
// contains filtered or unexported fields
}
type BinaryNodeTraceInfo ¶
type BinaryNodeTraceInfo struct {
// contains filtered or unexported fields
}
type BuiltinNodeTraceInfo ¶
type BuiltinNodeTraceInfo struct {
// contains filtered or unexported fields
}
type CallNodeTraceInfo ¶
type CallNodeTraceInfo struct {
// contains filtered or unexported fields
}
type ClosureNodeTraceInfo ¶
type ClosureNodeTraceInfo struct {
// contains filtered or unexported fields
}
type ConditionalNodeTraceInfo ¶
type ConditionalNodeTraceInfo struct {
// contains filtered or unexported fields
}
type EvalResult ¶
type EvalResult struct { Output any Trace *EvalTraceStore Source string Env EvalEnv TreePrinterOptions []TreePrinterOption }
func (*EvalResult) FormatTraceTree ¶
func (e *EvalResult) FormatTraceTree(opts ...TreePrinterOption) (string, error)
func (*EvalResult) OutputAsBool ¶
func (e *EvalResult) OutputAsBool() bool
type EvalTraceStore ¶
type EvalTraceStore struct {
// contains filtered or unexported fields
}
func NewStore ¶
func NewStore() *EvalTraceStore
func (*EvalTraceStore) AddTrace ¶
func (ts *EvalTraceStore) AddTrace(tag EvalTraceTag, payload TraceEntry)
func (*EvalTraceStore) TraceEntryByTag ¶
func (ts *EvalTraceStore) TraceEntryByTag(tag EvalTraceTag) (TraceEntry, bool)
type EvalTraceTag ¶
type EvalTraceTag struct {
NodeIndex int
}
func (*EvalTraceTag) TraceStoreKey ¶
func (t *EvalTraceTag) TraceStoreKey() TraceStoreKey
type FloatNodeTraceInfo ¶
type FloatNodeTraceInfo struct {
// contains filtered or unexported fields
}
type IdentifierNodeTraceInfo ¶
type IdentifierNodeTraceInfo struct {
// contains filtered or unexported fields
}
type IntegerNodeTraceInfo ¶
type IntegerNodeTraceInfo struct {
// contains filtered or unexported fields
}
type MapNodeTraceInfo ¶
type MapNodeTraceInfo struct {
// contains filtered or unexported fields
}
type MemberNodeTraceInfo ¶
type MemberNodeTraceInfo struct {
// contains filtered or unexported fields
}
type NodeEvalResult ¶
type NodeEvalResult interface {
Output() any
}
type PairNodeTraceInfo ¶
type PairNodeTraceInfo struct {
// contains filtered or unexported fields
}
type PointerNodeTraceInfo ¶
type PointerNodeTraceInfo struct {
// contains filtered or unexported fields
}
type SliceNodeTraceInfo ¶
type SliceNodeTraceInfo struct {
// contains filtered or unexported fields
}
type TraceEntry ¶
type TraceEntry interface {
EvalResultByCallCount(callCount int) NodeEvalResult
}
type TraceStoreKey ¶
type TraceStoreKey int
type Tracer ¶
type Tracer struct {
// contains filtered or unexported fields
}
func NewTracer ¶
func NewTracer(trace *EvalTraceStore, store EvalEnv) *Tracer
func (*Tracer) InstallTracerFunctions ¶
type TreePrinter ¶
type TreePrinterOption ¶
type TreePrinterOption func(*treePrinterConfig) error
func WithOnCallNodeHook ¶
func WithOnCallNodeHook(fn func(tp TreePrinter, tree treeprint.Tree, callNode *ast.CallNode, callOutput any)) TreePrinterOption
type VariableDeclaratorNodeTraceInfo ¶
type VariableDeclaratorNodeTraceInfo struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.