#[macro_export]
macro_rules! trace_call {
($trace:expr, $node:expr, $function:literal, $operation:expr) => {{ $trace.with($node, $function, $operation) }};
}
#[macro_export]
macro_rules! trace_call_result {
($trace:expr, $operation:expr) => {{ $trace.with_result($operation) }};
}
#[macro_export]
macro_rules! trace_value {
($trace:expr, $name:literal, $type_name:literal, $value:expr, $kind:expr) => {{ $trace.local($name, $type_name, $value, $kind) }};
}
#[macro_export]
macro_rules! trace_transform {
($trace:expr, $input:expr, $name:literal, $type_name:literal, $value:expr) => {{ $trace.transform($input, $name, $type_name, $value) }};
}
#[macro_export]
macro_rules! trace_consume {
($trace:expr, $input:expr, $function:literal, $parameter:literal) => {{ $trace.consume($input, $function, $parameter) }};
}
#[macro_export]
macro_rules! trace_return {
($trace:expr, $input:expr, $name:literal, $type_name:literal, $value:expr) => {{ $trace.return_value($input, $name, $type_name, $value) }};
}