pub struct Tracer { /* private fields */ }Expand description
Tracer for collecting debugging information during type checking.
Implementations§
Source§impl Tracer
impl Tracer
Sourcepub fn new(level: TraceLevel) -> Self
pub fn new(level: TraceLevel) -> Self
Create a new tracer with the given level.
Sourcepub fn set_level(&mut self, level: TraceLevel)
pub fn set_level(&mut self, level: TraceLevel)
Set the trace level.
Sourcepub fn level(&self) -> TraceLevel
pub fn level(&self) -> TraceLevel
Get the trace level.
Sourcepub fn set_max_events(&mut self, max: usize)
pub fn set_max_events(&mut self, max: usize)
Set the max events buffer size.
Sourcepub fn set_timing(&mut self, enabled: bool)
pub fn set_timing(&mut self, enabled: bool)
Enable or disable timing.
Sourcepub fn suppress(&mut self, cat: TraceCategory)
pub fn suppress(&mut self, cat: TraceCategory)
Suppress a category.
Sourcepub fn allow(&mut self, cat: &TraceCategory)
pub fn allow(&mut self, cat: &TraceCategory)
Allow a category.
Sourcepub fn log(&mut self, event: TraceEvent)
pub fn log(&mut self, event: TraceEvent)
Log a trace event.
Sourcepub fn log_msg(&mut self, level: TraceLevel, msg: impl Into<String>)
pub fn log_msg(&mut self, level: TraceLevel, msg: impl Into<String>)
Log a string at the given level.
Sourcepub fn trace_infer(&mut self, msg: impl Into<String>)
pub fn trace_infer(&mut self, msg: impl Into<String>)
Log a trace-level message in the Infer category.
Sourcepub fn trace_reduce(&mut self, msg: impl Into<String>)
pub fn trace_reduce(&mut self, msg: impl Into<String>)
Log a trace-level message in the Reduce category.
Sourcepub fn record_reduction(
&mut self,
rule: ReductionRule,
before: Expr,
after: Expr,
)
pub fn record_reduction( &mut self, rule: ReductionRule, before: Expr, after: Expr, )
Record a reduction step.
Sourcepub fn reduction_steps(&self) -> &[ReductionStep]
pub fn reduction_steps(&self) -> &[ReductionStep]
Get reduction steps.
Sourcepub fn clear_reductions(&mut self)
pub fn clear_reductions(&mut self)
Clear reduction steps.
Sourcepub fn events(&self) -> &[TraceEvent]
pub fn events(&self) -> &[TraceEvent]
Get all logged events.
Sourcepub fn events_at_level(&self, level: TraceLevel) -> Vec<&TraceEvent>
pub fn events_at_level(&self, level: TraceLevel) -> Vec<&TraceEvent>
Get events at a specific level.
Sourcepub fn events_in_category(&self, cat: &TraceCategory) -> Vec<&TraceEvent>
pub fn events_in_category(&self, cat: &TraceCategory) -> Vec<&TraceEvent>
Get events in a specific category.
Sourcepub fn event_count(&self) -> usize
pub fn event_count(&self) -> usize
Count events.
Sourcepub fn current_depth(&self) -> u32
pub fn current_depth(&self) -> u32
Get current depth.
Source§impl Tracer
Extension trait for Tracer providing convenience methods.
impl Tracer
Extension trait for Tracer providing convenience methods.
Sourcepub fn debug_return<T>(&mut self, value: T, msg: impl Into<String>) -> T
pub fn debug_return<T>(&mut self, value: T, msg: impl Into<String>) -> T
Log and return a message at Debug level.
Sourcepub fn debug_expr(&mut self, label: &str, expr: &Expr)
pub fn debug_expr(&mut self, label: &str, expr: &Expr)
Log an expression at Debug level.
Sourcepub fn stats(&self) -> TracerStats
pub fn stats(&self) -> TracerStats
Compute statistics for this tracer.
Sourcepub fn last_event(&self) -> Option<&TraceEvent>
pub fn last_event(&self) -> Option<&TraceEvent>
Return the most recent event, if any.
Sourcepub fn last_error(&self) -> Option<&TraceEvent>
pub fn last_error(&self) -> Option<&TraceEvent>
Return the most recent error event, if any.
Sourcepub fn log_with_category(
&mut self,
level: TraceLevel,
category: TraceCategory,
msg: impl Into<String>,
)
pub fn log_with_category( &mut self, level: TraceLevel, category: TraceCategory, msg: impl Into<String>, )
Log with a specific category.
Sourcepub fn log_tactic(&mut self, msg: impl Into<String>)
pub fn log_tactic(&mut self, msg: impl Into<String>)
Log a tactic event at Info level.
Sourcepub fn category_log(&self, cat: &TraceCategory) -> Vec<String>
pub fn category_log(&self, cat: &TraceCategory) -> Vec<String>
Return all events in a given category as formatted strings.
Sourcepub fn clear_category(&mut self, cat: &TraceCategory)
pub fn clear_category(&mut self, cat: &TraceCategory)
Clear only events in a given category.