diff options
| author | Paul Stansifer <paul.stansifer@gmail.com> | 2012-11-26 22:12:31 -0500 |
|---|---|---|
| committer | Graydon Hoare <graydon@mozilla.com> | 2012-11-29 12:09:11 -0800 |
| commit | 9ff8d1876630e7e3d1b0eef6c0c51610a19c4b98 (patch) | |
| tree | 7e02e221254850a8995d6e75d17663ad89cb77b3 /src/libsyntax/ext | |
| parent | a88f9ac732e5674404103b7c975f0dba845d79a6 (diff) | |
| download | rust-9ff8d1876630e7e3d1b0eef6c0c51610a19c4b98.tar.gz rust-9ff8d1876630e7e3d1b0eef6c0c51610a19c4b98.zip | |
Fix trace_macros so that it works.
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/trace_macros.rs | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/libsyntax/ext/trace_macros.rs b/src/libsyntax/ext/trace_macros.rs index a4e768aa7dc..f8c85fa01b7 100644 --- a/src/libsyntax/ext/trace_macros.rs +++ b/src/libsyntax/ext/trace_macros.rs @@ -15,12 +15,16 @@ fn expand_trace_macros(cx: ext_ctxt, sp: span, let rdr = tt_rdr as reader; let rust_parser = Parser(sess, cfg, rdr.dup()); - let arg = cx.str_of(rust_parser.parse_ident()); - match arg { - ~"true" => cx.set_trace_macros(true), - ~"false" => cx.set_trace_macros(false), - _ => cx.span_fatal(sp, ~"trace_macros! only accepts `true` or `false`") + if rust_parser.is_keyword(~"true") { + cx.set_trace_macros(true); + } else if rust_parser.is_keyword(~"false") { + cx.set_trace_macros(false); + } else { + cx.span_fatal(sp, ~"trace_macros! only accepts `true` or `false`") } + + rust_parser.bump(); + let rust_parser = Parser(sess, cfg, rdr.dup()); let result = rust_parser.parse_expr(); base::mr_expr(result) |
