| use rustc_middle::mir::SourceScope; | |
| use rustc_middle::mir::coverage::CoverageKind; | |
| use super::FunctionCx; | |
| use crate::traits::*; | |
| impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { | |
| pub(crate) fn codegen_coverage(&self, bx: &mut Bx, kind: &CoverageKind, scope: SourceScope) { | |
| // Determine the instance that coverage data was originally generated for. | |
| let instance = if let Some(inlined) = scope.inlined_instance(&self.mir.source_scopes) { | |
| self.monomorphize(inlined) | |
| } else { | |
| self.instance | |
| }; | |
| // Handle the coverage info in a backend-specific way. | |
| bx.add_coverage(instance, kind); | |
| } | |
| } |