Struct rustc_codegen_llvm::coverageinfo::mapgen::CoverageMapGenerator [−][src]
struct CoverageMapGenerator {
filenames: FxIndexSet<CString>,
}Fields
filenames: FxIndexSet<CString>Implementations
fn write_coverage_mapping<'a>(
&mut self,
expressions: Vec<CounterExpression>,
counter_regions: impl Iterator<Item = (Counter, &'a CodeRegion)>,
coverage_mapping_buffer: &RustString
)
fn write_coverage_mapping<'a>(
&mut self,
expressions: Vec<CounterExpression>,
counter_regions: impl Iterator<Item = (Counter, &'a CodeRegion)>,
coverage_mapping_buffer: &RustString
)Using the expressions and counter_regions collected for the current function, generate
the mapping_regions and virtual_file_mapping, and capture any new filenames. Then use
LLVM APIs to encode the virtual_file_mapping, expressions, and mapping_regions into
the given coverage_mapping byte buffer, compliant with the LLVM Coverage Mapping format.
Construct coverage map header and the array of function records, and combine them into the coverage map. Save the coverage map data into the LLVM IR as a static global using a specific, well-known section and name.
Auto Trait Implementations
impl RefUnwindSafe for CoverageMapGeneratorimpl Send for CoverageMapGeneratorimpl Sync for CoverageMapGeneratorimpl Unpin for CoverageMapGeneratorimpl UnwindSafe for CoverageMapGeneratorBlanket Implementations
Layout
Note: Most layout information is completely unstable and may be different between compiler versions and platforms. 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: 56 bytes