@@ -28,6 +28,8 @@ type ast_visitor =
28
28
fn ( & @ast:: stmt s) visit_stmt_post,
29
29
fn ( & ast:: arm a) visit_arm_pre,
30
30
fn ( & ast:: arm a) visit_arm_post,
31
+ fn ( & @ast:: pat p) visit_pat_pre,
32
+ fn ( & @ast:: pat p) visit_pat_post,
31
33
fn ( & @ast:: decl d) visit_decl_pre,
32
34
fn ( & @ast:: decl d) visit_decl_post,
33
35
fn ( & @ast:: expr e) visit_expr_pre,
@@ -193,6 +195,7 @@ fn walk_ty(&ast_visitor v, @ast::ty t) {
193
195
}
194
196
195
197
fn walk_pat ( & ast_visitor v, & @ast:: pat p) {
198
+ v. visit_pat_pre ( p) ;
196
199
alt ( p. node ) {
197
200
case ( ast:: pat_tag ( ?path, ?children, _) ) {
198
201
for ( @ast:: ty tp in path. node. types) {
@@ -204,6 +207,7 @@ fn walk_pat(&ast_visitor v, &@ast::pat p) {
204
207
}
205
208
case ( _) { }
206
209
}
210
+ v. visit_pat_post ( p) ;
207
211
}
208
212
209
213
fn walk_native_mod ( & ast_visitor v, & ast:: native_mod nm) {
@@ -500,6 +504,7 @@ fn def_visit_method(&@ast::method m) { }
500
504
fn def_visit_block ( & ast:: block b) { }
501
505
fn def_visit_stmt ( & @ast:: stmt s) { }
502
506
fn def_visit_arm ( & ast:: arm a) { }
507
+ fn def_visit_pat ( & @ast:: pat p) { }
503
508
fn def_visit_decl ( & @ast:: decl d) { }
504
509
fn def_visit_expr ( & @ast:: expr e) { }
505
510
fn def_visit_ty ( & @ast:: ty t) { }
@@ -519,6 +524,7 @@ fn default_visitor() -> ast_visitor {
519
524
auto d_visit_block = def_visit_block;
520
525
auto d_visit_stmt = def_visit_stmt;
521
526
auto d_visit_arm = def_visit_arm;
527
+ auto d_visit_pat = def_visit_pat;
522
528
auto d_visit_decl = def_visit_decl;
523
529
auto d_visit_expr = def_visit_expr;
524
530
auto d_visit_ty = def_visit_ty;
@@ -544,6 +550,8 @@ fn default_visitor() -> ast_visitor {
544
550
visit_stmt_post = d_visit_stmt,
545
551
visit_arm_pre = d_visit_arm,
546
552
visit_arm_post = d_visit_arm,
553
+ visit_pat_pre = d_visit_pat,
554
+ visit_pat_post = d_visit_pat,
547
555
visit_decl_pre = d_visit_decl,
548
556
visit_decl_post = d_visit_decl,
549
557
visit_expr_pre = d_visit_expr,
0 commit comments