diff options
| author | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2014-02-15 22:10:16 -0800 |
|---|---|---|
| committer | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2014-02-21 19:57:03 -0800 |
| commit | 0135b521ad38615e9a07aac54d9c22627af57ca4 (patch) | |
| tree | ab6d61e7aeaa134a1a207bd132962e6a326f0e0d | |
| parent | bb8721da69e4c54fc2e22c3352d74c406e817049 (diff) | |
| download | rust-0135b521ad38615e9a07aac54d9c22627af57ca4.tar.gz rust-0135b521ad38615e9a07aac54d9c22627af57ca4.zip | |
syntax: add syntax extension helper to make simple view items
| -rw-r--r-- | src/libsyntax/ext/build.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs index d311a542ac6..7ac324e5092 100644 --- a/src/libsyntax/ext/build.rs +++ b/src/libsyntax/ext/build.rs @@ -242,6 +242,9 @@ pub trait AstBuilder { fn view_use(&self, sp: Span, vis: ast::Visibility, vp: ~[@ast::ViewPath]) -> ast::ViewItem; + fn view_use_simple(&self, sp: Span, vis: ast::Visibility, path: ast::Path) -> ast::ViewItem; + fn view_use_simple_(&self, sp: Span, vis: ast::Visibility, + ident: ast::Ident, path: ast::Path) -> ast::ViewItem; fn view_use_list(&self, sp: Span, vis: ast::Visibility, path: ~[ast::Ident], imports: &[ast::Ident]) -> ast::ViewItem; fn view_use_glob(&self, sp: Span, @@ -900,6 +903,20 @@ impl<'a> AstBuilder for ExtCtxt<'a> { } } + fn view_use_simple(&self, sp: Span, vis: ast::Visibility, path: ast::Path) -> ast::ViewItem { + let last = path.segments.last().unwrap().identifier; + self.view_use_simple_(sp, vis, last, path) + } + + fn view_use_simple_(&self, sp: Span, vis: ast::Visibility, + ident: ast::Ident, path: ast::Path) -> ast::ViewItem { + self.view_use(sp, vis, + ~[@respan(sp, + ast::ViewPathSimple(ident, + path, + ast::DUMMY_NODE_ID))]) + } + fn view_use_list(&self, sp: Span, vis: ast::Visibility, path: ~[ast::Ident], imports: &[ast::Ident]) -> ast::ViewItem { let imports = imports.map(|id| { |
