diff options
| author | Jakub Wieczorek <jakub@jakub.cc> | 2014-07-01 18:39:41 +0200 |
|---|---|---|
| committer | Jakub Wieczorek <jakub@jakub.cc> | 2014-07-11 00:32:00 +0200 |
| commit | 9b9cce2316119a2ffdc9556d410e464b7542d64d (patch) | |
| tree | 42bba2a9583ab3df7a9902e29457d129fba5c310 /src/libsyntax/ext | |
| parent | 7ab9bfab4e623f67ea32db1ec50f8b79c1514e40 (diff) | |
| download | rust-9b9cce2316119a2ffdc9556d410e464b7542d64d.tar.gz rust-9b9cce2316119a2ffdc9556d410e464b7542d64d.zip | |
Add scaffolding for assigning alpha-numeric codes to rustc diagnostics
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/build.rs | 6 | ||||
| -rw-r--r-- | src/libsyntax/ext/expand.rs | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs index 4d79ff3257a..4d3913da365 100644 --- a/src/libsyntax/ext/build.rs +++ b/src/libsyntax/ext/build.rs @@ -148,6 +148,8 @@ pub trait AstBuilder { fn expr_some(&self, sp: Span, expr: Gc<ast::Expr>) -> Gc<ast::Expr>; fn expr_none(&self, sp: Span) -> Gc<ast::Expr>; + fn expr_tuple(&self, sp: Span, exprs: Vec<Gc<ast::Expr>>) -> Gc<ast::Expr>; + fn expr_fail(&self, span: Span, msg: InternedString) -> Gc<ast::Expr>; fn expr_unreachable(&self, span: Span) -> Gc<ast::Expr>; @@ -674,6 +676,10 @@ impl<'a> AstBuilder for ExtCtxt<'a> { self.expr_path(none) } + fn expr_tuple(&self, sp: Span, exprs: Vec<Gc<ast::Expr>>) -> Gc<ast::Expr> { + self.expr(sp, ast::ExprTup(exprs)) + } + fn expr_fail(&self, span: Span, msg: InternedString) -> Gc<ast::Expr> { let loc = self.codemap().lookup_char_pos(span.lo); self.expr_call_global( diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index b7d72ae4deb..b5f7005c2a3 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -58,7 +58,7 @@ pub fn expand_expr(e: Gc<ast::Expr>, fld: &mut MacroExpander) -> Gc<ast::Expr> { None => { fld.cx.span_err( pth.span, - format!("macro undefined: '{}'", + format!("macro undefined: '{}!'", extnamestr.get()).as_slice()); // let compilation continue @@ -567,7 +567,7 @@ fn expand_stmt(s: &Stmt, fld: &mut MacroExpander) -> SmallVector<Gc<Stmt>> { let marked_after = match fld.extsbox.find(&extname.name) { None => { fld.cx.span_err(pth.span, - format!("macro undefined: '{}'", + format!("macro undefined: '{}!'", extnamestr).as_slice()); return SmallVector::zero(); } |
