about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorFelix S. Klock II <pnkfelix@pnkfx.org>2013-08-14 10:59:41 +0200
committerFelix S. Klock II <pnkfelix@pnkfx.org>2013-08-15 04:09:19 +0200
commitac5825057fed5aafe69d2eaed62d044e2faf6287 (patch)
tree96e53be99798c4dba85935d25b5393bb2dac29e8 /src
parent3ac6334f32f4b00ab0ada5869c9bccad94778366 (diff)
downloadrust-ac5825057fed5aafe69d2eaed62d044e2faf6287.tar.gz
rust-ac5825057fed5aafe69d2eaed62d044e2faf6287.zip
Ported trans/base.rs from oldvisit to <V:Visitor> trait API.
Diffstat (limited to 'src')
-rw-r--r--src/librustc/middle/trans/base.rs19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/librustc/middle/trans/base.rs b/src/librustc/middle/trans/base.rs
index ec6bb0c998e..18634b1242a 100644
--- a/src/librustc/middle/trans/base.rs
+++ b/src/librustc/middle/trans/base.rs
@@ -85,7 +85,7 @@ use syntax::codemap::span;
 use syntax::parse::token;
 use syntax::parse::token::{special_idents};
 use syntax::print::pprust::stmt_to_str;
-use syntax::oldvisit;
+use syntax::visit;
 use syntax::{ast, ast_util, codemap, ast_map};
 use syntax::abi::{X86, X86_64, Arm, Mips};
 
@@ -2638,13 +2638,18 @@ pub fn trans_constant(ccx: &mut CrateContext, it: @ast::item) {
     }
 }
 
+struct TransConstantsVisitor { ccx: @mut CrateContext }
+
+impl visit::Visitor<()> for TransConstantsVisitor {
+    fn visit_item(&mut self, i:@ast::item, _:()) {
+        trans_constant(self.ccx, i);
+        visit::walk_item(self, i, ());
+    }
+}
+
 pub fn trans_constants(ccx: @mut CrateContext, crate: &ast::Crate) {
-    oldvisit::visit_crate(
-        crate, ((),
-        oldvisit::mk_simple_visitor(@oldvisit::SimpleVisitor {
-            visit_item: |a| trans_constant(ccx, a),
-            ..*oldvisit::default_simple_visitor()
-        })));
+    let mut v = TransConstantsVisitor { ccx: ccx };
+    visit::walk_crate(&mut v, crate, ());
 }
 
 pub fn vp2i(cx: @mut Block, v: ValueRef) -> ValueRef {