@@ -180,7 +180,14 @@ impl<'a> SegmentIter<'a> {
180180 self . current_index += 1 ;
181181 self . tracing_index = self . current_index ;
182182 }
183- _ => self . current_index += 1 ,
183+ _ => match memchr:: memchr2 (
184+ b',' ,
185+ b';' ,
186+ & self . mapping_str [ self . current_index ..] ,
187+ ) {
188+ Some ( index) => self . current_index += index,
189+ None => self . current_index = mapping_str_len,
190+ } ,
184191 }
185192
186193 if self . current_index == mapping_str_len {
@@ -461,20 +468,20 @@ fn stream_chunks_of_source_map_final<'a>(
461468 on_name ( i as u32 , Cow :: Borrowed ( name) ) ;
462469 }
463470 let mut mapping_active_line = 0 ;
464- let mut on_mapping = |mapping : & Mapping | {
471+ let mut on_mapping = |mapping : Mapping | {
465472 if mapping. generated_line >= result. generated_line
466473 && ( mapping. generated_column >= result. generated_column
467474 || mapping. generated_line > result. generated_line )
468475 {
469476 return ;
470477 }
471- if let Some ( original) = & mapping. original {
478+ if let Some ( original) = mapping. original {
472479 on_chunk (
473480 None ,
474481 Mapping {
475482 generated_line : mapping. generated_line ,
476483 generated_column : mapping. generated_column ,
477- original : Some ( * original) ,
484+ original : Some ( original) ,
478485 } ,
479486 ) ;
480487 mapping_active_line = mapping. generated_line ;
@@ -490,7 +497,7 @@ fn stream_chunks_of_source_map_final<'a>(
490497 }
491498 } ;
492499 for mapping in source_map. decoded_mappings ( ) {
493- on_mapping ( & mapping) ;
500+ on_mapping ( mapping) ;
494501 }
495502 result
496503}
@@ -622,29 +629,19 @@ fn stream_chunks_of_source_map_lines_final<'a>(
622629 } ;
623630 let mut current_generated_line = 1 ;
624631
625- let mut on_mapping = |mapping : & Mapping | {
626- if let Some ( original) = & mapping. original . filter ( |_| {
632+ let mut on_mapping = |mut mapping : Mapping | {
633+ if let Some ( mut original) = mapping. original . filter ( |_| {
627634 current_generated_line <= mapping. generated_line
628635 && mapping. generated_line <= final_line
629636 } ) {
630- on_chunk (
631- None ,
632- Mapping {
633- generated_line : mapping. generated_line ,
634- generated_column : 0 ,
635- original : Some ( OriginalLocation {
636- source_index : original. source_index ,
637- original_line : original. original_line ,
638- original_column : original. original_column ,
639- name_index : None ,
640- } ) ,
641- } ,
642- ) ;
637+ mapping. generated_column = 0 ;
638+ original. name_index = None ;
643639 current_generated_line = mapping. generated_line + 1 ;
640+ on_chunk ( None , mapping) ;
644641 }
645642 } ;
646643 for mapping in source_map. decoded_mappings ( ) {
647- on_mapping ( & mapping) ;
644+ on_mapping ( mapping) ;
648645 }
649646 result
650647}
@@ -671,7 +668,7 @@ fn stream_chunks_of_source_map_lines_full<'a>(
671668 )
672669 }
673670 let mut current_generated_line = 1 ;
674- let mut on_mapping = |mapping : & Mapping | {
671+ let mut on_mapping = |mut mapping : Mapping | {
675672 if mapping. original . is_none ( )
676673 || mapping. generated_line < current_generated_line
677674 || mapping. generated_line as usize > lines. len ( )
@@ -692,29 +689,19 @@ fn stream_chunks_of_source_map_lines_full<'a>(
692689 }
693690 current_generated_line += 1 ;
694691 }
695- if let Some ( original) = & mapping
692+ if let Some ( mut original) = mapping
696693 . original
697694 . filter ( |_| mapping. generated_line as usize <= lines. len ( ) )
698695 {
699696 let chunk = lines[ current_generated_line as usize - 1 ] ;
700- on_chunk (
701- Some ( Cow :: Borrowed ( chunk) ) ,
702- Mapping {
703- generated_line : mapping. generated_line ,
704- generated_column : 0 ,
705- original : Some ( OriginalLocation {
706- source_index : original. source_index ,
707- original_line : original. original_line ,
708- original_column : original. original_column ,
709- name_index : None ,
710- } ) ,
711- } ,
712- ) ;
697+ mapping. generated_column = 0 ;
698+ original. name_index = None ;
699+ on_chunk ( Some ( Cow :: Borrowed ( chunk) ) , mapping) ;
713700 current_generated_line += 1 ;
714701 }
715702 } ;
716703 for mapping in source_map. decoded_mappings ( ) {
717- on_mapping ( & mapping) ;
704+ on_mapping ( mapping) ;
718705 }
719706 while current_generated_line as usize <= lines. len ( ) {
720707 let chunk = lines[ current_generated_line as usize - 1 ] ;
0 commit comments