diff options
Diffstat (limited to 'src/rustc/syntax/visit.rs')
| -rw-r--r-- | src/rustc/syntax/visit.rs | 27 | 
1 files changed, 13 insertions, 14 deletions
| diff --git a/src/rustc/syntax/visit.rs b/src/rustc/syntax/visit.rs index 7a84052fa90..b4bcb3aaa31 100644 --- a/src/rustc/syntax/visit.rs +++ b/src/rustc/syntax/visit.rs @@ -55,7 +55,7 @@ type visitor<E> = visit_ty_params: fn@([ty_param], E, vt<E>), visit_constr: fn@(@path, span, node_id, E, vt<E>), visit_fn: fn@(fn_kind, fn_decl, blk, span, node_id, E, vt<E>), - visit_class_item: fn@(span, privacy, class_member, E, vt<E>)}; + visit_class_item: fn@(@class_member, E, vt<E>)}; fn default_visitor<E>() -> visitor<E> { ret @{visit_mod: bind visit_mod::<E>(_, _, _, _, _), @@ -73,7 +73,7 @@ fn default_visitor<E>() -> visitor<E> { visit_ty_params: bind visit_ty_params::<E>(_, _, _), visit_constr: bind visit_constr::<E>(_, _, _, _, _), visit_fn: bind visit_fn::<E>(_, _, _, _, _, _, _), - visit_class_item: bind visit_class_item::<E>(_,_,_,_,_)}; + visit_class_item: bind visit_class_item::<E>(_,_,_)}; } fn visit_crate<E>(c: crate, e: E, v: vt<E>) { @@ -139,7 +139,7 @@ fn visit_item<E>(i: @item, e: E, v: vt<E>) { item_class(tps, members, ctor) { v.visit_ty_params(tps, e, v); for m in members { - v.visit_class_item(m.span, m.node.privacy, m.node.decl, e, v); + v.visit_class_item(m, e, v); } // make up a fake fn so as to call visit_fn on the ctor v.visit_fn(fk_ctor(i.ident, tps), ctor.node.dec, @@ -155,10 +155,9 @@ fn visit_item<E>(i: @item, e: E, v: vt<E>) { } } -fn visit_class_item<E>(_s: span, _p: privacy, cm: class_member, - e:E, v:vt<E>) { - alt cm { - instance_var(ident, t, mt, id) { +fn visit_class_item<E>(cm: @class_member, e:E, v:vt<E>) { + alt cm.node { + instance_var(_, t, _, _, _) { v.visit_ty(t, e, v); } class_method(m) { @@ -427,7 +426,7 @@ type simple_visitor = visit_ty_params: fn@([ty_param]), visit_constr: fn@(@path, span, node_id), visit_fn: fn@(fn_kind, fn_decl, blk, span, node_id), - visit_class_item: fn@(span, privacy, class_member)}; + visit_class_item: fn@(@class_member)}; fn simple_ignore_ty(_t: @ty) {} @@ -448,7 +447,7 @@ fn default_simple_visitor() -> simple_visitor { visit_constr: fn@(_p: @path, _sp: span, _id: node_id) { }, visit_fn: fn@(_fk: fn_kind, _d: fn_decl, _b: blk, _sp: span, _id: node_id) { }, - visit_class_item: fn@(_s: span, _p: privacy, _c: class_member) {} + visit_class_item: fn@(_c: @class_member) {} }; } @@ -523,11 +522,11 @@ fn mk_simple_visitor(v: simple_visitor) -> vt<()> { } else { bind v_ty(v.visit_ty, _, _, _) }; - fn v_class_item(f: fn@(span, privacy, class_member), - s:span, p:privacy, cm: class_member, &&e: (), + fn v_class_item(f: fn@(@class_member), + cm: @class_member, &&e: (), v: vt<()>) { - f(s, p, cm); - visit_class_item(s, p, cm, e, v); + f(cm); + visit_class_item(cm, e, v); } ret mk_vt(@{visit_mod: bind v_mod(v.visit_mod, _, _, _, _, _), visit_view_item: bind v_view_item(v.visit_view_item, _, _, _), @@ -546,7 +545,7 @@ fn mk_simple_visitor(v: simple_visitor) -> vt<()> { visit_constr: bind v_constr(v.visit_constr, _, _, _, _, _), visit_fn: bind v_fn(v.visit_fn, _, _, _, _, _, _, _), visit_class_item: bind v_class_item(v.visit_class_item, _, _, - _, _, _) + _) }); } | 
