Skip to content

Commit

Permalink
Auto merge of #30075 - kyeah:mac-span, r=sanxiyn
Browse files Browse the repository at this point in the history
Fixes #28424 (item macros), #30067 (impl item macros), and pattern macros.
  • Loading branch information
bors committed Nov 29, 2015
2 parents 7499558 + 920120e commit 323781c
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions src/libsyntax/parse/parser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3253,7 +3253,8 @@ impl<'a> Parser<'a> {
let tts = try!(self.parse_seq_to_end(&token::CloseDelim(delim),
seq_sep_none(), |p| p.parse_token_tree()));
let mac = Mac_ { path: path, tts: tts, ctxt: EMPTY_CTXT };
pat = PatMac(codemap::Spanned {node: mac, span: self.span});
pat = PatMac(codemap::Spanned {node: mac,
span: mk_sp(lo, self.last_span.hi)});
} else {
// Parse ident @ pat
// This can give false positives and parse nullary enums,
Expand Down Expand Up @@ -4475,6 +4476,7 @@ impl<'a> Parser<'a> {
let last_span = self.last_span;
self.complain_if_pub_macro(vis, last_span);

let lo = self.span.lo;
let pth = try!(self.parse_path(NoTypesAllowed));
try!(self.expect(&token::Not));

Expand All @@ -4485,8 +4487,8 @@ impl<'a> Parser<'a> {
|p| p.parse_token_tree()));
let m_ = Mac_ { path: pth, tts: tts, ctxt: EMPTY_CTXT };
let m: ast::Mac = codemap::Spanned { node: m_,
span: mk_sp(self.span.lo,
self.span.hi) };
span: mk_sp(lo,
self.last_span.hi) };
if delim != token::Brace {
try!(self.expect(&token::Semi))
}
Expand Down Expand Up @@ -5513,6 +5515,8 @@ impl<'a> Parser<'a> {
let last_span = self.last_span;
self.complain_if_pub_macro(visibility, last_span);

let mac_lo = self.span.lo;

// item macro.
let pth = try!(self.parse_path(NoTypesAllowed));
try!(self.expect(&token::Not));
Expand All @@ -5533,8 +5537,8 @@ impl<'a> Parser<'a> {
// single-variant-enum... :
let m = Mac_ { path: pth, tts: tts, ctxt: EMPTY_CTXT };
let m: ast::Mac = codemap::Spanned { node: m,
span: mk_sp(self.span.lo,
self.span.hi) };
span: mk_sp(mac_lo,
self.last_span.hi) };

if delim != token::Brace {
if !try!(self.eat(&token::Semi) ){
Expand Down

0 comments on commit 323781c

Please sign in to comment.