1
- // Copyright 2012-2013 The Rust Project Developers. See the COPYRIGHT
1
+ // Copyright 2012 The Rust Project Developers. See the COPYRIGHT
2
2
// file at the top-level directory of this distribution and at
3
3
// http://rust-lang.org/COPYRIGHT.
4
4
//
8
8
// option. This file may not be copied, modified, or distributed
9
9
// except according to those terms.
10
10
11
- use ast:: { Block , Crate , DeclLocal , Expr_ , ExprMac , SyntaxContext } ;
11
+ use ast:: { Block , Crate , NodeId , DeclLocal , Expr_ , ExprMac , SyntaxContext } ;
12
12
use ast:: { Local , Ident , mac_invoc_tt} ;
13
13
use ast:: { item_mac, Mrk , Stmt_ , StmtDecl , StmtMac , StmtExpr , StmtSemi } ;
14
14
use ast:: { token_tree} ;
@@ -553,10 +553,107 @@ impl Visitor<()> for NewNameFinderContext {
553
553
}
554
554
}
555
555
556
+ // XXX: Methods below can become default methods.
557
+
558
+ fn visit_mod ( & mut self , module : & ast:: _mod , _: Span , _: NodeId , _: ( ) ) {
559
+ visit:: walk_mod ( self , module, ( ) )
560
+ }
561
+
562
+ fn visit_view_item ( & mut self , view_item : & ast:: view_item , _: ( ) ) {
563
+ visit:: walk_view_item ( self , view_item, ( ) )
564
+ }
565
+
566
+ fn visit_item ( & mut self , item : @ast:: item , _: ( ) ) {
567
+ visit:: walk_item ( self , item, ( ) )
568
+ }
569
+
570
+ fn visit_foreign_item ( & mut self ,
571
+ foreign_item : @ast:: foreign_item ,
572
+ _: ( ) ) {
573
+ visit:: walk_foreign_item ( self , foreign_item, ( ) )
574
+ }
575
+
576
+ fn visit_local ( & mut self , local : @ast:: Local , _: ( ) ) {
577
+ visit:: walk_local ( self , local, ( ) )
578
+ }
579
+
580
+ fn visit_block ( & mut self , block : & ast:: Block , _: ( ) ) {
581
+ visit:: walk_block ( self , block, ( ) )
582
+ }
583
+
584
+ fn visit_stmt ( & mut self , stmt : @ast:: Stmt , _: ( ) ) {
585
+ visit:: walk_stmt ( self , stmt, ( ) )
586
+ }
587
+
588
+ fn visit_arm ( & mut self , arm : & ast:: Arm , _: ( ) ) {
589
+ visit:: walk_arm ( self , arm, ( ) )
590
+ }
591
+
592
+ fn visit_decl ( & mut self , decl : @ast:: Decl , _: ( ) ) {
593
+ visit:: walk_decl ( self , decl, ( ) )
594
+ }
595
+
596
+ fn visit_expr ( & mut self , expr : @ast:: Expr , _: ( ) ) {
597
+ visit:: walk_expr ( self , expr, ( ) )
598
+ }
599
+
600
+ fn visit_expr_post ( & mut self , _: @ast:: Expr , _: ( ) ) {
601
+ // Empty!
602
+ }
603
+
556
604
fn visit_ty ( & mut self , typ : & ast:: Ty , _: ( ) ) {
557
605
visit:: walk_ty ( self , typ, ( ) )
558
606
}
559
607
608
+ fn visit_generics ( & mut self , generics : & ast:: Generics , _: ( ) ) {
609
+ visit:: walk_generics ( self , generics, ( ) )
610
+ }
611
+
612
+ fn visit_fn ( & mut self ,
613
+ function_kind : & visit:: fn_kind ,
614
+ function_declaration : & ast:: fn_decl ,
615
+ block : & ast:: Block ,
616
+ span : Span ,
617
+ node_id : NodeId ,
618
+ _: ( ) ) {
619
+ visit:: walk_fn ( self ,
620
+ function_kind,
621
+ function_declaration,
622
+ block,
623
+ span,
624
+ node_id,
625
+ ( ) )
626
+ }
627
+
628
+ fn visit_ty_method ( & mut self , ty_method : & ast:: TypeMethod , _: ( ) ) {
629
+ visit:: walk_ty_method ( self , ty_method, ( ) )
630
+ }
631
+
632
+ fn visit_trait_method ( & mut self ,
633
+ trait_method : & ast:: trait_method ,
634
+ _: ( ) ) {
635
+ visit:: walk_trait_method ( self , trait_method, ( ) )
636
+ }
637
+
638
+ fn visit_struct_def ( & mut self ,
639
+ struct_def : @ast:: struct_def ,
640
+ ident : Ident ,
641
+ generics : & ast:: Generics ,
642
+ node_id : NodeId ,
643
+ _: ( ) ) {
644
+ visit:: walk_struct_def ( self ,
645
+ struct_def,
646
+ ident,
647
+ generics,
648
+ node_id,
649
+ ( ) )
650
+ }
651
+
652
+ fn visit_struct_field ( & mut self ,
653
+ struct_field : @ast:: struct_field ,
654
+ _: ( ) ) {
655
+ visit:: walk_struct_field ( self , struct_field, ( ) )
656
+ }
560
657
}
561
658
562
659
// a visitor that extracts the paths
@@ -567,6 +664,7 @@ struct NewPathExprFinderContext {
567
664
path_accumulator : @mut ~[ ast:: Path ] ,
568
665
}
569
666
667
+ // XXX : YIKES a lot of boilerplate again....
570
668
impl Visitor < ( ) > for NewPathExprFinderContext {
571
669
572
670
fn visit_expr ( & mut self , expr : @ast:: Expr , _: ( ) ) {
@@ -579,10 +677,108 @@ impl Visitor<()> for NewPathExprFinderContext {
579
677
}
580
678
}
581
679
680
+
681
+ // XXX: Methods below can become default methods.
682
+
683
+ fn visit_pat ( & mut self , pattern : @ast:: Pat , _: ( ) ) {
684
+ visit:: walk_pat ( self , pattern, ( ) )
685
+ }
686
+
687
+ fn visit_mod ( & mut self , module : & ast:: _mod , _: Span , _: NodeId , _: ( ) ) {
688
+ visit:: walk_mod ( self , module, ( ) )
689
+ }
690
+
691
+ fn visit_view_item ( & mut self , view_item : & ast:: view_item , _: ( ) ) {
692
+ visit:: walk_view_item ( self , view_item, ( ) )
693
+ }
694
+
695
+ fn visit_item ( & mut self , item : @ast:: item , _: ( ) ) {
696
+ visit:: walk_item ( self , item, ( ) )
697
+ }
698
+
699
+ fn visit_foreign_item ( & mut self ,
700
+ foreign_item : @ast:: foreign_item ,
701
+ _: ( ) ) {
702
+ visit:: walk_foreign_item ( self , foreign_item, ( ) )
703
+ }
704
+
705
+ fn visit_local ( & mut self , local : @ast:: Local , _: ( ) ) {
706
+ visit:: walk_local ( self , local, ( ) )
707
+ }
708
+
709
+ fn visit_block ( & mut self , block : & ast:: Block , _: ( ) ) {
710
+ visit:: walk_block ( self , block, ( ) )
711
+ }
712
+
713
+ fn visit_stmt ( & mut self , stmt : @ast:: Stmt , _: ( ) ) {
714
+ visit:: walk_stmt ( self , stmt, ( ) )
715
+ }
716
+
717
+ fn visit_arm ( & mut self , arm : & ast:: Arm , _: ( ) ) {
718
+ visit:: walk_arm ( self , arm, ( ) )
719
+ }
720
+
721
+ fn visit_decl ( & mut self , decl : @ast:: Decl , _: ( ) ) {
722
+ visit:: walk_decl ( self , decl, ( ) )
723
+ }
724
+
725
+ fn visit_expr_post ( & mut self , _: @ast:: Expr , _: ( ) ) {
726
+ // Empty!
727
+ }
728
+
582
729
fn visit_ty ( & mut self , typ : & ast:: Ty , _: ( ) ) {
583
730
visit:: walk_ty ( self , typ, ( ) )
584
731
}
585
732
733
+ fn visit_generics ( & mut self , generics : & ast:: Generics , _: ( ) ) {
734
+ visit:: walk_generics ( self , generics, ( ) )
735
+ }
736
+
737
+ fn visit_fn ( & mut self ,
738
+ function_kind : & visit:: fn_kind ,
739
+ function_declaration : & ast:: fn_decl ,
740
+ block : & ast:: Block ,
741
+ span : Span ,
742
+ node_id : NodeId ,
743
+ _: ( ) ) {
744
+ visit:: walk_fn ( self ,
745
+ function_kind,
746
+ function_declaration,
747
+ block,
748
+ span,
749
+ node_id,
750
+ ( ) )
751
+ }
752
+
753
+ fn visit_ty_method ( & mut self , ty_method : & ast:: TypeMethod , _: ( ) ) {
754
+ visit:: walk_ty_method ( self , ty_method, ( ) )
755
+ }
756
+
757
+ fn visit_trait_method ( & mut self ,
758
+ trait_method : & ast:: trait_method ,
759
+ _: ( ) ) {
760
+ visit:: walk_trait_method ( self , trait_method, ( ) )
761
+ }
762
+
763
+ fn visit_struct_def ( & mut self ,
764
+ struct_def : @ast:: struct_def ,
765
+ ident : Ident ,
766
+ generics : & ast:: Generics ,
767
+ node_id : NodeId ,
768
+ _: ( ) ) {
769
+ visit:: walk_struct_def ( self ,
770
+ struct_def,
771
+ ident,
772
+ generics,
773
+ node_id,
774
+ ( ) )
775
+ }
776
+
777
+ fn visit_struct_field ( & mut self ,
778
+ struct_field : @ast:: struct_field ,
779
+ _: ( ) ) {
780
+ visit:: walk_struct_field ( self , struct_field, ( ) )
781
+ }
586
782
}
587
783
588
784
// return a visitor that extracts the pat_ident paths
0 commit comments