@@ -180,7 +180,10 @@ impl<'a> SegmentIter<'a> {
180
180
self . current_index += 1 ;
181
181
self . tracing_index = self . current_index ;
182
182
}
183
- _ => self . current_index += 1 ,
183
+ _ => match memchr:: memchr2 ( b',' , b';' , & self . mapping_str [ self . current_index ..] ) {
184
+ Some ( index) => self . current_index += index,
185
+ None => self . current_index = mapping_str_len,
186
+ } ,
184
187
}
185
188
186
189
if self . current_index == mapping_str_len {
@@ -461,20 +464,20 @@ fn stream_chunks_of_source_map_final<'a>(
461
464
on_name ( i as u32 , Cow :: Borrowed ( name) ) ;
462
465
}
463
466
let mut mapping_active_line = 0 ;
464
- let mut on_mapping = |mapping : & Mapping | {
467
+ let mut on_mapping = |mapping : Mapping | {
465
468
if mapping. generated_line >= result. generated_line
466
469
&& ( mapping. generated_column >= result. generated_column
467
470
|| mapping. generated_line > result. generated_line )
468
471
{
469
472
return ;
470
473
}
471
- if let Some ( original) = & mapping. original {
474
+ if let Some ( original) = mapping. original {
472
475
on_chunk (
473
476
None ,
474
477
Mapping {
475
478
generated_line : mapping. generated_line ,
476
479
generated_column : mapping. generated_column ,
477
- original : Some ( * original) ,
480
+ original : Some ( original) ,
478
481
} ,
479
482
) ;
480
483
mapping_active_line = mapping. generated_line ;
@@ -490,7 +493,7 @@ fn stream_chunks_of_source_map_final<'a>(
490
493
}
491
494
} ;
492
495
for mapping in source_map. decoded_mappings ( ) {
493
- on_mapping ( & mapping) ;
496
+ on_mapping ( mapping) ;
494
497
}
495
498
result
496
499
}
@@ -622,29 +625,19 @@ fn stream_chunks_of_source_map_lines_final<'a>(
622
625
} ;
623
626
let mut current_generated_line = 1 ;
624
627
625
- let mut on_mapping = |mapping : & Mapping | {
626
- if let Some ( original) = & mapping. original . filter ( |_| {
628
+ let mut on_mapping = |mut mapping : Mapping | {
629
+ if let Some ( mut original) = mapping. original . filter ( |_| {
627
630
current_generated_line <= mapping. generated_line
628
631
&& mapping. generated_line <= final_line
629
632
} ) {
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
- ) ;
633
+ mapping. generated_column = 0 ;
634
+ original. name_index = None ;
643
635
current_generated_line = mapping. generated_line + 1 ;
636
+ on_chunk ( None , mapping) ;
644
637
}
645
638
} ;
646
639
for mapping in source_map. decoded_mappings ( ) {
647
- on_mapping ( & mapping) ;
640
+ on_mapping ( mapping) ;
648
641
}
649
642
result
650
643
}
@@ -671,7 +664,7 @@ fn stream_chunks_of_source_map_lines_full<'a>(
671
664
)
672
665
}
673
666
let mut current_generated_line = 1 ;
674
- let mut on_mapping = |mapping : & Mapping | {
667
+ let mut on_mapping = |mut mapping : Mapping | {
675
668
if mapping. original . is_none ( )
676
669
|| mapping. generated_line < current_generated_line
677
670
|| mapping. generated_line as usize > lines. len ( )
@@ -692,29 +685,19 @@ fn stream_chunks_of_source_map_lines_full<'a>(
692
685
}
693
686
current_generated_line += 1 ;
694
687
}
695
- if let Some ( original) = & mapping
688
+ if let Some ( mut original) = mapping
696
689
. original
697
690
. filter ( |_| mapping. generated_line as usize <= lines. len ( ) )
698
691
{
699
692
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
- ) ;
693
+ mapping. generated_column = 0 ;
694
+ original. name_index = None ;
695
+ on_chunk ( Some ( Cow :: Borrowed ( chunk) ) , mapping) ;
713
696
current_generated_line += 1 ;
714
697
}
715
698
} ;
716
699
for mapping in source_map. decoded_mappings ( ) {
717
- on_mapping ( & mapping) ;
700
+ on_mapping ( mapping) ;
718
701
}
719
702
while current_generated_line as usize <= lines. len ( ) {
720
703
let chunk = lines[ current_generated_line as usize - 1 ] ;
0 commit comments