diff options
| author | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2014-07-28 17:32:51 -0700 |
|---|---|---|
| committer | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2014-07-29 16:01:36 -0700 |
| commit | e841a88b9298b0d1fef93192d8e163b44645fc73 (patch) | |
| tree | 9ae56039fa607f96398be46cd12ce141b8065f31 /src/libsyntax/ext | |
| parent | 1200ad0f06fc1ecc9a5ccf320e704c95786dbfe3 (diff) | |
| download | rust-e841a88b9298b0d1fef93192d8e163b44645fc73.tar.gz rust-e841a88b9298b0d1fef93192d8e163b44645fc73.zip | |
syntax: add support for quoting arms
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/base.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/ext/quote.rs | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs index a66d6839ab0..d00406e07b7 100644 --- a/src/libsyntax/ext/base.rs +++ b/src/libsyntax/ext/base.rs @@ -382,6 +382,9 @@ fn initial_syntax_expander_table() -> SyntaxEnv { syntax_expanders.insert(intern("quote_pat"), builtin_normal_expander( ext::quote::expand_quote_pat)); + syntax_expanders.insert(intern("quote_arm"), + builtin_normal_expander( + ext::quote::expand_quote_arm)); syntax_expanders.insert(intern("quote_stmt"), builtin_normal_expander( ext::quote::expand_quote_stmt)); diff --git a/src/libsyntax/ext/quote.rs b/src/libsyntax/ext/quote.rs index 8f236cebcf4..dcfb0198127 100644 --- a/src/libsyntax/ext/quote.rs +++ b/src/libsyntax/ext/quote.rs @@ -349,6 +349,14 @@ pub fn expand_quote_pat(cx: &mut ExtCtxt, base::MacExpr::new(expanded) } +pub fn expand_quote_arm(cx: &mut ExtCtxt, + sp: Span, + tts: &[ast::TokenTree]) + -> Box<base::MacResult> { + let expanded = expand_parse_call(cx, sp, "parse_arm", vec!(), tts); + base::MacExpr::new(expanded) +} + pub fn expand_quote_ty(cx: &mut ExtCtxt, sp: Span, tts: &[ast::TokenTree]) |
