From 90cbe0cad20d2736c7e7ebbffb2c2d84016f9340 Mon Sep 17 00:00:00 2001 From: Eduard Burtescu Date: Sun, 9 Mar 2014 16:54:34 +0200 Subject: De-@ ParseSess uses. --- src/libsyntax/ext/base.rs | 6 +++--- src/libsyntax/ext/expand.rs | 15 ++++++++------- src/libsyntax/ext/format.rs | 6 +++--- src/libsyntax/ext/tt/macro_parser.rs | 8 ++++---- src/libsyntax/ext/tt/macro_rules.rs | 8 ++++---- 5 files changed, 22 insertions(+), 21 deletions(-) (limited to 'src/libsyntax/ext') diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs index 997bfcc2e94..a6f145a129e 100644 --- a/src/libsyntax/ext/base.rs +++ b/src/libsyntax/ext/base.rs @@ -289,7 +289,7 @@ pub trait CrateLoader { // when a macro expansion occurs, the resulting nodes have the backtrace() // -> expn_info of their expansion context stored into their span. pub struct ExtCtxt<'a> { - parse_sess: @parse::ParseSess, + parse_sess: &'a parse::ParseSess, cfg: ast::CrateConfig, backtrace: Option<@ExpnInfo>, ecfg: expand::ExpansionConfig<'a>, @@ -299,7 +299,7 @@ pub struct ExtCtxt<'a> { } impl<'a> ExtCtxt<'a> { - pub fn new<'a>(parse_sess: @parse::ParseSess, cfg: ast::CrateConfig, + pub fn new<'a>(parse_sess: &'a parse::ParseSess, cfg: ast::CrateConfig, ecfg: expand::ExpansionConfig<'a>) -> ExtCtxt<'a> { ExtCtxt { parse_sess: parse_sess, @@ -327,7 +327,7 @@ impl<'a> ExtCtxt<'a> { } pub fn codemap(&self) -> @CodeMap { self.parse_sess.cm } - pub fn parse_sess(&self) -> @parse::ParseSess { self.parse_sess } + pub fn parse_sess(&self) -> &'a parse::ParseSess { self.parse_sess } pub fn cfg(&self) -> ast::CrateConfig { self.cfg.clone() } pub fn call_site(&self) -> Span { match self.backtrace { diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index c24894af3be..3ad1ea8f0da 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -838,12 +838,12 @@ pub fn new_span(cx: &ExtCtxt, sp: Span) -> Span { } } -pub struct MacroExpander<'a> { +pub struct MacroExpander<'a, 'b> { extsbox: SyntaxEnv, - cx: &'a mut ExtCtxt<'a>, + cx: &'a mut ExtCtxt<'b>, } -impl<'a> Folder for MacroExpander<'a> { +impl<'a, 'b> Folder for MacroExpander<'a, 'b> { fn fold_expr(&mut self, expr: @ast::Expr) -> @ast::Expr { expand_expr(expr, self) } @@ -875,7 +875,7 @@ pub struct ExpansionConfig<'a> { crate_id: CrateId, } -pub fn expand_crate(parse_sess: @parse::ParseSess, +pub fn expand_crate(parse_sess: &parse::ParseSess, cfg: ExpansionConfig, c: Crate) -> Crate { let mut cx = ExtCtxt::new(parse_sess, c.config.clone(), cfg); @@ -974,7 +974,7 @@ mod test { use ext::mtwt; use parse; use parse::token; - use util::parser_testing::{string_to_crate_and_sess}; + use util::parser_testing::{string_to_parser}; use util::parser_testing::{string_to_pat, strs_to_idents}; use visit; use visit::Visitor; @@ -1126,7 +1126,8 @@ mod test { //} fn expand_crate_str(crate_str: ~str) -> ast::Crate { - let (crate_ast,ps) = string_to_crate_and_sess(crate_str); + let ps = parse::new_parse_sess(); + let crate_ast = string_to_parser(&ps, source_str).parse_crate_mod(); // the cfg argument actually does matter, here... let mut loader = ErrLoader; let cfg = ::syntax::ext::expand::ExpansionConfig { @@ -1134,7 +1135,7 @@ mod test { deriving_hash_type_parameter: false, crate_id: from_str("test").unwrap(), }; - expand_crate(ps,cfg,crate_ast) + expand_crate(&ps,cfg,crate_ast) } //fn expand_and_resolve(crate_str: @str) -> ast::crate { diff --git a/src/libsyntax/ext/format.rs b/src/libsyntax/ext/format.rs index 0db948c30b7..e79e584ed5c 100644 --- a/src/libsyntax/ext/format.rs +++ b/src/libsyntax/ext/format.rs @@ -35,8 +35,8 @@ enum Position { Named(~str), } -struct Context<'a> { - ecx: &'a mut ExtCtxt<'a>, +struct Context<'a, 'b> { + ecx: &'a mut ExtCtxt<'b>, fmtsp: Span, // Parsed argument expressions and the types that we've found so far for @@ -142,7 +142,7 @@ fn parse_args(ecx: &mut ExtCtxt, sp: Span, tts: &[ast::TokenTree]) return (extra, Some((fmtstr, args, order, names))); } -impl<'a> Context<'a> { +impl<'a, 'b> Context<'a, 'b> { /// Verifies one piece of a parse string. All errors are not emitted as /// fatal so we can continue giving errors about this and possibly other /// format strings. diff --git a/src/libsyntax/ext/tt/macro_parser.rs b/src/libsyntax/ext/tt/macro_parser.rs index c9d3150c2cd..698bde4578c 100644 --- a/src/libsyntax/ext/tt/macro_parser.rs +++ b/src/libsyntax/ext/tt/macro_parser.rs @@ -170,9 +170,9 @@ pub enum NamedMatch { MatchedNonterminal(Nonterminal) } -pub fn nameize(p_s: @ParseSess, ms: &[Matcher], res: &[@NamedMatch]) +pub fn nameize(p_s: &ParseSess, ms: &[Matcher], res: &[@NamedMatch]) -> HashMap { - fn n_rec(p_s: @ParseSess, m: &Matcher, res: &[@NamedMatch], + fn n_rec(p_s: &ParseSess, m: &Matcher, res: &[@NamedMatch], ret_val: &mut HashMap) { match *m { codemap::Spanned {node: MatchTok(_), .. } => (), @@ -205,7 +205,7 @@ pub enum ParseResult { Error(codemap::Span, ~str) } -pub fn parse_or_else(sess: @ParseSess, +pub fn parse_or_else(sess: &ParseSess, cfg: ast::CrateConfig, rdr: R, ms: Vec ) @@ -227,7 +227,7 @@ pub fn token_name_eq(t1 : &Token, t2 : &Token) -> bool { } } -pub fn parse(sess: @ParseSess, +pub fn parse(sess: &ParseSess, cfg: ast::CrateConfig, rdr: R, ms: &[Matcher]) diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs index 712d5f6bd27..4cacbfd6e5a 100644 --- a/src/libsyntax/ext/tt/macro_rules.rs +++ b/src/libsyntax/ext/tt/macro_rules.rs @@ -30,11 +30,11 @@ use util::small_vector::SmallVector; use std::cell::RefCell; use std::vec_ng::Vec; -struct ParserAnyMacro { - parser: RefCell, +struct ParserAnyMacro<'a> { + parser: RefCell>, } -impl ParserAnyMacro { +impl<'a> ParserAnyMacro<'a> { /// Make sure we don't have any tokens left to parse, so we don't /// silently drop anything. `allow_semi` is so that "optional" /// semilons at the end of normal expressions aren't complained @@ -57,7 +57,7 @@ impl ParserAnyMacro { } } -impl AnyMacro for ParserAnyMacro { +impl<'a> AnyMacro for ParserAnyMacro<'a> { fn make_expr(&self) -> @ast::Expr { let ret = { let mut parser = self.parser.borrow_mut(); -- cgit 1.4.1-3-g733a5