[−][src]Struct rustc_mir::transform::coverage::spans::CoverageSpan
A BCB is deconstructed into one or more Spans. Each Span maps to a CoverageSpan that
references the originating BCB and one or more MIR Statements and/or Terminators.
Initially, the Spans come from the Statements and Terminators, but subsequent
transforms can combine adjacent Spans and CoverageSpan from the same BCB, merging the
CoverageStatement vectors, and the Spans to cover the extent of the combined Spans.
Note: A CoverageStatement merged into another CoverageSpan may come from a BasicBlock that
is not part of the CoverageSpan bcb if the statement was included because it's Span matches
or is subsumed by the Span associated with this CoverageSpan, and it's BasicBlock
is_dominated_by() the BasicBlocks in this CoverageSpan.
Fields
span: Spanbcb: BasicCoverageBlockcoverage_statements: Vec<CoverageStatement>is_closure: boolImplementations
impl CoverageSpan[src]
pub fn for_statement<'tcx>(
statement: &Statement<'tcx>,
span: Span,
bcb: BasicCoverageBlock,
bb: BasicBlock,
stmt_index: usize
) -> Self[src]
statement: &Statement<'tcx>,
span: Span,
bcb: BasicCoverageBlock,
bb: BasicBlock,
stmt_index: usize
) -> Self
pub fn for_terminator(
span: Span,
bcb: BasicCoverageBlock,
bb: BasicBlock
) -> Self[src]
span: Span,
bcb: BasicCoverageBlock,
bb: BasicBlock
) -> Self
pub fn merge_from(&mut self, other: CoverageSpan)[src]
pub fn cutoff_statements_at(&mut self, cutoff_pos: BytePos)[src]
pub fn is_mergeable(&self, other: &Self) -> bool[src]
pub fn is_in_same_bcb(&self, other: &Self) -> bool[src]
pub fn format<'tcx, 'a>(
&self,
tcx: TyCtxt<'tcx>,
mir_body: &'a Body<'tcx>
) -> String[src]
&self,
tcx: TyCtxt<'tcx>,
mir_body: &'a Body<'tcx>
) -> String
pub fn format_coverage_statements<'tcx, 'a>(
&self,
tcx: TyCtxt<'tcx>,
mir_body: &'a Body<'tcx>
) -> String[src]
&self,
tcx: TyCtxt<'tcx>,
mir_body: &'a Body<'tcx>
) -> String
Trait Implementations
impl Clone for CoverageSpan[src]
pub fn clone(&self) -> CoverageSpan[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Debug for CoverageSpan[src]
Auto Trait Implementations
impl RefUnwindSafe for CoverageSpan
impl !Send for CoverageSpan
impl !Sync for CoverageSpan
impl Unpin for CoverageSpan
impl UnwindSafe for CoverageSpan
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.