diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2015-02-28 13:56:15 +0530 |
|---|---|---|
| committer | Manish Goregaokar <manishsmail@gmail.com> | 2015-02-28 19:18:59 +0530 |
| commit | 37760c1f25fc55814a92cce1c98edefdc0740188 (patch) | |
| tree | 8569985d944648dfce3870cb2c9980ca1ba1b268 /src/libsyntax/ext/source_util.rs | |
| parent | a0f5ed957accd7623efcbbfa351a8024c699ff76 (diff) | |
| parent | f66a3f7bba378d4a308e02a860a11ab5f9f8e4ad (diff) | |
| download | rust-37760c1f25fc55814a92cce1c98edefdc0740188.tar.gz rust-37760c1f25fc55814a92cce1c98edefdc0740188.zip | |
Rollup merge of #22875 - kmcallister:maceager, r=sfackler
MacEager is a MacResult implementation for the common case where you've already built each form of AST that you might return.
Fixes #17637. Based on #18814.
This is a [breaking-change] for syntax extensions:
* MacExpr::new becomes MacEager::expr.
* MacPat::new becomes MacEager::pat.
* MacItems::new becomes MacEager::items. It takes a SmallVector directly,
not an iterator.
r? @sfackler
Diffstat (limited to 'src/libsyntax/ext/source_util.rs')
| -rw-r--r-- | src/libsyntax/ext/source_util.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/libsyntax/ext/source_util.rs b/src/libsyntax/ext/source_util.rs index af43f5a1501..ba3743cdb33 100644 --- a/src/libsyntax/ext/source_util.rs +++ b/src/libsyntax/ext/source_util.rs @@ -35,7 +35,7 @@ pub fn expand_line(cx: &mut ExtCtxt, sp: Span, tts: &[ast::TokenTree]) let topmost = cx.original_span_in_file(); let loc = cx.codemap().lookup_char_pos(topmost.lo); - base::MacExpr::new(cx.expr_u32(topmost, loc.line as u32)) + base::MacEager::expr(cx.expr_u32(topmost, loc.line as u32)) } /* column!(): expands to the current column number */ @@ -46,7 +46,7 @@ pub fn expand_column(cx: &mut ExtCtxt, sp: Span, tts: &[ast::TokenTree]) let topmost = cx.original_span_in_file(); let loc = cx.codemap().lookup_char_pos(topmost.lo); - base::MacExpr::new(cx.expr_u32(topmost, loc.col.to_usize() as u32)) + base::MacEager::expr(cx.expr_u32(topmost, loc.col.to_usize() as u32)) } /// file!(): expands to the current filename */ @@ -59,13 +59,13 @@ pub fn expand_file(cx: &mut ExtCtxt, sp: Span, tts: &[ast::TokenTree]) let topmost = cx.original_span_in_file(); let loc = cx.codemap().lookup_char_pos(topmost.lo); let filename = token::intern_and_get_ident(&loc.file.name); - base::MacExpr::new(cx.expr_str(topmost, filename)) + base::MacEager::expr(cx.expr_str(topmost, filename)) } pub fn expand_stringify(cx: &mut ExtCtxt, sp: Span, tts: &[ast::TokenTree]) -> Box<base::MacResult+'static> { let s = pprust::tts_to_string(tts); - base::MacExpr::new(cx.expr_str(sp, + base::MacEager::expr(cx.expr_str(sp, token::intern_and_get_ident(&s[..]))) } @@ -77,7 +77,7 @@ pub fn expand_mod(cx: &mut ExtCtxt, sp: Span, tts: &[ast::TokenTree]) .map(|x| token::get_ident(*x).to_string()) .collect::<Vec<String>>() .connect("::"); - base::MacExpr::new(cx.expr_str( + base::MacEager::expr(cx.expr_str( sp, token::intern_and_get_ident(&string[..]))) } @@ -155,7 +155,7 @@ pub fn expand_include_str(cx: &mut ExtCtxt, sp: Span, tts: &[ast::TokenTree]) let interned = token::intern_and_get_ident(&src[..]); cx.codemap().new_filemap(filename, src); - base::MacExpr::new(cx.expr_str(sp, interned)) + base::MacEager::expr(cx.expr_str(sp, interned)) } Err(_) => { cx.span_err(sp, @@ -181,7 +181,7 @@ pub fn expand_include_bytes(cx: &mut ExtCtxt, sp: Span, tts: &[ast::TokenTree]) } Ok(bytes) => { let bytes = bytes.iter().cloned().collect(); - base::MacExpr::new(cx.expr_lit(sp, ast::LitBinary(Rc::new(bytes)))) + base::MacEager::expr(cx.expr_lit(sp, ast::LitBinary(Rc::new(bytes)))) } } } |
