diff options
| author | Marijn Haverbeke <marijnh@gmail.com> | 2011-12-14 14:38:25 +0100 |
|---|---|---|
| committer | Marijn Haverbeke <marijnh@gmail.com> | 2011-12-16 11:46:57 +0100 |
| commit | 1dd2f1ec03f41e9ce15fdfe2c729b74f74df2e64 (patch) | |
| tree | 7578d955b5478408dcf1b653032e6b02bb38f85b /src/comp/driver | |
| parent | 6a16f57c0a3f37d86b4c8e074f0796669fcd9528 (diff) | |
| download | rust-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.rs | 9 |
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)); |
