about summary refs log tree commit diff
path: root/src/comp/driver
diff options
context:
space:
mode:
authorMarijn Haverbeke <marijnh@gmail.com>2011-12-14 14:38:25 +0100
committerMarijn Haverbeke <marijnh@gmail.com>2011-12-16 11:46:57 +0100
commit1dd2f1ec03f41e9ce15fdfe2c729b74f74df2e64 (patch)
tree7578d955b5478408dcf1b653032e6b02bb38f85b /src/comp/driver
parent6a16f57c0a3f37d86b4c8e074f0796669fcd9528 (diff)
downloadrust-1dd2f1ec03f41e9ce15fdfe2c729b74f74df2e64.tar.gz
rust-1dd2f1ec03f41e9ce15fdfe2c729b74f74df2e64.zip
Get very simple impl method calls to compile
Resolution is still dumb, and no self support yet.
Diffstat (limited to 'src/comp/driver')
-rw-r--r--src/comp/driver/rustc.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/comp/driver/rustc.rs b/src/comp/driver/rustc.rs
index 2ba91d2ecbd..758f9bf85b6 100644
--- a/src/comp/driver/rustc.rs
+++ b/src/comp/driver/rustc.rs
@@ -171,8 +171,8 @@ fn compile_input(sess: session::session, cfg: ast::crate_cfg, input: str,
     time(time_passes, "const checking",
          bind middle::check_const::check_crate(sess, crate));
     let ty_cx = ty::mk_ctxt(sess, def_map, ext_map, ast_map, freevars);
-    time(time_passes, "typechecking",
-         bind typeck::check_crate(ty_cx, impl_map, crate));
+    let method_map = time(time_passes, "typechecking",
+                          bind typeck::check_crate(ty_cx, impl_map, crate));
     time(time_passes, "block-use checking",
          bind middle::block_use::check_crate(ty_cx, crate));
     time(time_passes, "function usage",
@@ -190,7 +190,7 @@ fn compile_input(sess: session::session, cfg: ast::crate_cfg, input: str,
     let last_uses = time(time_passes, "last use finding",
         bind last_use::find_last_uses(crate, def_map, ref_map, ty_cx));
     time(time_passes, "kind checking",
-         bind kind::check_crate(ty_cx, last_uses, crate));
+         bind kind::check_crate(ty_cx, method_map, last_uses, crate));
     if sess.get_opts().no_trans { ret; }
 
     let outputs = build_output_filenames(input, outdir, output, sess);
@@ -199,7 +199,8 @@ fn compile_input(sess: session::session, cfg: ast::crate_cfg, input: str,
         time(time_passes, "translation",
              bind trans::trans_crate(sess, crate, ty_cx,
                                      outputs.obj_filename, exp_map, ast_map,
-                                     mut_map, copy_map, last_uses));
+                                     mut_map, copy_map, last_uses,
+                                     method_map));
     time(time_passes, "LLVM passes",
          bind link::write::run_passes(sess, llmod, outputs.obj_filename));