diff options
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/base.rs | 7 | ||||
| -rw-r--r-- | src/libsyntax/ext/expand.rs | 6 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs index ae8c13a5f98..b575cfaade6 100644 --- a/src/libsyntax/ext/base.rs +++ b/src/libsyntax/ext/base.rs @@ -339,7 +339,12 @@ impl<'a> ExtCtxt<'a> { pub fn backtrace(&self) -> Option<@ExpnInfo> { self.backtrace } pub fn mod_push(&mut self, i: ast::Ident) { self.mod_path.push(i); } pub fn mod_pop(&mut self) { self.mod_path.pop().unwrap(); } - pub fn mod_path(&self) -> Vec<ast::Ident> { self.mod_path.clone() } + pub fn mod_path(&self) -> Vec<ast::Ident> { + let mut v = Vec::new(); + v.push(token::str_to_ident(self.ecfg.crate_id.name)); + v.extend(&mut self.mod_path.iter().map(|a| *a)); + return v; + } pub fn bt_push(&mut self, ei: codemap::ExpnInfo) { match ei { ExpnInfo {call_site: cs, callee: ref callee} => { diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index dc79ceb4daa..c24894af3be 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -19,6 +19,7 @@ use attr; use attr::AttrMetaMethods; use codemap; use codemap::{Span, Spanned, ExpnInfo, NameAndSpan, MacroBang, MacroAttribute}; +use crateid::CrateId; use ext::base::*; use fold::*; use parse; @@ -871,6 +872,7 @@ impl<'a> Folder for MacroExpander<'a> { pub struct ExpansionConfig<'a> { loader: &'a mut CrateLoader, deriving_hash_type_parameter: bool, + crate_id: CrateId, } pub fn expand_crate(parse_sess: @parse::ParseSess, @@ -1048,6 +1050,7 @@ mod test { let cfg = ::syntax::ext::expand::ExpansionConfig { loader: &mut loader, deriving_hash_type_parameter: false, + crate_id: from_str("test").unwrap(), }; expand_crate(sess,cfg,crate_ast); } @@ -1067,6 +1070,7 @@ mod test { let cfg = ::syntax::ext::expand::ExpansionConfig { loader: &mut loader, deriving_hash_type_parameter: false, + crate_id: from_str("test").unwrap(), }; expand_crate(sess,cfg,crate_ast); } @@ -1085,6 +1089,7 @@ mod test { let cfg = ::syntax::ext::expand::ExpansionConfig { loader: &mut loader, deriving_hash_type_parameter: false, + crate_id: from_str("test").unwrap(), }; expand_crate(sess, cfg, crate_ast); } @@ -1127,6 +1132,7 @@ mod test { let cfg = ::syntax::ext::expand::ExpansionConfig { loader: &mut loader, deriving_hash_type_parameter: false, + crate_id: from_str("test").unwrap(), }; expand_crate(ps,cfg,crate_ast) } |
