17 lines
541 B
Rust
17 lines
541 B
Rust
|
|
//! Debug utilities for control flow tracing
|
||
|
|
|
||
|
|
use super::super::MirBuilder;
|
||
|
|
|
||
|
|
impl MirBuilder {
|
||
|
|
/// Trace variable_map state for debugging
|
||
|
|
/// Enable with NYASH_TRACE_VARMAP=1
|
||
|
|
pub(in crate::mir::builder) fn trace_varmap(&self, context: &str) {
|
||
|
|
if std::env::var("NYASH_TRACE_VARMAP").is_ok() {
|
||
|
|
let vars: Vec<_> = self.variable_map.iter()
|
||
|
|
.map(|(k, v)| format!("{}={:?}", k, v))
|
||
|
|
.collect();
|
||
|
|
eprintln!("[varmap/{}] {{{}}}", context, vars.join(", "));
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|