rustc: Add some changes I missed
This commit is contained in:
parent
8ffab392ab
commit
4d8113725d
2 changed files with 26 additions and 9 deletions
|
@ -21,9 +21,9 @@ import ast::{_mod, add, alt_check, alt_exhaustive, arg, arm, attribute,
|
||||||
class_member, class_method, class_mutable, constr, constr_arg,
|
class_member, class_method, class_mutable, constr, constr_arg,
|
||||||
constr_general, crate, crate_cfg, crate_directive, decl,
|
constr_general, crate, crate_cfg, crate_directive, decl,
|
||||||
decl_item, decl_local, default_blk, deref, div, expl, expr,
|
decl_item, decl_local, default_blk, deref, div, expl, expr,
|
||||||
expr_, expr_addr_of, expr_alt, expr_assert, expr_assign,
|
expr_, expr_addr_of, expr_alt, expr_again, expr_assert,
|
||||||
expr_assign_op, expr_binary, expr_block, expr_break, expr_call,
|
expr_assign, expr_assign_op, expr_binary, expr_block, expr_break,
|
||||||
expr_cast, expr_check, expr_cont, expr_copy, expr_do_body,
|
expr_call, expr_cast, expr_check, expr_copy, expr_do_body,
|
||||||
expr_fail, expr_field, expr_fn, expr_fn_block, expr_if,
|
expr_fail, expr_field, expr_fn, expr_fn_block, expr_if,
|
||||||
expr_if_check, expr_index, expr_lit, expr_log, expr_loop,
|
expr_if_check, expr_index, expr_lit, expr_log, expr_loop,
|
||||||
expr_loop_body, expr_mac, expr_move, expr_new, expr_path,
|
expr_loop_body, expr_mac, expr_move, expr_new, expr_path,
|
||||||
|
@ -32,9 +32,9 @@ import ast::{_mod, add, alt_check, alt_exhaustive, arg, arm, attribute,
|
||||||
foreign_item_fn, foreign_mod, ident, impure_fn, infer,
|
foreign_item_fn, foreign_mod, ident, impure_fn, infer,
|
||||||
init_assign, init_move, initializer, instance_var, item, item_,
|
init_assign, init_move, initializer, instance_var, item, item_,
|
||||||
item_class, item_const, item_enum, item_fn, item_foreign_mod,
|
item_class, item_const, item_enum, item_fn, item_foreign_mod,
|
||||||
item_impl, item_mod, item_trait, item_ty, lit, lit_, lit_bool,
|
item_impl, item_mac, item_mod, item_trait, item_ty, lit, lit_,
|
||||||
lit_float, lit_int, lit_int_unsuffixed, lit_nil, lit_str,
|
lit_bool, lit_float, lit_int, lit_int_unsuffixed, lit_nil,
|
||||||
lit_uint, local, m_const, m_imm, m_mutbl, mac_, mac_aq,
|
lit_str, lit_uint, local, m_const, m_imm, m_mutbl, mac_, mac_aq,
|
||||||
mac_ellipsis, mac_embed_block, mac_embed_type, mac_invoc,
|
mac_ellipsis, mac_embed_block, mac_embed_type, mac_invoc,
|
||||||
mac_invoc_tt, mac_var, matcher, method, mode, mt, mtc_bb,
|
mac_invoc_tt, mac_var, matcher, method, mode, mt, mtc_bb,
|
||||||
mtc_rep, mtc_tok, mul, mutability, neg, noreturn, not, pat,
|
mtc_rep, mtc_tok, mul, mutability, neg, noreturn, not, pat,
|
||||||
|
|
|
@ -168,9 +168,26 @@ fn compile_upto(sess: session, cfg: ast::crate_cfg,
|
||||||
session::sess_os_to_meta_os(sess.targ_cfg.os),
|
session::sess_os_to_meta_os(sess.targ_cfg.os),
|
||||||
sess.opts.static));
|
sess.opts.static));
|
||||||
|
|
||||||
let { def_map: def_map, exp_map: exp_map, impl_map: impl_map } =
|
let mut def_map;
|
||||||
time(time_passes, "fast resolution", ||
|
let mut impl_map;
|
||||||
middle::resolve3::resolve_crate(sess, ast_map, crate));
|
let mut exp_map;
|
||||||
|
if sess.fast_resolve() {
|
||||||
|
let { def_map: fast_dm, exp_map: fast_em, impl_map: fast_im } =
|
||||||
|
time(time_passes, "fast resolution", ||
|
||||||
|
middle::resolve3::resolve_crate(sess, ast_map, crate));
|
||||||
|
|
||||||
|
def_map = fast_dm;
|
||||||
|
impl_map = fast_im;
|
||||||
|
exp_map = fast_em;
|
||||||
|
} else {
|
||||||
|
let { def_map: normal_dm, exp_map: normal_em, impl_map: normal_im } =
|
||||||
|
time(time_passes, "resolution", ||
|
||||||
|
resolve::resolve_crate(sess, ast_map, crate));
|
||||||
|
|
||||||
|
def_map = normal_dm;
|
||||||
|
impl_map = normal_im;
|
||||||
|
exp_map = normal_em;
|
||||||
|
}
|
||||||
|
|
||||||
let freevars = time(time_passes, "freevar finding", ||
|
let freevars = time(time_passes, "freevar finding", ||
|
||||||
freevars::annotate_freevars(def_map, crate));
|
freevars::annotate_freevars(def_map, crate));
|
||||||
|
|
Loading…
Reference in a new issue