Skip to content

Commit ba3292d

Browse files
committed
rust: Remove extensions' dependency on the session
1 parent 2142c5e commit ba3292d

File tree

3 files changed

+10
-12
lines changed

3 files changed

+10
-12
lines changed

src/rustc/driver/driver.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,8 @@ fn compile_upto(sess: session, cfg: ast::crate_cfg,
121121
bind front::test::modify_for_testing(sess, crate));
122122
crate =
123123
time(time_passes, "expansion",
124-
bind syntax::ext::expand::expand_crate(sess, crate));
124+
bind syntax::ext::expand::expand_crate(
125+
sess.parse_sess, sess.opts.cfg, crate));
125126

126127
if upto == cu_expand { ret {crate: crate, tcx: none}; }
127128

src/rustc/syntax/ext/base.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ fn syntax_expander_table() -> hashmap<str, syntax_extension> {
4545
}
4646

4747
iface ext_ctxt {
48-
fn session() -> driver::session::session;
4948
fn codemap() -> codemap;
5049
fn parse_sess() -> parser::parse_sess;
5150
fn cfg() -> ast::crate_cfg;
@@ -61,15 +60,12 @@ iface ext_ctxt {
6160
fn next_id() -> ast::node_id;
6261
}
6362

64-
fn mk_ctxt(session: driver::session::session,
65-
parse_sess: parser::parse_sess,
63+
fn mk_ctxt(parse_sess: parser::parse_sess,
6664
cfg: ast::crate_cfg) -> ext_ctxt {
67-
type ctxt_repr = {session: driver::session::session,
68-
parse_sess: parser::parse_sess,
65+
type ctxt_repr = {parse_sess: parser::parse_sess,
6966
cfg: ast::crate_cfg,
7067
mut backtrace: expn_info};
7168
impl of ext_ctxt for ctxt_repr {
72-
fn session() -> driver::session::session { self.session }
7369
fn codemap() -> codemap { self.parse_sess.cm }
7470
fn parse_sess() -> parser::parse_sess { self.parse_sess }
7571
fn cfg() -> ast::crate_cfg { self.cfg }
@@ -119,7 +115,6 @@ fn mk_ctxt(session: driver::session::session,
119115
}
120116
}
121117
let imp : ctxt_repr = {
122-
session: session,
123118
parse_sess: parse_sess,
124119
cfg: cfg,
125120
mut backtrace: none

src/rustc/syntax/ext/expand.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import syntax::ast::{crate, expr_, expr_mac, mac_invoc};
99
import syntax::fold::*;
1010
import syntax::ext::base::*;
1111
import syntax::ext::qquote::{qq_helper};
12+
import syntax::parse::parser;
1213
import syntax::parse::parser::parse_expr_from_source_str;
1314

1415

@@ -119,10 +120,11 @@ fn core_macros() -> str {
119120
}";
120121
}
121122

122-
fn expand_crate(sess: session::session, c: @crate) -> @crate {
123+
fn expand_crate(parse_sess: parser::parse_sess,
124+
cfg: ast::crate_cfg, c: @crate) -> @crate {
123125
let exts = syntax_expander_table();
124126
let afp = default_ast_fold();
125-
let cx: ext_ctxt = mk_ctxt(sess, sess.parse_sess, sess.opts.cfg);
127+
let cx: ext_ctxt = mk_ctxt(parse_sess, cfg);
126128
let f_pre =
127129
{fold_expr: bind expand_expr(exts, cx, _, _, _, afp.fold_expr),
128130
fold_mod: bind expand_mod_items(exts, cx, _, _, afp.fold_mod),
@@ -131,8 +133,8 @@ fn expand_crate(sess: session::session, c: @crate) -> @crate {
131133
let f = make_fold(f_pre);
132134
let cm = parse_expr_from_source_str("<core-macros>",
133135
@core_macros(),
134-
sess.opts.cfg,
135-
sess.parse_sess);
136+
cfg,
137+
parse_sess);
136138

137139
// This is run for its side-effects on the expander env,
138140
// as it registers all the core macros as expanders.

0 commit comments

Comments
 (0)