Skip to content

Commit 711ff65

Browse files
committed
Get rid of visit_fn_block in visit.rs
It seems redundant and error-prone.
1 parent 25e6523 commit 711ff65

File tree

2 files changed

+3
-35
lines changed

2 files changed

+3
-35
lines changed

src/comp/middle/resolve.rs

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -337,9 +337,7 @@ fn resolve_names(e: @env, c: @ast::crate) {
337337
visit_ty: bind walk_ty(e, _, _, _),
338338
visit_constr: bind walk_constr(e, _, _, _, _, _),
339339
visit_fn_proto:
340-
bind visit_fn_proto_with_scope(e, _, _, _, _, _, _, _, _),
341-
visit_fn_block:
342-
bind visit_fn_block_with_scope(e, _, _, _, _, _, _)
340+
bind visit_fn_proto_with_scope(e, _, _, _, _, _, _, _, _)
343341
with *visit::default_visitor()};
344342
visit::visit_crate(*c, cons(scope_crate, @nil), visit::mk_vt(v));
345343
e.used_imports.track = false;
@@ -444,15 +442,6 @@ fn visit_fn_proto_with_scope(e: @env, decl: ast::fn_decl, tp: [ast::ty_param],
444442
visit::visit_fn_proto(decl, tp, body, sp, name, id, cons(scope, @sc), v);
445443
}
446444

447-
fn visit_fn_block_with_scope(_e: @env, decl: fn_decl, blk: ast::blk,
448-
span: span, id: node_id,
449-
sc: scopes, v: vt<scopes>) {
450-
let scope = scope_fn_expr(decl, id, []);
451-
log(debug, ("scope=", scope));
452-
visit::visit_fn_block(decl, blk, span, id, cons(scope, @sc), v);
453-
log(debug, ("unscope"));
454-
}
455-
456445
fn visit_block_with_scope(b: ast::blk, sc: scopes, v: vt<scopes>) {
457446
let pos = @mutable 0u, loc = @mutable 0u;
458447
let block_sc = cons(scope_block(b, pos, loc), @sc);

src/comp/syntax/visit.rs

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,7 @@ type visitor<E> =
3636
visit_fn_proto: fn@(fn_decl, [ty_param], blk, span, fn_ident, node_id,
3737
E, vt<E>),
3838

39-
// Function sugar like { || ... }:
40-
visit_fn_block: fn@(fn_decl, blk, span, node_id, E, vt<E>),
41-
42-
// Invoked by both visit_fn_proto and visit_fn_block above.
39+
// Invoked by both visit_fn_proto above.
4340
// Intended to be a common flow point for all fn decls in AST.
4441
visit_fn_body: fn@(fn_decl, blk, span, fn_ident, node_id, E, vt<E>)};
4542

@@ -58,7 +55,6 @@ fn default_visitor<E>() -> visitor<E> {
5855
visit_ty: bind skip_ty::<E>(_, _, _),
5956
visit_constr: bind visit_constr::<E>(_, _, _, _, _),
6057
visit_fn_proto: bind visit_fn_proto::<E>(_, _, _, _, _, _, _, _),
61-
visit_fn_block: bind visit_fn_block::<E>(_, _, _, _, _, _),
6258
visit_fn_body: bind visit_fn_body::<E>(_, _, _, _, _, _, _)};
6359
}
6460

@@ -220,11 +216,6 @@ fn visit_fn_proto<E>(decl: fn_decl, _tp: [ty_param], body: blk, sp: span,
220216
v.visit_fn_body(decl, body, sp, i, id, e, v);
221217
}
222218

223-
fn visit_fn_block<E>(decl: fn_decl, body: blk, sp: span, id: node_id,
224-
e: E, v: vt<E>) {
225-
v.visit_fn_body(decl, body, sp, option::none, id, e, v);
226-
}
227-
228219
fn visit_fn_body<E>(decl: fn_decl, body: blk, _sp: span,
229220
_name: fn_ident, _id: node_id,
230221
e: E, v: vt<E>) {
@@ -321,7 +312,7 @@ fn visit_expr<E>(ex: @expr, e: E, v: vt<E>) {
321312
v.visit_fn_proto(decl, [], body, ex.span, none, ex.id, e, v);
322313
}
323314
expr_fn_block(decl, body) {
324-
v.visit_fn_block(decl, body, ex.span, ex.id, e, v);
315+
v.visit_fn_proto(decl, [], body, ex.span, none, ex.id, e, v);
325316
}
326317
expr_block(b) { v.visit_block(b, e, v); }
327318
expr_assign(a, b) { v.visit_expr(b, e, v); v.visit_expr(a, e, v); }
@@ -398,7 +389,6 @@ type simple_visitor =
398389
visit_ty: fn@(@ty),
399390
visit_constr: fn@(@path, span, node_id),
400391
visit_fn_proto: fn@(fn_decl, [ty_param], blk, span, fn_ident, node_id),
401-
visit_fn_block: fn@(fn_decl, blk, span, node_id),
402392
visit_fn_body: fn@(fn_decl, blk, span, fn_ident, node_id)};
403393

404394
fn simple_ignore_ty(_t: @ty) {}
@@ -420,8 +410,6 @@ fn default_simple_visitor() -> simple_visitor {
420410
visit_fn_proto:
421411
fn(_d: fn_decl, _tps: [ty_param], _b: blk, _sp: span,
422412
_ident: fn_ident, _id: node_id) { },
423-
visit_fn_block:
424-
fn(_f: fn_decl, _b: blk, _sp: span, _node_id: node_id) { },
425413
visit_fn_body:
426414
fn(_f: fn_decl, _b: blk, _sp: span,
427415
_nm: fn_ident, _node_id: node_id) { }
@@ -489,13 +477,6 @@ fn mk_simple_visitor(v: simple_visitor) -> vt<()> {
489477
f(decl, tps, body, sp, ident, id);
490478
visit_fn_proto(decl, tps, body, sp, ident, id, e, v);
491479
}
492-
fn v_fn_block(f: fn@(fn_decl, blk, span, node_id),
493-
fn_decl: fn_decl, blk: blk,
494-
sp: span, node_id: node_id,
495-
&&e: (), v: vt<()>) {
496-
f(fn_decl, blk, sp, node_id);
497-
visit_fn_block(fn_decl, blk, sp, node_id, e, v);
498-
}
499480
fn v_fn_body(f: fn@(fn_decl, blk, span, fn_ident, node_id),
500481
fn_decl: fn_decl, blk: blk,
501482
sp: span, name: fn_ident, node_id: node_id,
@@ -524,8 +505,6 @@ fn mk_simple_visitor(v: simple_visitor) -> vt<()> {
524505
visit_constr: bind v_constr(v.visit_constr, _, _, _, _, _),
525506
visit_fn_proto:
526507
bind v_fn(v.visit_fn_proto, _, _, _, _, _, _, _, _),
527-
visit_fn_block:
528-
bind v_fn_block(v.visit_fn_block, _, _, _, _, _, _),
529508
visit_fn_body:
530509
bind v_fn_body(v.visit_fn_body, _, _, _, _, _, _, _),
531510
});

0 commit comments

Comments
 (0)