Struct rustc_mir_transform::coverage::debug::DebugCounters
source · pub(super) struct DebugCounters {
some_counters: Option<FxHashMap<ExpressionOperandId, DebugCounter>>,
}
Expand description
If enabled, this struct maintains a map from CoverageKind
IDs (as ExpressionOperandId
) to
the CoverageKind
data and optional label (normally, the counter’s associated
BasicCoverageBlock
format string, if any).
Use format_counter
to convert one of these CoverageKind
counters to a debug output string,
as directed by the DebugOptions
. This allows the format of counter labels in logs and dump
files (including the CoverageGraph
graphviz file) to be changed at runtime, via environment
variable.
DebugCounters
supports a recursive rendering of Expression
counters, so they can be
presented as nested expressions such as (bcb3 - (bcb0 + bcb1))
.
Fields§
§some_counters: Option<FxHashMap<ExpressionOperandId, DebugCounter>>
Implementations§
source§impl DebugCounters
impl DebugCounters
pub fn new() -> Self
pub fn enable(&mut self)
pub fn is_enabled(&self) -> bool
pub fn add_counter(
&mut self,
counter_kind: &CoverageKind,
some_block_label: Option<String>
)
pub fn some_block_label(&self, operand: ExpressionOperandId) -> Option<&String>
pub fn format_counter(&self, counter_kind: &CoverageKind) -> String
fn format_counter_kind(&self, counter_kind: &CoverageKind) -> String
fn format_operand(&self, operand: ExpressionOperandId) -> String
Auto Trait Implementations§
impl RefUnwindSafe for DebugCounters
impl Send for DebugCounters
impl Sync for DebugCounters
impl Unpin for DebugCounters
impl UnwindSafe for DebugCounters
Blanket Implementations§
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes