mirror of
https://github.com/rust-lang/rust.git
synced 2025-01-21 04:03:11 +00:00
Properly sync macro_parser.rs after it escapes out to the Rust parser. Closes #3201.
This commit is contained in:
parent
9ff8d18766
commit
7051d622c0
@ -349,10 +349,15 @@ fn core_macros() -> ~str {
|
||||
return
|
||||
~"{
|
||||
macro_rules! ignore (($($x:tt)*) => (()))
|
||||
#macro[[#error[f, ...], log(core::error, #fmt[f, ...])]];
|
||||
#macro[[#warn[f, ...], log(core::warn, #fmt[f, ...])]];
|
||||
#macro[[#info[f, ...], log(core::info, #fmt[f, ...])]];
|
||||
#macro[[#debug[f, ...], log(core::debug, #fmt[f, ...])]];
|
||||
|
||||
macro_rules! error ( ($( $arg:expr ),+) => (
|
||||
log(core::error, fmt!( $($arg),+ )) ))
|
||||
macro_rules! warn ( ($( $arg:expr ),+) => (
|
||||
log(core::warn, fmt!( $($arg),+ )) ))
|
||||
macro_rules! info ( ($( $arg:expr ),+) => (
|
||||
log(core::info, fmt!( $($arg),+ )) ))
|
||||
macro_rules! debug ( ($( $arg:expr ),+) => (
|
||||
log(core::debug, fmt!( $($arg),+ )) ))
|
||||
|
||||
macro_rules! die(
|
||||
($msg: expr) => (
|
||||
|
@ -368,11 +368,7 @@ fn parse(sess: parse_sess, cfg: ast::crate_cfg, rdr: reader, ms: ~[matcher])
|
||||
}
|
||||
cur_eis.push(move ei);
|
||||
|
||||
/* this would fail if zero-length tokens existed */
|
||||
while rdr.peek().sp.lo < rust_parser.span.lo {
|
||||
rdr.next_token();
|
||||
} /* except for EOF... */
|
||||
while rust_parser.token == EOF && rdr.peek().tok != EOF {
|
||||
for rust_parser.tokens_consumed.times() || {
|
||||
rdr.next_token();
|
||||
}
|
||||
}
|
||||
|
@ -191,6 +191,7 @@ fn Parser(sess: parse_sess, cfg: ast::crate_cfg,
|
||||
buffer: [mut {tok: tok0.tok, sp: span0}, ..4],
|
||||
buffer_start: 0,
|
||||
buffer_end: 0,
|
||||
tokens_consumed: 0u,
|
||||
restriction: UNRESTRICTED,
|
||||
quote_depth: 0u,
|
||||
keywords: token::keyword_table(),
|
||||
@ -209,6 +210,7 @@ struct Parser {
|
||||
mut buffer: [mut {tok: token::Token, sp: span} * 4],
|
||||
mut buffer_start: int,
|
||||
mut buffer_end: int,
|
||||
mut tokens_consumed: uint,
|
||||
mut restriction: restriction,
|
||||
mut quote_depth: uint, // not (yet) related to the quasiquoter
|
||||
reader: reader,
|
||||
@ -235,6 +237,7 @@ impl Parser {
|
||||
};
|
||||
self.token = next.tok;
|
||||
self.span = next.sp;
|
||||
self.tokens_consumed += 1u;
|
||||
}
|
||||
fn swap(next: token::Token, +lo: BytePos, +hi: BytePos) {
|
||||
self.token = next;
|
||||
|
Loading…
Reference in New Issue
Block a user