diff options
| author | Eric Holk <eric.holk@gmail.com> | 2012-06-13 16:14:01 -0700 |
|---|---|---|
| committer | Eric Holk <eric.holk@gmail.com> | 2012-06-21 16:11:11 -0700 |
| commit | 0e5cfd9f339c78384ef3fbcb4d230fa0bb363d54 (patch) | |
| tree | f71eefbe17ea2b94ab475a0bc63f690a1ea339e4 /src/libsyntax | |
| parent | f8fa0a243788e6b1028d254958cd19c6f10034fa (diff) | |
| download | rust-0e5cfd9f339c78384ef3fbcb4d230fa0bb363d54.tar.gz rust-0e5cfd9f339c78384ef3fbcb4d230fa0bb363d54.zip | |
Move vector addition out of trans and into libcore.
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ast_util.rs | 17 | ||||
| -rw-r--r-- | src/libsyntax/parse/common.rs | 4 |
2 files changed, 15 insertions, 6 deletions
diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index 09bb2cc5409..e56bb25e55d 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -480,12 +480,17 @@ fn id_visitor(vfn: fn@(node_id)) -> visit::vt<()> { vfn(id); }, - visit_fn: fn@(fk: visit::fn_kind, d: fn_decl, - _b: blk, _sp: span, id: node_id) { + visit_fn: fn@(fk: visit::fn_kind, d: ast::fn_decl, + _b: ast::blk, _sp: span, id: ast::node_id) { vfn(id); alt fk { - visit::fk_ctor(_, tps, self_id, parent_id) | + visit::fk_ctor(nm, tps, self_id, parent_id) { + vec::iter(tps) {|tp| vfn(tp.id)} + vfn(id); + vfn(self_id); + vfn(parent_id.node); + } visit::fk_dtor(tps, self_id, parent_id) { vec::iter(tps) {|tp| vfn(tp.id)} vfn(id); @@ -500,7 +505,11 @@ fn id_visitor(vfn: fn@(node_id)) -> visit::vt<()> { vfn(m.self_id); vec::iter(tps) {|tp| vfn(tp.id)} } - visit::fk_anon(*) | visit::fk_fn_block(*) { + visit::fk_anon(_, capture_clause) + | visit::fk_fn_block(capture_clause) { + for vec::each(*capture_clause) {|clause| + vfn(clause.id); + } } } diff --git a/src/libsyntax/parse/common.rs b/src/libsyntax/parse/common.rs index f8292be51fe..b8362eb8734 100644 --- a/src/libsyntax/parse/common.rs +++ b/src/libsyntax/parse/common.rs @@ -159,7 +159,7 @@ impl parser_common for parser { else { self.expect(t); } } _ { } } - v += [f(self)]; + vec::push(v, f(self)); } ret v; @@ -202,7 +202,7 @@ impl parser_common for parser { _ { } } if sep.trailing_sep_allowed && self.token == ket { break; } - v += [f(self)]; + vec::push(v, f(self)); } ret v; } |
