@@ -180,7 +180,14 @@ 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 (
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
+ } ,
184
191
}
185
192
186
193
if self . current_index == mapping_str_len {
@@ -461,20 +468,20 @@ fn stream_chunks_of_source_map_final<'a>(
461
468
on_name ( i as u32 , Cow :: Borrowed ( name) ) ;
462
469
}
463
470
let mut mapping_active_line = 0 ;
464
- let mut on_mapping = |mapping : & Mapping | {
471
+ let mut on_mapping = |mapping : Mapping | {
465
472
if mapping. generated_line >= result. generated_line
466
473
&& ( mapping. generated_column >= result. generated_column
467
474
|| mapping. generated_line > result. generated_line )
468
475
{
469
476
return ;
470
477
}
471
- if let Some ( original) = & mapping. original {
478
+ if let Some ( original) = mapping. original {
472
479
on_chunk (
473
480
None ,
474
481
Mapping {
475
482
generated_line : mapping. generated_line ,
476
483
generated_column : mapping. generated_column ,
477
- original : Some ( * original) ,
484
+ original : Some ( original) ,
478
485
} ,
479
486
) ;
480
487
mapping_active_line = mapping. generated_line ;
@@ -490,7 +497,7 @@ fn stream_chunks_of_source_map_final<'a>(
490
497
}
491
498
} ;
492
499
for mapping in source_map. decoded_mappings ( ) {
493
- on_mapping ( & mapping) ;
500
+ on_mapping ( mapping) ;
494
501
}
495
502
result
496
503
}
@@ -622,29 +629,19 @@ fn stream_chunks_of_source_map_lines_final<'a>(
622
629
} ;
623
630
let mut current_generated_line = 1 ;
624
631
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 ( |_| {
627
634
current_generated_line <= mapping. generated_line
628
635
&& mapping. generated_line <= final_line
629
636
} ) {
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 ;
643
639
current_generated_line = mapping. generated_line + 1 ;
640
+ on_chunk ( None , mapping) ;
644
641
}
645
642
} ;
646
643
for mapping in source_map. decoded_mappings ( ) {
647
- on_mapping ( & mapping) ;
644
+ on_mapping ( mapping) ;
648
645
}
649
646
result
650
647
}
@@ -671,7 +668,7 @@ fn stream_chunks_of_source_map_lines_full<'a>(
671
668
)
672
669
}
673
670
let mut current_generated_line = 1 ;
674
- let mut on_mapping = |mapping : & Mapping | {
671
+ let mut on_mapping = |mut mapping : Mapping | {
675
672
if mapping. original . is_none ( )
676
673
|| mapping. generated_line < current_generated_line
677
674
|| mapping. generated_line as usize > lines. len ( )
@@ -692,29 +689,19 @@ fn stream_chunks_of_source_map_lines_full<'a>(
692
689
}
693
690
current_generated_line += 1 ;
694
691
}
695
- if let Some ( original) = & mapping
692
+ if let Some ( mut original) = mapping
696
693
. original
697
694
. filter ( |_| mapping. generated_line as usize <= lines. len ( ) )
698
695
{
699
696
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) ;
713
700
current_generated_line += 1 ;
714
701
}
715
702
} ;
716
703
for mapping in source_map. decoded_mappings ( ) {
717
- on_mapping ( & mapping) ;
704
+ on_mapping ( mapping) ;
718
705
}
719
706
while current_generated_line as usize <= lines. len ( ) {
720
707
let chunk = lines[ current_generated_line as usize - 1 ] ;
0 commit comments