diff options
| author | bors <bors@rust-lang.org> | 2014-02-13 16:32:01 -0800 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-02-13 16:32:01 -0800 |
| commit | 89b1686bd7db25b5dd948b1a4d9dfd0c68084c29 (patch) | |
| tree | cfde530d295ebf159fc538115565d5ce1409bea3 /src/libsyntax/ext | |
| parent | 94d453e459107ed1c5d76f693686b29d31cdc58c (diff) | |
| parent | 5deb3c9ca06509ce261f69fd01426825e32d61c1 (diff) | |
| download | rust-89b1686bd7db25b5dd948b1a4d9dfd0c68084c29.tar.gz rust-89b1686bd7db25b5dd948b1a4d9dfd0c68084c29.zip | |
auto merge of #12017 : FlaPer87/rust/replace-mod-crate, r=alexcrichton
The first setp for #9880 is to add a new `crate` keyword. This PR does exactly that. I took a chance to refactor `parse_item_foreign_mod` and I broke it down into 2 separate methods to isolate each feature. The next step will be to push a new stage0 snapshot and then get rid of all `extern mod` around the code.
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/base.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/ext/expand.rs | 18 | ||||
| -rw-r--r-- | src/libsyntax/ext/registrar.rs | 6 |
3 files changed, 13 insertions, 13 deletions
diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs index 02c3a1b985b..7ac66ecaa37 100644 --- a/src/libsyntax/ext/base.rs +++ b/src/libsyntax/ext/base.rs @@ -264,7 +264,7 @@ pub struct MacroCrate { } pub trait CrateLoader { - fn load_crate(&mut self, crate: &ast::ViewItem) -> MacroCrate; + fn load_crate(&mut self, krate: &ast::ViewItem) -> MacroCrate; fn get_exported_macros(&mut self, crate_num: ast::CrateNum) -> ~[~str]; fn get_registrar_symbol(&mut self, crate_num: ast::CrateNum) -> Option<~str>; } diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index d79c4cbc96a..d96fc27f3dd 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -414,10 +414,10 @@ pub fn expand_view_item(vi: &ast::ViewItem, noop_fold_view_item(vi, fld) } -fn load_extern_macros(crate: &ast::ViewItem, fld: &mut MacroExpander) { - let MacroCrate { lib, cnum } = fld.cx.loader.load_crate(crate); +fn load_extern_macros(krate: &ast::ViewItem, fld: &mut MacroExpander) { + let MacroCrate { lib, cnum } = fld.cx.loader.load_crate(krate); - let crate_name = match crate.node { + let crate_name = match krate.node { ast::ViewItemExternMod(ref name, _, _) => { let string = token::get_ident(name.name); string.get().to_str() @@ -453,19 +453,19 @@ fn load_extern_macros(crate: &ast::ViewItem, fld: &mut MacroExpander) { // this is fatal: there are almost certainly macros we need // inside this crate, so continue would spew "macro undefined" // errors - Err(err) => fld.cx.span_fatal(crate.span, err) + Err(err) => fld.cx.span_fatal(krate.span, err) }; unsafe { let registrar: MacroCrateRegistrationFun = match lib.symbol(registrar) { Ok(registrar) => registrar, // again fatal if we can't register macros - Err(err) => fld.cx.span_fatal(crate.span, err) + Err(err) => fld.cx.span_fatal(krate.span, err) }; registrar(|name, extension| { let extension = match extension { - NormalTT(ext, _) => NormalTT(ext, Some(crate.span)), - IdentTT(ext, _) => IdentTT(ext, Some(crate.span)), + NormalTT(ext, _) => NormalTT(ext, Some(krate.span)), + IdentTT(ext, _) => IdentTT(ext, Some(krate.span)), ItemDecorator(ext) => ItemDecorator(ext), }; fld.extsbox.insert(name, extension); @@ -1036,10 +1036,10 @@ mod test { } } - //fn fake_print_crate(crate: &ast::Crate) { + //fn fake_print_crate(krate: &ast::Crate) { // let mut out = ~std::io::stderr() as ~std::io::Writer; // let mut s = pprust::rust_printer(out, get_ident_interner()); - // pprust::print_crate_(&mut s, crate); + // pprust::print_crate_(&mut s, krate); //} fn expand_crate_str(crate_str: ~str) -> ast::Crate { diff --git a/src/libsyntax/ext/registrar.rs b/src/libsyntax/ext/registrar.rs index e831e8fbb10..f0bad1b40eb 100644 --- a/src/libsyntax/ext/registrar.rs +++ b/src/libsyntax/ext/registrar.rs @@ -35,16 +35,16 @@ impl Visitor<()> for MacroRegistrarContext { } pub fn find_macro_registrar(diagnostic: @diagnostic::SpanHandler, - crate: &ast::Crate) -> Option<ast::DefId> { + krate: &ast::Crate) -> Option<ast::DefId> { let mut ctx = MacroRegistrarContext { registrars: ~[] }; - visit::walk_crate(&mut ctx, crate, ()); + visit::walk_crate(&mut ctx, krate, ()); match ctx.registrars.len() { 0 => None, 1 => { let (node_id, _) = ctx.registrars.pop().unwrap(); Some(ast::DefId { - crate: ast::LOCAL_CRATE, + krate: ast::LOCAL_CRATE, node: node_id }) }, |
