|  | 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); | 
|  | } | 
|  | } |