@@ -297,7 +297,9 @@ impl Ast {
297297 /// Returns the source text for `id`, resolving `NodeContent::Range`
298298 /// against the stored source bytes when available.
299299 pub fn source_text ( & self , id : Id ) -> String {
300- let Some ( node) = self . get_node ( id) else { return String :: new ( ) ; } ;
300+ let Some ( node) = self . get_node ( id) else {
301+ return String :: new ( ) ;
302+ } ;
301303 let read_range = |range : & tree_sitter:: Range | {
302304 let start = range. start_byte ;
303305 let end = range. end_byte ;
@@ -488,7 +490,10 @@ impl Ast {
488490
489491 /// Prepend a child id to the given field of the given node.
490492 pub fn prepend_field_child ( & mut self , node_id : Id , field_id : FieldId , value_id : Id ) {
491- let node = self . nodes . get_mut ( node_id) . expect ( "prepend_field_child: invalid node id" ) ;
493+ let node = self
494+ . nodes
495+ . get_mut ( node_id)
496+ . expect ( "prepend_field_child: invalid node id" ) ;
492497 node. fields . entry ( field_id) . or_default ( ) . insert ( 0 , value_id) ;
493498 }
494499
@@ -737,12 +742,7 @@ impl<'a, C: Clone> TranslatorHandle<'a, C> {
737742 /// Recursively apply OneShot rules to `id` and return the resulting
738743 /// node ids. Errors in a Repeating phase (where translation is not
739744 /// meaningful).
740- pub fn translate (
741- & self ,
742- ast : & mut Ast ,
743- user_ctx : & mut C ,
744- id : Id ,
745- ) -> Result < Vec < Id > , String > {
745+ pub fn translate ( & self , ast : & mut Ast , user_ctx : & mut C , id : Id ) -> Result < Vec < Id > , String > {
746746 match & self . inner {
747747 TranslatorImpl :: OneShot {
748748 index,
@@ -851,9 +851,9 @@ impl<C> Rule<C> {
851851 translator : TranslatorHandle < ' _ , C > ,
852852 ) -> Result < Option < Vec < Id > > , String > {
853853 match self . try_match ( ast, node) ? {
854- Some ( captures) => Ok ( Some ( self . run_transform (
855- ast, captures, node, fresh, user_ctx, translator,
856- ) ? ) ) ,
854+ Some ( captures) => Ok ( Some (
855+ self . run_transform ( ast, captures, node, fresh, user_ctx, translator) ? ,
856+ ) ) ,
857857 None => Ok ( None ) ,
858858 }
859859 }
@@ -1004,7 +1004,15 @@ fn apply_repeating_rules_inner<C: Clone>(
10041004 for children in fields. values_mut ( ) {
10051005 let mut new_children: Option < Vec < Id > > = None ;
10061006 for ( i, & child_id) in children. iter ( ) . enumerate ( ) {
1007- let result = apply_repeating_rules_inner ( index, ast, user_ctx, child_id, fresh, rewrite_depth, None ) ?;
1007+ let result = apply_repeating_rules_inner (
1008+ index,
1009+ ast,
1010+ user_ctx,
1011+ child_id,
1012+ fresh,
1013+ rewrite_depth,
1014+ None ,
1015+ ) ?;
10081016 let unchanged = result. len ( ) == 1 && result[ 0 ] == child_id;
10091017 match ( & mut new_children, unchanged) {
10101018 ( None , true ) => { } // unchanged so far, no allocation needed
@@ -1052,7 +1060,6 @@ fn apply_one_shot_rules_inner<C: Clone>(
10521060 fresh : & tree_builder:: FreshScope ,
10531061 rewrite_depth : usize ,
10541062) -> Result < Vec < Id > , String > {
1055-
10561063 if rewrite_depth > MAX_REWRITE_DEPTH {
10571064 return Err ( format ! (
10581065 "Desugaring exceeded maximum rewrite depth ({MAX_REWRITE_DEPTH}). \
@@ -1294,8 +1301,12 @@ impl<'a, C: Clone> Runner<'a, C> {
12941301 let mut root = ast. get_root ( ) ;
12951302 for phase in self . phases {
12961303 let res = match phase. kind {
1297- PhaseKind :: Repeating => apply_repeating_rules ( & phase. rules , ast, user_ctx, root, & fresh) ,
1298- PhaseKind :: OneShot => apply_one_shot_rules ( & phase. rules , ast, user_ctx, root, & fresh) ,
1304+ PhaseKind :: Repeating => {
1305+ apply_repeating_rules ( & phase. rules , ast, user_ctx, root, & fresh)
1306+ }
1307+ PhaseKind :: OneShot => {
1308+ apply_one_shot_rules ( & phase. rules , ast, user_ctx, root, & fresh)
1309+ }
12991310 }
13001311 . map_err ( |e| format ! ( "Phase `{}`: {e}" , phase. name) ) ?;
13011312 if res. len ( ) != 1 {
@@ -1315,11 +1326,7 @@ impl<'a, C: Clone> Runner<'a, C> {
13151326impl < ' a , C : Clone + Default > Runner < ' a , C > {
13161327 /// Parse `tree` against `source` and run all phases, using the
13171328 /// default context (`C::default()`) as the initial context state.
1318- pub fn run_from_tree (
1319- & self ,
1320- tree : & tree_sitter:: Tree ,
1321- source : & [ u8 ] ,
1322- ) -> Result < Ast , String > {
1329+ pub fn run_from_tree ( & self , tree : & tree_sitter:: Tree , source : & [ u8 ] ) -> Result < Ast , String > {
13231330 let mut user_ctx = C :: default ( ) ;
13241331 self . run_from_tree_with_ctx ( tree, source, & mut user_ctx)
13251332 }
@@ -1351,8 +1358,7 @@ pub trait Desugarer: Send + Sync {
13511358
13521359 /// Parse `tree` against `source` and run the desugaring pipeline.
13531360 /// Each call constructs a fresh default user context internally.
1354- fn run_from_tree ( & self , tree : & tree_sitter:: Tree , source : & [ u8 ] )
1355- -> Result < Ast , String > ;
1361+ fn run_from_tree ( & self , tree : & tree_sitter:: Tree , source : & [ u8 ] ) -> Result < Ast , String > ;
13561362}
13571363
13581364/// A concrete [`Desugarer`] backed by a [`DesugaringConfig<C>`] for a
@@ -1386,13 +1392,8 @@ impl<C: Default + Clone + Send + Sync + 'static> Desugarer for ConcreteDesugarer
13861392 self . config . output_node_types_yaml
13871393 }
13881394
1389- fn run_from_tree (
1390- & self ,
1391- tree : & tree_sitter:: Tree ,
1392- source : & [ u8 ] ,
1393- ) -> Result < Ast , String > {
1394- let runner =
1395- Runner :: with_schema ( self . language . clone ( ) , & self . schema , & self . config . phases ) ;
1395+ fn run_from_tree ( & self , tree : & tree_sitter:: Tree , source : & [ u8 ] ) -> Result < Ast , String > {
1396+ let runner = Runner :: with_schema ( self . language . clone ( ) , & self . schema , & self . config . phases ) ;
13961397 runner. run_from_tree ( tree, source)
13971398 }
13981399}
0 commit comments