about summary refs log tree commit diff
path: root/src/comp/syntax
diff options
context:
space:
mode:
authorMarijn Haverbeke <marijnh@gmail.com>2011-12-23 18:24:49 +0100
committerMarijn Haverbeke <marijnh@gmail.com>2011-12-23 18:24:49 +0100
commit711ff657e260def1c05d27d6447fa6b6733a5b2a (patch)
tree5bd79df2a3a78da038a101924e2f260b40a61661 /src/comp/syntax
parent25e65239ad81af6123bcf9e4b5173dad2ced99c2 (diff)
downloadrust-711ff657e260def1c05d27d6447fa6b6733a5b2a.tar.gz
rust-711ff657e260def1c05d27d6447fa6b6733a5b2a.zip
Get rid of visit_fn_block in visit.rs
It seems redundant and error-prone.
Diffstat (limited to 'src/comp/syntax')
-rw-r--r--src/comp/syntax/visit.rs25
1 files changed, 2 insertions, 23 deletions
diff --git a/src/comp/syntax/visit.rs b/src/comp/syntax/visit.rs
index ecdf8c9a05d..3c77db09d49 100644
--- a/src/comp/syntax/visit.rs
+++ b/src/comp/syntax/visit.rs
@@ -36,10 +36,7 @@ type visitor<E> =
       visit_fn_proto: fn@(fn_decl, [ty_param], blk, span, fn_ident, node_id,
                           E, vt<E>),
 
-      // Function sugar like { || ... }:
-      visit_fn_block: fn@(fn_decl, blk, span, node_id, E, vt<E>),
-
-      // Invoked by both visit_fn_proto and visit_fn_block above.
+      // Invoked by both visit_fn_proto above.
       // Intended to be a common flow point for all fn decls in AST.
       visit_fn_body: fn@(fn_decl, blk, span, fn_ident, node_id, E, vt<E>)};
 
@@ -58,7 +55,6 @@ fn default_visitor<E>() -> visitor<E> {
           visit_ty: bind skip_ty::<E>(_, _, _),
           visit_constr: bind visit_constr::<E>(_, _, _, _, _),
           visit_fn_proto: bind visit_fn_proto::<E>(_, _, _, _, _, _, _, _),
-          visit_fn_block: bind visit_fn_block::<E>(_, _, _, _, _, _),
           visit_fn_body: bind visit_fn_body::<E>(_, _, _, _, _, _, _)};
 }
 
@@ -220,11 +216,6 @@ fn visit_fn_proto<E>(decl: fn_decl, _tp: [ty_param], body: blk, sp: span,
     v.visit_fn_body(decl, body, sp, i, id, e, v);
 }
 
-fn visit_fn_block<E>(decl: fn_decl, body: blk, sp: span, id: node_id,
-                     e: E, v: vt<E>) {
-    v.visit_fn_body(decl, body, sp, option::none, id, e, v);
-}
-
 fn visit_fn_body<E>(decl: fn_decl, body: blk, _sp: span,
                     _name: fn_ident, _id: node_id,
                     e: E, v: vt<E>) {
@@ -321,7 +312,7 @@ fn visit_expr<E>(ex: @expr, e: E, v: vt<E>) {
         v.visit_fn_proto(decl, [], body, ex.span, none, ex.id, e, v);
       }
       expr_fn_block(decl, body) {
-        v.visit_fn_block(decl, body, ex.span, ex.id, e, v);
+        v.visit_fn_proto(decl, [], body, ex.span, none, ex.id, e, v);
       }
       expr_block(b) { v.visit_block(b, e, v); }
       expr_assign(a, b) { v.visit_expr(b, e, v); v.visit_expr(a, e, v); }
@@ -398,7 +389,6 @@ type simple_visitor =
       visit_ty: fn@(@ty),
       visit_constr: fn@(@path, span, node_id),
       visit_fn_proto: fn@(fn_decl, [ty_param], blk, span, fn_ident, node_id),
-      visit_fn_block: fn@(fn_decl, blk, span, node_id),
       visit_fn_body: fn@(fn_decl, blk, span, fn_ident, node_id)};
 
 fn simple_ignore_ty(_t: @ty) {}
@@ -420,8 +410,6 @@ fn default_simple_visitor() -> simple_visitor {
           visit_fn_proto:
               fn(_d: fn_decl, _tps: [ty_param], _b: blk, _sp: span,
                  _ident: fn_ident, _id: node_id) { },
-          visit_fn_block:
-              fn(_f: fn_decl, _b: blk, _sp: span, _node_id: node_id) { },
           visit_fn_body:
               fn(_f: fn_decl, _b: blk, _sp: span,
                  _nm: fn_ident, _node_id: node_id) { }
@@ -489,13 +477,6 @@ fn mk_simple_visitor(v: simple_visitor) -> vt<()> {
         f(decl, tps, body, sp, ident, id);
         visit_fn_proto(decl, tps, body, sp, ident, id, e, v);
     }
-    fn v_fn_block(f: fn@(fn_decl, blk, span, node_id),
-                  fn_decl: fn_decl, blk: blk,
-                  sp: span, node_id: node_id,
-                  &&e: (), v: vt<()>) {
-        f(fn_decl, blk, sp, node_id);
-        visit_fn_block(fn_decl, blk, sp, node_id, e, v);
-    }
     fn v_fn_body(f: fn@(fn_decl, blk, span, fn_ident, node_id),
                  fn_decl: fn_decl, blk: blk,
                  sp: span, name: fn_ident, node_id: node_id,
@@ -524,8 +505,6 @@ fn mk_simple_visitor(v: simple_visitor) -> vt<()> {
                 visit_constr: bind v_constr(v.visit_constr, _, _, _, _, _),
                 visit_fn_proto:
                     bind v_fn(v.visit_fn_proto, _, _, _, _, _, _, _, _),
-                visit_fn_block:
-                    bind v_fn_block(v.visit_fn_block, _, _, _, _, _, _),
                 visit_fn_body:
                     bind v_fn_body(v.visit_fn_body, _, _, _, _, _, _, _),
                });