@@ -17,10 +17,14 @@ type ast_visitor =
17
17
fn ( & @ast:: native_item i) visit_native_item_post,
18
18
fn ( & @ast:: item i) visit_item_pre,
19
19
fn ( & @ast:: item i) visit_item_post,
20
+ fn ( & @ast:: method m) visit_method_pre,
21
+ fn ( & @ast:: method m) visit_method_post,
20
22
fn ( & ast:: block b) visit_block_pre,
21
23
fn ( & ast:: block b) visit_block_post,
22
24
fn ( & @ast:: stmt s) visit_stmt_pre,
23
25
fn ( & @ast:: stmt s) visit_stmt_post,
26
+ fn ( & ast:: arm a) visit_arm_pre,
27
+ fn ( & ast:: arm a) visit_arm_post,
24
28
fn ( & @ast:: decl d) visit_decl_pre,
25
29
fn ( & @ast:: decl d) visit_decl_post,
26
30
fn ( & @ast:: expr e) visit_expr_pre,
@@ -110,7 +114,9 @@ fn walk_item(&ast_visitor v, @ast::item i) {
110
114
walk_ty ( v, f. ty ) ;
111
115
}
112
116
for ( @ast:: method m in ob. methods) {
117
+ v. visit_method_pre ( m) ;
113
118
walk_fn ( v, m. node . meth ) ;
119
+ v. visit_method_post ( m) ;
114
120
}
115
121
alt ( ob. dtor ) {
116
122
case ( none[ @ast:: method] ) { }
@@ -343,7 +349,9 @@ fn walk_expr(&ast_visitor v, @ast::expr e) {
343
349
case ( ast:: expr_alt ( ?x, ?arms, _) ) {
344
350
walk_expr ( v, x) ;
345
351
for ( ast:: arm a in arms) {
352
+ v. visit_arm_pre ( a) ;
346
353
walk_block ( v, a. block ) ;
354
+ v. visit_arm_post ( a) ;
347
355
}
348
356
}
349
357
case ( ast:: expr_block ( ?b, _) ) {
@@ -413,8 +421,10 @@ fn def_visit_crate_directive(&@ast::crate_directive c) { }
413
421
fn def_visit_view_item ( & @ast:: view_item vi) { }
414
422
fn def_visit_native_item ( & @ast:: native_item ni) { }
415
423
fn def_visit_item ( & @ast:: item i) { }
424
+ fn def_visit_method ( & @ast:: method m) { }
416
425
fn def_visit_block ( & ast:: block b) { }
417
426
fn def_visit_stmt ( & @ast:: stmt s) { }
427
+ fn def_visit_arm ( & ast:: arm a) { }
418
428
fn def_visit_decl ( & @ast:: decl d) { }
419
429
fn def_visit_expr ( & @ast:: expr e) { }
420
430
fn def_visit_ty ( & @ast:: ty t) { }
@@ -428,8 +438,10 @@ fn default_visitor() -> ast_visitor {
428
438
auto d_visit_view_item = def_visit_view_item;
429
439
auto d_visit_native_item = def_visit_native_item;
430
440
auto d_visit_item = def_visit_item;
441
+ auto d_visit_method = def_visit_method;
431
442
auto d_visit_block = def_visit_block;
432
443
auto d_visit_stmt = def_visit_stmt;
444
+ auto d_visit_arm = def_visit_arm;
433
445
auto d_visit_decl = def_visit_decl;
434
446
auto d_visit_expr = def_visit_expr;
435
447
auto d_visit_ty = def_visit_ty;
@@ -446,10 +458,14 @@ fn default_visitor() -> ast_visitor {
446
458
visit_native_item_post = d_visit_native_item,
447
459
visit_item_pre = d_visit_item,
448
460
visit_item_post = d_visit_item,
461
+ visit_method_pre = d_visit_method,
462
+ visit_method_post = d_visit_method,
449
463
visit_block_pre = d_visit_block,
450
464
visit_block_post = d_visit_block,
451
465
visit_stmt_pre = d_visit_stmt,
452
466
visit_stmt_post = d_visit_stmt,
467
+ visit_arm_pre = d_visit_arm,
468
+ visit_arm_post = d_visit_arm,
453
469
visit_decl_pre = d_visit_decl,
454
470
visit_decl_post = d_visit_decl,
455
471
visit_expr_pre = d_visit_expr,
@@ -468,6 +484,3 @@ fn default_visitor() -> ast_visitor {
468
484
// compile-command: "make -k -C $RBUILD 2>&1 | sed -e 's/\\/x\\//x:\\//g'";
469
485
// End:
470
486
//
471
-
472
-
473
-
0 commit comments