remove interner from tt_reader
This commit is contained in:
parent
be22fddba0
commit
19cbd0d284
5 changed files with 3 additions and 11 deletions
|
@ -68,7 +68,6 @@ pub fn expand_proto(cx: @ExtCtxt, _sp: span, id: ast::ident,
|
|||
let sess = cx.parse_sess();
|
||||
let cfg = cx.cfg();
|
||||
let tt_rdr = new_tt_reader(copy cx.parse_sess().span_diagnostic,
|
||||
get_ident_interner(),
|
||||
None,
|
||||
copy tt);
|
||||
let rdr = tt_rdr as @reader;
|
||||
|
|
|
@ -29,7 +29,6 @@ pub fn expand_trace_macros(cx: @ExtCtxt,
|
|||
let cfg = cx.cfg();
|
||||
let tt_rdr = new_tt_reader(
|
||||
copy cx.parse_sess().span_diagnostic,
|
||||
get_ident_interner(),
|
||||
None,
|
||||
vec::to_owned(tt)
|
||||
);
|
||||
|
|
|
@ -57,7 +57,7 @@ pub fn add_new_extension(cx: @ExtCtxt,
|
|||
|
||||
// Parse the macro_rules! invocation (`none` is for no interpolations):
|
||||
let arg_reader = new_tt_reader(copy cx.parse_sess().span_diagnostic,
|
||||
get_ident_interner(), None, copy arg);
|
||||
None, copy arg);
|
||||
let argument_map = parse_or_else(cx.parse_sess(),
|
||||
cx.cfg(),
|
||||
arg_reader as @reader,
|
||||
|
@ -101,7 +101,6 @@ pub fn add_new_extension(cx: @ExtCtxt,
|
|||
// `none` is because we're not interpolating
|
||||
let arg_rdr = new_tt_reader(
|
||||
s_d,
|
||||
itr,
|
||||
None,
|
||||
vec::to_owned(arg)
|
||||
) as @reader;
|
||||
|
@ -122,7 +121,7 @@ pub fn add_new_extension(cx: @ExtCtxt,
|
|||
_ => cx.span_bug(sp, "bad thing in rhs")
|
||||
};
|
||||
// rhs has holes ( `$id` and `$(...)` that need filled)
|
||||
let trncbr = new_tt_reader(s_d, itr, Some(named_matches),
|
||||
let trncbr = new_tt_reader(s_d, Some(named_matches),
|
||||
rhs);
|
||||
let p = @Parser(cx.parse_sess(),
|
||||
cx.cfg(),
|
||||
|
|
|
@ -34,7 +34,6 @@ struct TtFrame {
|
|||
|
||||
pub struct TtReader {
|
||||
sp_diag: @span_handler,
|
||||
interner: @ident_interner,
|
||||
// the unzipped tree:
|
||||
stack: @mut TtFrame,
|
||||
/* for MBE-style macro transcription */
|
||||
|
@ -50,13 +49,11 @@ pub struct TtReader {
|
|||
* `src` contains no `tt_seq`s and `tt_nonterminal`s, `interp` can (and
|
||||
* should) be none. */
|
||||
pub fn new_tt_reader(sp_diag: @span_handler,
|
||||
itr: @ident_interner,
|
||||
interp: Option<HashMap<ident,@named_match>>,
|
||||
src: ~[ast::token_tree])
|
||||
-> @mut TtReader {
|
||||
let r = @mut TtReader {
|
||||
sp_diag: sp_diag,
|
||||
interner: itr,
|
||||
stack: @mut TtFrame {
|
||||
forest: @mut src,
|
||||
idx: 0u,
|
||||
|
@ -94,7 +91,6 @@ fn dup_tt_frame(f: @mut TtFrame) -> @mut TtFrame {
|
|||
pub fn dup_tt_reader(r: @mut TtReader) -> @mut TtReader {
|
||||
@mut TtReader {
|
||||
sp_diag: r.sp_diag,
|
||||
interner: get_ident_interner(),
|
||||
stack: dup_tt_frame(r.stack),
|
||||
repeat_idx: copy r.repeat_idx,
|
||||
repeat_len: copy r.repeat_len,
|
||||
|
@ -127,7 +123,7 @@ fn lookup_cur_matched(r: &mut TtReader, name: ident) -> @named_match {
|
|||
Some(s) => lookup_cur_matched_by_matched(r, s),
|
||||
None => {
|
||||
r.sp_diag.span_fatal(r.cur_span, fmt!("unknown macro variable `%s`",
|
||||
*r.interner.get(name.name)));
|
||||
*ident_to_str(&name)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -319,7 +319,6 @@ pub fn tts_to_parser(sess: @mut ParseSess,
|
|||
cfg: ast::crate_cfg) -> Parser {
|
||||
let trdr = lexer::new_tt_reader(
|
||||
copy sess.span_diagnostic,
|
||||
get_ident_interner(),
|
||||
None,
|
||||
tts
|
||||
);
|
||||
|
|
Loading…
Reference in a new issue