@@ -397,15 +397,6 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
397
397
}
398
398
}
399
399
400
- fn print_meta_item_lit ( & mut self , lit : & ast:: MetaItemLit ) {
401
- self . print_token_literal ( lit. as_token_lit ( ) , lit. span )
402
- }
403
-
404
- fn print_token_literal ( & mut self , token_lit : token:: Lit , span : Span ) {
405
- self . maybe_print_comment ( span. lo ( ) ) ;
406
- self . word ( token_lit. to_string ( ) )
407
- }
408
-
409
400
fn print_string ( & mut self , st : & str , style : ast:: StrStyle ) {
410
401
let st = match style {
411
402
ast:: StrStyle :: Cooked => format ! ( "\" {}\" " , st. escape_debug( ) ) ,
@@ -416,30 +407,14 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
416
407
self . word ( st)
417
408
}
418
409
419
- fn print_symbol ( & mut self , sym : Symbol , style : ast:: StrStyle ) {
420
- self . print_string ( sym. as_str ( ) , style) ;
421
- }
422
-
423
410
fn print_inner_attributes ( & mut self , attrs : & [ ast:: Attribute ] ) -> bool {
424
411
self . print_either_attributes ( attrs, ast:: AttrStyle :: Inner , false , true )
425
412
}
426
413
427
- fn print_inner_attributes_no_trailing_hardbreak ( & mut self , attrs : & [ ast:: Attribute ] ) -> bool {
428
- self . print_either_attributes ( attrs, ast:: AttrStyle :: Inner , false , false )
429
- }
430
-
431
414
fn print_outer_attributes ( & mut self , attrs : & [ ast:: Attribute ] ) -> bool {
432
415
self . print_either_attributes ( attrs, ast:: AttrStyle :: Outer , false , true )
433
416
}
434
417
435
- fn print_inner_attributes_inline ( & mut self , attrs : & [ ast:: Attribute ] ) -> bool {
436
- self . print_either_attributes ( attrs, ast:: AttrStyle :: Inner , true , true )
437
- }
438
-
439
- fn print_outer_attributes_inline ( & mut self , attrs : & [ ast:: Attribute ] ) -> bool {
440
- self . print_either_attributes ( attrs, ast:: AttrStyle :: Outer , true , true )
441
- }
442
-
443
418
fn print_either_attributes (
444
419
& mut self ,
445
420
attrs : & [ ast:: Attribute ] ,
@@ -463,10 +438,6 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
463
438
printed
464
439
}
465
440
466
- fn print_attribute ( & mut self , attr : & ast:: Attribute ) {
467
- self . print_attribute_inline ( attr, false )
468
- }
469
-
470
441
fn print_attribute_inline ( & mut self , attr : & ast:: Attribute , is_inline : bool ) {
471
442
if !is_inline {
472
443
self . hardbreak_if_not_bol ( ) ;
@@ -521,33 +492,6 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
521
492
self . end ( ) ;
522
493
}
523
494
524
- fn print_meta_list_item ( & mut self , item : & ast:: NestedMetaItem ) {
525
- match item {
526
- ast:: NestedMetaItem :: MetaItem ( mi) => self . print_meta_item ( mi) ,
527
- ast:: NestedMetaItem :: Lit ( lit) => self . print_meta_item_lit ( lit) ,
528
- }
529
- }
530
-
531
- fn print_meta_item ( & mut self , item : & ast:: MetaItem ) {
532
- self . ibox ( INDENT_UNIT ) ;
533
- match & item. kind {
534
- ast:: MetaItemKind :: Word => self . print_path ( & item. path , false , 0 ) ,
535
- ast:: MetaItemKind :: NameValue ( value) => {
536
- self . print_path ( & item. path , false , 0 ) ;
537
- self . space ( ) ;
538
- self . word_space ( "=" ) ;
539
- self . print_meta_item_lit ( value) ;
540
- }
541
- ast:: MetaItemKind :: List ( items) => {
542
- self . print_path ( & item. path , false , 0 ) ;
543
- self . popen ( ) ;
544
- self . commasep ( Consistent , items, |s, i| s. print_meta_list_item ( i) ) ;
545
- self . pclose ( ) ;
546
- }
547
- }
548
- self . end ( ) ;
549
- }
550
-
551
495
/// This doesn't deserve to be called "pretty" printing, but it should be
552
496
/// meaning-preserving. A quick hack that might help would be to look at the
553
497
/// spans embedded in the TTs to decide where to put spaces and newlines.
@@ -839,17 +783,6 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
839
783
Self :: to_string ( |s| s. print_type ( ty) )
840
784
}
841
785
842
- fn bounds_to_string ( & self , bounds : & [ ast:: GenericBound ] ) -> String {
843
- Self :: to_string ( |s| s. print_type_bounds ( bounds) )
844
- }
845
-
846
- fn where_bound_predicate_to_string (
847
- & self ,
848
- where_bound_predicate : & ast:: WhereBoundPredicate ,
849
- ) -> String {
850
- Self :: to_string ( |s| s. print_where_bound_predicate ( where_bound_predicate) )
851
- }
852
-
853
786
fn pat_to_string ( & self , pat : & ast:: Pat ) -> String {
854
787
Self :: to_string ( |s| s. print_pat ( pat) )
855
788
}
@@ -862,14 +795,6 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
862
795
Self :: to_string ( |s| s. print_meta_item_lit ( lit) )
863
796
}
864
797
865
- fn tt_to_string ( & self , tt : & TokenTree ) -> String {
866
- Self :: to_string ( |s| s. print_tt ( tt, false ) )
867
- }
868
-
869
- fn tts_to_string ( & self , tokens : & TokenStream ) -> String {
870
- Self :: to_string ( |s| s. print_tts ( tokens, false ) )
871
- }
872
-
873
798
fn stmt_to_string ( & self , stmt : & ast:: Stmt ) -> String {
874
799
Self :: to_string ( |s| s. print_stmt ( stmt) )
875
800
}
@@ -878,22 +803,10 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
878
803
Self :: to_string ( |s| s. print_item ( i) )
879
804
}
880
805
881
- fn assoc_item_to_string ( & self , i : & ast:: AssocItem ) -> String {
882
- Self :: to_string ( |s| s. print_assoc_item ( i) )
883
- }
884
-
885
- fn foreign_item_to_string ( & self , i : & ast:: ForeignItem ) -> String {
886
- Self :: to_string ( |s| s. print_foreign_item ( i) )
887
- }
888
-
889
806
fn path_to_string ( & self , p : & ast:: Path ) -> String {
890
807
Self :: to_string ( |s| s. print_path ( p, false , 0 ) )
891
808
}
892
809
893
- fn path_segment_to_string ( & self , p : & ast:: PathSegment ) -> String {
894
- Self :: to_string ( |s| s. print_path_segment ( p, false ) )
895
- }
896
-
897
810
fn vis_to_string ( & self , v : & ast:: Visibility ) -> String {
898
811
Self :: to_string ( |s| s. print_visibility ( v) )
899
812
}
@@ -908,22 +821,10 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
908
821
} )
909
822
}
910
823
911
- fn meta_list_item_to_string ( & self , li : & ast:: NestedMetaItem ) -> String {
912
- Self :: to_string ( |s| s. print_meta_list_item ( li) )
913
- }
914
-
915
824
fn attr_item_to_string ( & self , ai : & ast:: AttrItem ) -> String {
916
825
Self :: to_string ( |s| s. print_attr_item ( ai, ai. path . span ) )
917
826
}
918
827
919
- fn attribute_to_string ( & self , attr : & ast:: Attribute ) -> String {
920
- Self :: to_string ( |s| s. print_attribute ( attr) )
921
- }
922
-
923
- fn param_to_string ( & self , arg : & ast:: Param ) -> String {
924
- Self :: to_string ( |s| s. print_param ( arg, false ) )
925
- }
926
-
927
828
fn to_string ( f : impl FnOnce ( & mut State < ' _ > ) ) -> String {
928
829
let mut printer = State :: new ( ) ;
929
830
f ( & mut printer) ;
@@ -1812,4 +1713,87 @@ impl<'a> State<'a> {
1812
1713
ast:: IsAuto :: No => { }
1813
1714
}
1814
1715
}
1716
+
1717
+ fn print_meta_item_lit ( & mut self , lit : & ast:: MetaItemLit ) {
1718
+ self . print_token_literal ( lit. as_token_lit ( ) , lit. span )
1719
+ }
1720
+
1721
+ fn print_token_literal ( & mut self , token_lit : token:: Lit , span : Span ) {
1722
+ self . maybe_print_comment ( span. lo ( ) ) ;
1723
+ self . word ( token_lit. to_string ( ) )
1724
+ }
1725
+
1726
+ fn print_symbol ( & mut self , sym : Symbol , style : ast:: StrStyle ) {
1727
+ self . print_string ( sym. as_str ( ) , style) ;
1728
+ }
1729
+
1730
+ fn print_inner_attributes_no_trailing_hardbreak ( & mut self , attrs : & [ ast:: Attribute ] ) -> bool {
1731
+ self . print_either_attributes ( attrs, ast:: AttrStyle :: Inner , false , false )
1732
+ }
1733
+
1734
+ fn print_outer_attributes_inline ( & mut self , attrs : & [ ast:: Attribute ] ) -> bool {
1735
+ self . print_either_attributes ( attrs, ast:: AttrStyle :: Outer , true , true )
1736
+ }
1737
+
1738
+ fn print_attribute ( & mut self , attr : & ast:: Attribute ) {
1739
+ self . print_attribute_inline ( attr, false )
1740
+ }
1741
+
1742
+ fn print_meta_list_item ( & mut self , item : & ast:: NestedMetaItem ) {
1743
+ match item {
1744
+ ast:: NestedMetaItem :: MetaItem ( mi) => self . print_meta_item ( mi) ,
1745
+ ast:: NestedMetaItem :: Lit ( lit) => self . print_meta_item_lit ( lit) ,
1746
+ }
1747
+ }
1748
+
1749
+ fn print_meta_item ( & mut self , item : & ast:: MetaItem ) {
1750
+ self . ibox ( INDENT_UNIT ) ;
1751
+ match & item. kind {
1752
+ ast:: MetaItemKind :: Word => self . print_path ( & item. path , false , 0 ) ,
1753
+ ast:: MetaItemKind :: NameValue ( value) => {
1754
+ self . print_path ( & item. path , false , 0 ) ;
1755
+ self . space ( ) ;
1756
+ self . word_space ( "=" ) ;
1757
+ self . print_meta_item_lit ( value) ;
1758
+ }
1759
+ ast:: MetaItemKind :: List ( items) => {
1760
+ self . print_path ( & item. path , false , 0 ) ;
1761
+ self . popen ( ) ;
1762
+ self . commasep ( Consistent , items, |s, i| s. print_meta_list_item ( i) ) ;
1763
+ self . pclose ( ) ;
1764
+ }
1765
+ }
1766
+ self . end ( ) ;
1767
+ }
1768
+
1769
+ pub ( crate ) fn bounds_to_string ( & self , bounds : & [ ast:: GenericBound ] ) -> String {
1770
+ Self :: to_string ( |s| s. print_type_bounds ( bounds) )
1771
+ }
1772
+
1773
+ pub ( crate ) fn where_bound_predicate_to_string (
1774
+ & self ,
1775
+ where_bound_predicate : & ast:: WhereBoundPredicate ,
1776
+ ) -> String {
1777
+ Self :: to_string ( |s| s. print_where_bound_predicate ( where_bound_predicate) )
1778
+ }
1779
+
1780
+ pub ( crate ) fn tt_to_string ( & self , tt : & TokenTree ) -> String {
1781
+ Self :: to_string ( |s| s. print_tt ( tt, false ) )
1782
+ }
1783
+
1784
+ pub ( crate ) fn tts_to_string ( & self , tokens : & TokenStream ) -> String {
1785
+ Self :: to_string ( |s| s. print_tts ( tokens, false ) )
1786
+ }
1787
+
1788
+ pub ( crate ) fn path_segment_to_string ( & self , p : & ast:: PathSegment ) -> String {
1789
+ Self :: to_string ( |s| s. print_path_segment ( p, false ) )
1790
+ }
1791
+
1792
+ pub ( crate ) fn meta_list_item_to_string ( & self , li : & ast:: NestedMetaItem ) -> String {
1793
+ Self :: to_string ( |s| s. print_meta_list_item ( li) )
1794
+ }
1795
+
1796
+ pub ( crate ) fn attribute_to_string ( & self , attr : & ast:: Attribute ) -> String {
1797
+ Self :: to_string ( |s| s. print_attribute ( attr) )
1798
+ }
1815
1799
}
0 commit comments