@@ -13,7 +13,7 @@ use rustc_hir::intravisit::{walk_expr, Visitor};
1313use  rustc_middle:: hir:: map:: Map ; 
1414use  rustc_middle:: hir:: nested_filter; 
1515use  rustc_middle:: mir:: coverage:: { 
16-     CodeRegion ,   CoverageKind ,  DecisionInfo ,  FunctionCoverageInfo ,  Mapping ,  MappingKind , 
16+     CoverageKind ,  DecisionInfo ,  FunctionCoverageInfo ,  Mapping ,  MappingKind ,   SourceRegion , 
1717} ; 
1818use  rustc_middle:: mir:: { 
1919    self ,  BasicBlock ,  BasicBlockData ,  SourceInfo ,  Statement ,  StatementKind ,  Terminator , 
@@ -159,7 +159,7 @@ fn create_mappings<'tcx>(
159159            . expect ( "all BCBs with spans were given counters" ) 
160160            . as_term ( ) 
161161    } ; 
162-     let  region_for_span = |span :  Span | make_code_region ( source_map,  file_name,  span,  body_span) ; 
162+     let  region_for_span = |span :  Span | make_source_region ( source_map,  file_name,  span,  body_span) ; 
163163
164164    // Fully destructure the mappings struct to make sure we don't miss any kinds. 
165165    let  ExtractedMappings  { 
@@ -175,9 +175,9 @@ fn create_mappings<'tcx>(
175175    mappings. extend ( code_mappings. iter ( ) . filter_map ( 
176176        // Ordinary code mappings are the simplest kind. 
177177        |& mappings:: CodeMapping  {  span,  bcb } | { 
178-             let  code_region  = region_for_span ( span) ?; 
178+             let  source_region  = region_for_span ( span) ?; 
179179            let  kind = MappingKind :: Code ( term_for_bcb ( bcb) ) ; 
180-             Some ( Mapping  {  kind,  code_region  } ) 
180+             Some ( Mapping  {  kind,  source_region  } ) 
181181        } , 
182182    ) ) ; 
183183
@@ -186,29 +186,29 @@ fn create_mappings<'tcx>(
186186            let  true_term = term_for_bcb ( true_bcb) ; 
187187            let  false_term = term_for_bcb ( false_bcb) ; 
188188            let  kind = MappingKind :: Branch  {  true_term,  false_term } ; 
189-             let  code_region  = region_for_span ( span) ?; 
190-             Some ( Mapping  {  kind,  code_region  } ) 
189+             let  source_region  = region_for_span ( span) ?; 
190+             Some ( Mapping  {  kind,  source_region  } ) 
191191        } , 
192192    ) ) ; 
193193
194194    mappings. extend ( mcdc_branches. iter ( ) . filter_map ( 
195195        |& mappings:: MCDCBranch  {  span,  true_bcb,  false_bcb,  condition_info,  decision_depth :  _ } | { 
196-             let  code_region  = region_for_span ( span) ?; 
196+             let  source_region  = region_for_span ( span) ?; 
197197            let  true_term = term_for_bcb ( true_bcb) ; 
198198            let  false_term = term_for_bcb ( false_bcb) ; 
199199            let  kind = match  condition_info { 
200200                Some ( mcdc_params)  => MappingKind :: MCDCBranch  {  true_term,  false_term,  mcdc_params } , 
201201                None  => MappingKind :: Branch  {  true_term,  false_term } , 
202202            } ; 
203-             Some ( Mapping  {  kind,  code_region  } ) 
203+             Some ( Mapping  {  kind,  source_region  } ) 
204204        } , 
205205    ) ) ; 
206206
207207    mappings. extend ( mcdc_decisions. iter ( ) . filter_map ( 
208208        |& mappings:: MCDCDecision  {  span,  bitmap_idx,  num_conditions,  .. } | { 
209-             let  code_region  = region_for_span ( span) ?; 
209+             let  source_region  = region_for_span ( span) ?; 
210210            let  kind = MappingKind :: MCDCDecision ( DecisionInfo  {  bitmap_idx,  num_conditions } ) ; 
211-             Some ( Mapping  {  kind,  code_region  } ) 
211+             Some ( Mapping  {  kind,  source_region  } ) 
212212        } , 
213213    ) ) ; 
214214
@@ -362,19 +362,13 @@ fn inject_statement(mir_body: &mut mir::Body<'_>, counter_kind: CoverageKind, bb
362362/// but it's hard to rule out entirely (especially in the presence of complex macros 
363363/// or other expansions), and if it does happen then skipping a span or function is 
364364/// better than an ICE or `llvm-cov` failure that the user might have no way to avoid. 
365- fn  make_code_region ( 
365+ #[ instrument( level = "debug" ,  skip( source_map) ) ]  
366+ fn  make_source_region ( 
366367    source_map :  & SourceMap , 
367368    file_name :  Symbol , 
368369    span :  Span , 
369370    body_span :  Span , 
370- )  -> Option < CodeRegion >  { 
371-     debug ! ( 
372-         "Called make_code_region(file_name={}, span={}, body_span={})" , 
373-         file_name, 
374-         source_map. span_to_diagnostic_string( span) , 
375-         source_map. span_to_diagnostic_string( body_span) 
376-     ) ; 
377- 
371+ )  -> Option < SourceRegion >  { 
378372    let  lo = span. lo ( ) ; 
379373    let  hi = span. hi ( ) ; 
380374
@@ -424,7 +418,7 @@ fn make_code_region(
424418    start_line = source_map. doctest_offset_line ( & file. name ,  start_line) ; 
425419    end_line = source_map. doctest_offset_line ( & file. name ,  end_line) ; 
426420
427-     check_code_region ( CodeRegion  { 
421+     check_source_region ( SourceRegion  { 
428422        file_name, 
429423        start_line :  start_line as  u32 , 
430424        start_col :  start_col as  u32 , 
@@ -433,12 +427,12 @@ fn make_code_region(
433427    } ) 
434428} 
435429
436- /// If `llvm-cov` sees a code  region that is improperly ordered (end < start), 
430+ /// If `llvm-cov` sees a source  region that is improperly ordered (end < start), 
437431/// it will immediately exit with a fatal error. To prevent that from happening, 
438432/// discard regions that are improperly ordered, or might be interpreted in a 
439433/// way that makes them improperly ordered. 
440- fn  check_code_region ( code_region :   CodeRegion )  -> Option < CodeRegion >  { 
441-     let  CodeRegion  {  file_name :  _,  start_line,  start_col,  end_line,  end_col }  = code_region ; 
434+ fn  check_source_region ( source_region :   SourceRegion )  -> Option < SourceRegion >  { 
435+     let  SourceRegion  {  file_name :  _,  start_line,  start_col,  end_line,  end_col }  = source_region ; 
442436
443437    // Line/column coordinates are supposed to be 1-based. If we ever emit 
444438    // coordinates of 0, `llvm-cov` might misinterpret them. 
@@ -451,17 +445,17 @@ fn check_code_region(code_region: CodeRegion) -> Option<CodeRegion> {
451445    let  is_ordered = ( start_line,  start_col)  <= ( end_line,  end_col) ; 
452446
453447    if  all_nonzero && end_col_has_high_bit_unset && is_ordered { 
454-         Some ( code_region ) 
448+         Some ( source_region ) 
455449    }  else  { 
456450        debug ! ( 
457-             ?code_region , 
451+             ?source_region , 
458452            ?all_nonzero, 
459453            ?end_col_has_high_bit_unset, 
460454            ?is_ordered, 
461-             "Skipping code  region that would be misinterpreted or rejected by LLVM" 
455+             "Skipping source  region that would be misinterpreted or rejected by LLVM" 
462456        ) ; 
463457        // If this happens in a debug build, ICE to make it easier to notice. 
464-         debug_assert ! ( false ,  "Improper code  region: {code_region :?}" ) ; 
458+         debug_assert ! ( false ,  "Improper source  region: {source_region :?}" ) ; 
465459        None 
466460    } 
467461} 
0 commit comments