[−][src]Struct rustc_codegen_llvm::llvm_::ffi::coverageinfo::CounterMappingRegion

#[repr(C)]pub struct CounterMappingRegion {
    counter: Counter,
    file_id: u32,
    expanded_file_id: u32,
    start_line: u32,
    start_col: u32,
    end_line: u32,
    end_col: u32,
    kind: RegionKind,
}

This struct provides LLVM's representation of a "CoverageMappingRegion", encoded into the coverage map, in accordance with the LLVM Code Coverage Mapping Format. The struct composes fields representing the Counter type and value(s) (injected counter ID, or expression type and operands), the source file (an indirect index into a "filenames array", encoded separately), and source location (start and end positions of the represented code region).

Aligns with llvm::coverage::CounterMappingRegion Important: The Rust struct layout (order and types of fields) must match its C++ counterpart.

Fields

counter: Counter

The counter type and type-dependent counter data, if any.

file_id: u32

An indirect reference to the source filename. In the LLVM Coverage Mapping Format, the file_id is an index into a function-specific virtual_file_mapping array of indexes that, in turn, are used to look up the filename for this region.

expanded_file_id: u32

If the RegionKind is an ExpansionRegion, the expanded_file_id can be used to find the mapping regions created as a result of macro expansion, by checking if their file id matches the expanded file id.

start_line: u32

1-based starting line of the mapping region.

start_col: u32

1-based starting column of the mapping region.

end_line: u32

1-based ending line of the mapping region.

end_col: u32

1-based ending column of the mapping region. If the high bit is set, the current mapping region is a gap area.

kind: RegionKind

Implementations

impl CounterMappingRegion[src]

pub fn code_region(
    counter: Counter,
    file_id: u32,
    start_line: u32,
    start_col: u32,
    end_line: u32,
    end_col: u32
) -> Self
[src]

pub fn expansion_region(
    file_id: u32,
    expanded_file_id: u32,
    start_line: u32,
    start_col: u32,
    end_line: u32,
    end_col: u32
) -> Self
[src]

pub fn skipped_region(
    file_id: u32,
    start_line: u32,
    start_col: u32,
    end_line: u32,
    end_col: u32
) -> Self
[src]

pub fn gap_region(
    counter: Counter,
    file_id: u32,
    start_line: u32,
    start_col: u32,
    end_line: u32,
    end_col: u32
) -> Self
[src]

Trait Implementations

impl Clone for CounterMappingRegion[src]

impl Copy for CounterMappingRegion[src]

impl Debug for CounterMappingRegion[src]

Auto Trait Implementations

impl RefUnwindSafe for CounterMappingRegion

impl Send for CounterMappingRegion

impl Sync for CounterMappingRegion

impl Unpin for CounterMappingRegion

impl UnwindSafe for CounterMappingRegion

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone, 
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.