Skip to content

Commit ade7df4

Browse files
committed
Refactor libsyntax Visitor impls to use default methods.
1 parent 150b4ff commit ade7df4

File tree

2 files changed

+3
-275
lines changed

2 files changed

+3
-275
lines changed

src/libsyntax/ast_map.rs

+1-77
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
1+
// Copyright 2012-2013 The Rust Project Developers. See the COPYRIGHT
22
// file at the top-level directory of this distribution and at
33
// http://rust-lang.org/COPYRIGHT.
44
//
@@ -362,85 +362,9 @@ impl Visitor<()> for Ctx {
362362
self.map_block(block)
363363
}
364364

365-
// XXX: Methods below can become default methods.
366-
367-
fn visit_mod(&mut self, module: &_mod, _: Span, _: NodeId, _: ()) {
368-
visit::walk_mod(self, module, ())
369-
}
370-
371-
fn visit_view_item(&mut self, view_item: &view_item, _: ()) {
372-
visit::walk_view_item(self, view_item, ())
373-
}
374-
375-
fn visit_foreign_item(&mut self, foreign_item: @foreign_item, _: ()) {
376-
visit::walk_foreign_item(self, foreign_item, ())
377-
}
378-
379-
fn visit_local(&mut self, local: @Local, _: ()) {
380-
visit::walk_local(self, local, ())
381-
}
382-
383-
fn visit_arm(&mut self, arm: &Arm, _: ()) {
384-
visit::walk_arm(self, arm, ())
385-
}
386-
387-
fn visit_decl(&mut self, decl: @Decl, _: ()) {
388-
visit::walk_decl(self, decl, ())
389-
}
390-
391-
fn visit_expr_post(&mut self, _: @Expr, _: ()) {
392-
// Empty!
393-
}
394-
395365
fn visit_ty(&mut self, typ: &Ty, _: ()) {
396366
visit::walk_ty(self, typ, ())
397367
}
398-
399-
fn visit_generics(&mut self, generics: &Generics, _: ()) {
400-
visit::walk_generics(self, generics, ())
401-
}
402-
403-
fn visit_fn(&mut self,
404-
function_kind: &fn_kind,
405-
function_declaration: &fn_decl,
406-
block: &Block,
407-
span: Span,
408-
node_id: NodeId,
409-
_: ()) {
410-
visit::walk_fn(self,
411-
function_kind,
412-
function_declaration,
413-
block,
414-
span,
415-
node_id,
416-
())
417-
}
418-
419-
fn visit_ty_method(&mut self, ty_method: &TypeMethod, _: ()) {
420-
visit::walk_ty_method(self, ty_method, ())
421-
}
422-
423-
fn visit_trait_method(&mut self, trait_method: &trait_method, _: ()) {
424-
visit::walk_trait_method(self, trait_method, ())
425-
}
426-
427-
fn visit_struct_def(&mut self,
428-
struct_def: @struct_def,
429-
ident: Ident,
430-
generics: &Generics,
431-
node_id: NodeId,
432-
_: ()) {
433-
visit::walk_struct_def(self,
434-
struct_def,
435-
ident,
436-
generics,
437-
node_id,
438-
())
439-
}
440-
441-
fn visit_struct_field(&mut self, struct_field: @struct_field, _: ()) {
442-
visit::walk_struct_field(self, struct_field, ())
443-
}
444368
}
445369

446370
pub fn map_crate(diag: @mut span_handler, c: &Crate) -> map {

src/libsyntax/ext/expand.rs

+2-198
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
1+
// Copyright 2012-2013 The Rust Project Developers. See the COPYRIGHT
22
// file at the top-level directory of this distribution and at
33
// http://rust-lang.org/COPYRIGHT.
44
//
@@ -8,7 +8,7 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
use ast::{Block, Crate, NodeId, DeclLocal, Expr_, ExprMac, SyntaxContext};
11+
use ast::{Block, Crate, DeclLocal, Expr_, ExprMac, SyntaxContext};
1212
use ast::{Local, Ident, mac_invoc_tt};
1313
use ast::{item_mac, Mrk, Stmt_, StmtDecl, StmtMac, StmtExpr, StmtSemi};
1414
use ast::{token_tree};
@@ -553,107 +553,10 @@ impl Visitor<()> for NewNameFinderContext {
553553
}
554554
}
555555

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-
604556
fn visit_ty(&mut self, typ: &ast::Ty, _: ()) {
605557
visit::walk_ty(self, typ, ())
606558
}
607559

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-
}
657560
}
658561

659562
// a visitor that extracts the paths
@@ -664,7 +567,6 @@ struct NewPathExprFinderContext {
664567
path_accumulator: @mut ~[ast::Path],
665568
}
666569

667-
// XXX : YIKES a lot of boilerplate again....
668570
impl Visitor<()> for NewPathExprFinderContext {
669571

670572
fn visit_expr(&mut self, expr: @ast::Expr, _: ()) {
@@ -677,108 +579,10 @@ impl Visitor<()> for NewPathExprFinderContext {
677579
}
678580
}
679581

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-
729582
fn visit_ty(&mut self, typ: &ast::Ty, _: ()) {
730583
visit::walk_ty(self, typ, ())
731584
}
732585

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-
}
782586
}
783587

784588
// return a visitor that extracts the pat_ident paths

0 commit comments

Comments
 (0)