diff options
| author | Graydon Hoare <graydon@mozilla.com> | 2012-12-06 11:01:58 -0800 |
|---|---|---|
| committer | Graydon Hoare <graydon@mozilla.com> | 2012-12-07 11:21:14 -0800 |
| commit | d45cb279012a56faaa39de305c1f8cd2098ecfb0 (patch) | |
| tree | cb7303d2b29a63a48685c736e3f2ba60a66f65af /src/libsyntax/ext/base.rs | |
| parent | 9f27bf7debcaa208f87ad045638070a4e2b226d9 (diff) | |
| download | rust-d45cb279012a56faaa39de305c1f8cd2098ecfb0.tar.gz rust-d45cb279012a56faaa39de305c1f8cd2098ecfb0.zip | |
syntax: point quote tokens at the site of quote-using-extension invocation.
Diffstat (limited to 'src/libsyntax/ext/base.rs')
| -rw-r--r-- | src/libsyntax/ext/base.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs index 630ba3b8749..1f5b2b92f97 100644 --- a/src/libsyntax/ext/base.rs +++ b/src/libsyntax/ext/base.rs @@ -163,6 +163,7 @@ trait ext_ctxt { fn codemap() -> @CodeMap; fn parse_sess() -> parse::parse_sess; fn cfg() -> ast::crate_cfg; + fn call_site() -> span; fn print_backtrace(); fn backtrace() -> Option<@ExpnInfo>; fn mod_push(mod_name: ast::ident); @@ -195,6 +196,12 @@ fn mk_ctxt(parse_sess: parse::parse_sess, fn codemap() -> @CodeMap { self.parse_sess.cm } fn parse_sess() -> parse::parse_sess { self.parse_sess } fn cfg() -> ast::crate_cfg { self.cfg } + fn call_site() -> span { + match self.backtrace { + Some(@ExpandedFrom({call_site: cs, _})) => cs, + None => self.bug(~"missing top span") + } + } fn print_backtrace() { } fn backtrace() -> Option<@ExpnInfo> { self.backtrace } fn mod_push(i: ast::ident) { self.mod_path.push(i); } |
