struct CoverageMapGenerator {
    filenames: FxIndexSet<CString>,
}

Fields§

§filenames: FxIndexSet<CString>

Implementations§

source§

impl CoverageMapGenerator

source

fn new(tcx: TyCtxt<'_>) -> Self

source

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.

source

fn generate_coverage_map<'ll>( self, cx: &CodegenCx<'ll, '_>, version: u32, filenames_size: usize, filenames_val: &'ll Value ) -> &'ll Value

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§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

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:56 bytes