Struct rustc_codegen_llvm::coverageinfo::map_data::FunctionCoverage
source · pub(crate) struct FunctionCoverage<'tcx> {
function_coverage_info: &'tcx FunctionCoverageInfo,
is_used: bool,
counters_seen: BitSet<CounterId>,
zero_expressions: ZeroExpressions,
}
Fields§
§function_coverage_info: &'tcx FunctionCoverageInfo
§is_used: bool
§counters_seen: BitSet<CounterId>
§zero_expressions: ZeroExpressions
Implementations§
source§impl<'tcx> FunctionCoverage<'tcx>
impl<'tcx> FunctionCoverage<'tcx>
sourcepub(crate) fn is_used(&self) -> bool
pub(crate) fn is_used(&self) -> bool
Returns true for a used (called) function, and false for an unused function.
sourcepub fn source_hash(&self) -> u64
pub fn source_hash(&self) -> u64
Return the source hash, generated from the HIR node structure, and used to indicate whether or not the source code structure changed between different compilations.
sourcepub(crate) fn all_file_names(
&self
) -> impl Iterator<Item = Symbol> + Captures<'_>
pub(crate) fn all_file_names( &self ) -> impl Iterator<Item = Symbol> + Captures<'_>
Returns an iterator over all filenames used by this function’s mappings.
sourcepub(crate) fn counter_expressions(
&self
) -> impl Iterator<Item = CounterExpression> + ExactSizeIterator + Captures<'_>
pub(crate) fn counter_expressions( &self ) -> impl Iterator<Item = CounterExpression> + ExactSizeIterator + Captures<'_>
Convert this function’s coverage expression data into a form that can be passed through FFI to LLVM.
sourcepub(crate) fn counter_regions(
&self
) -> impl Iterator<Item = (MappingKind, &CodeRegion)> + ExactSizeIterator
pub(crate) fn counter_regions( &self ) -> impl Iterator<Item = (MappingKind, &CodeRegion)> + ExactSizeIterator
Converts this function’s coverage mappings into an intermediate form
that will be used by mapgen
when preparing for FFI.
fn counter_for_term(&self, term: CovTerm) -> Counter
fn is_zero_term(&self, term: CovTerm) -> bool
Auto Trait Implementations§
impl<'tcx> DynSend for FunctionCoverage<'tcx>
impl<'tcx> DynSync for FunctionCoverage<'tcx>
impl<'tcx> Freeze for FunctionCoverage<'tcx>
impl<'tcx> RefUnwindSafe for FunctionCoverage<'tcx>
impl<'tcx> Send for FunctionCoverage<'tcx>
impl<'tcx> Sync for FunctionCoverage<'tcx>
impl<'tcx> Unpin for FunctionCoverage<'tcx>
impl<'tcx> UnwindSafe for FunctionCoverage<'tcx>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Filterable for T
impl<T> Filterable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
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: 104 bytes