@@ -4,10 +4,7 @@ use super::{
44 string_name,
55 tab_element:: { self , tab_element3, TabElement } ,
66} ;
7- use crate :: {
8- backend:: errors:: backend_error:: BackendError , debugln, parser:: tab_element:: TabElementError ,
9- traceln,
10- } ;
7+ use crate :: { backend:: errors:: backend_error:: BackendError , parser:: tab_element:: TabElementError } ;
118use std:: ops:: RangeInclusive ;
129
1310pub fn line_is_valid ( line : & str ) -> bool {
@@ -93,7 +90,8 @@ pub fn parse<T: AsRef<str>>(lines: &[T]) -> ParseResult {
9390 part_first_line += 1
9491 }
9592 let range = part_first_line..=part_first_line + 5 ;
96- trace ! ( ?range, "found part" ) ;
93+ let _part = span ! ( Level :: DEBUG , "parsing part" , ?range) ;
94+ let _part = _part. enter ( ) ;
9795 r. offsets . push ( ( part_first_line as u32 , r. tick_stream . len ( ) as u32 ) ) ;
9896 let mut part: Vec < & str > = lines[ range] . iter ( ) . map ( |s| s. as_ref ( ) . trim ( ) ) . collect ( ) ; // TODO: check if this is slow
9997
@@ -161,7 +159,8 @@ pub fn parse<T: AsRef<str>>(lines: &[T]) -> ParseResult {
161159 r. tick_stream . push ( te) ;
162160 }
163161 if is_multichar {
164- trace ! ( tick, "marked as multichar, running fixup" ) ;
162+ let _ms = span ! ( Level :: DEBUG , "marked as multichar, running fixup" , tick) ;
163+ let _ms = _ms. enter ( ) ;
165164 tick_cnt_est -= 1 ;
166165 for s in 0 ..6 {
167166 if is_multi_on[ s] {
@@ -170,7 +169,8 @@ pub fn parse<T: AsRef<str>>(lines: &[T]) -> ParseResult {
170169 } ;
171170 let elem_idx = r. tick_stream . len ( ) - ( 6 - s) ;
172171 let elem = & r. tick_stream [ elem_idx] ;
173- trace ! ( string = s, ?elem) ;
172+ let _s = span ! ( Level :: DEBUG , "fixing up string" , string = s, ?elem) ;
173+ let _s = _s. enter ( ) ;
174174 if let TabElement :: Rest = elem {
175175 let _s2 = span ! (
176176 Level :: TRACE ,
@@ -194,7 +194,9 @@ pub fn parse<T: AsRef<str>>(lines: &[T]) -> ParseResult {
194194 r. tick_stream [ len - ( 6 - s) ] = next. 1 ;
195195 part[ s] = next. 0 ;
196196 } else {
197- trace ! ( "this is not a Rest, so we check the next element" ) ;
197+ let _q =
198+ span ! ( Level :: TRACE , "this is not a Rest, so we check the next element" ) ;
199+ let _q = _q. enter ( ) ;
198200 if part[ s] . starts_with ( "-" ) {
199201 trace ! ( "next element is Rest so we skip it" ) ;
200202 part[ s] = & part[ s] [ 1 ..] ;
@@ -310,7 +312,7 @@ pub fn source_location_from_stream(r: &ParseResult, tick_location: u32) -> (u32,
310312
311313pub fn dump_source ( input : & Vec < & str > ) -> String {
312314 use itertools:: Itertools ;
313- input. iter ( ) . join ( "\n " )
315+ std :: iter :: once ( & "" ) . chain ( input. iter ( ) ) . join ( "\n " )
314316}
315317
316318#[ test]
0 commit comments