From 4ec1dd991405404725b5cc448295dc0be9cd17e5 Mon Sep 17 00:00:00 2001 From: Eric Holk Date: Mon, 13 Aug 2012 16:03:13 -0700 Subject: Got the select macro working. --- src/libsyntax/ext/tt/macro_rules.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/libsyntax') diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs index 4a7becf1919..8abe8d8309d 100644 --- a/src/libsyntax/ext/tt/macro_rules.rs +++ b/src/libsyntax/ext/tt/macro_rules.rs @@ -47,9 +47,16 @@ fn add_new_extension(cx: ext_ctxt, sp: span, name: ident, }; // Given `lhses` and `rhses`, this is the new macro we create - fn generic_extension(cx: ext_ctxt, sp: span, arg: ~[ast::token_tree], + fn generic_extension(cx: ext_ctxt, sp: span, name: ident, + arg: ~[ast::token_tree], lhses: ~[@named_match], rhses: ~[@named_match]) -> mac_result { + + //io::println(fmt!("%s! { %s }", *name, + // print::pprust::unexpanded_tt_to_str( + // ast::tt_delim(arg), + // cx.parse_sess().interner))); + // Which arm's failure should we report? (the one furthest along) let mut best_fail_spot = {lo: 0u, hi: 0u, expn_info: none}; let mut best_fail_msg = ~"internal error: ran no matchers"; @@ -90,7 +97,8 @@ fn add_new_extension(cx: ext_ctxt, sp: span, name: ident, cx.span_fatal(best_fail_spot, best_fail_msg); } - let exp = |cx, sp, arg| generic_extension(cx, sp, arg, lhses, rhses); + let exp = |cx, sp, arg| generic_extension(cx, sp, name, + arg, lhses, rhses); return mr_def({ ident: name, -- cgit 1.4.1-3-g733a5