Remove desugar_doc_comments
arg from Parser::new()
.
It's only true at one call site; do the desugaring there instead.
This commit is contained in:
parent
d72fc5ce44
commit
2e6ce68fba
3 changed files with 12 additions and 12 deletions
|
@ -249,7 +249,7 @@ fn expand_macro<'cx>(
|
||||||
trace_macros_note(&mut cx.expansions, sp, msg);
|
trace_macros_note(&mut cx.expansions, sp, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
let p = Parser::new(sess, tts, false, None);
|
let p = Parser::new(sess, tts, None);
|
||||||
|
|
||||||
if is_local {
|
if is_local {
|
||||||
cx.resolver.record_macro_rule_usage(node_id, i);
|
cx.resolver.record_macro_rule_usage(node_id, i);
|
||||||
|
@ -446,7 +446,7 @@ pub fn compile_declarative_macro(
|
||||||
|
|
||||||
let create_parser = || {
|
let create_parser = || {
|
||||||
let body = macro_def.body.tokens.clone();
|
let body = macro_def.body.tokens.clone();
|
||||||
Parser::new(&sess.parse_sess, body, false, rustc_parse::MACRO_ARGUMENTS)
|
Parser::new(&sess.parse_sess, body, rustc_parse::MACRO_ARGUMENTS)
|
||||||
};
|
};
|
||||||
|
|
||||||
let parser = create_parser();
|
let parser = create_parser();
|
||||||
|
@ -1417,6 +1417,11 @@ fn quoted_tt_to_string(tt: &mbe::TokenTree) -> String {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(super) fn parser_from_cx(sess: &ParseSess, tts: TokenStream, recovery: Recovery) -> Parser<'_> {
|
pub(super) fn parser_from_cx(
|
||||||
Parser::new(sess, tts, true, rustc_parse::MACRO_ARGUMENTS).recovery(recovery)
|
sess: &ParseSess,
|
||||||
|
mut tts: TokenStream,
|
||||||
|
recovery: Recovery,
|
||||||
|
) -> Parser<'_> {
|
||||||
|
tts.desugar_doc_comments();
|
||||||
|
Parser::new(sess, tts, rustc_parse::MACRO_ARGUMENTS).recovery(recovery)
|
||||||
}
|
}
|
||||||
|
|
|
@ -205,7 +205,7 @@ pub fn stream_to_parser<'a>(
|
||||||
stream: TokenStream,
|
stream: TokenStream,
|
||||||
subparser_name: Option<&'static str>,
|
subparser_name: Option<&'static str>,
|
||||||
) -> Parser<'a> {
|
) -> Parser<'a> {
|
||||||
Parser::new(sess, stream, false, subparser_name)
|
Parser::new(sess, stream, subparser_name)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Runs the given subparser `f` on the tokens of the given `attr`'s item.
|
/// Runs the given subparser `f` on the tokens of the given `attr`'s item.
|
||||||
|
@ -215,7 +215,7 @@ pub fn parse_in<'a, T>(
|
||||||
name: &'static str,
|
name: &'static str,
|
||||||
mut f: impl FnMut(&mut Parser<'a>) -> PResult<'a, T>,
|
mut f: impl FnMut(&mut Parser<'a>) -> PResult<'a, T>,
|
||||||
) -> PResult<'a, T> {
|
) -> PResult<'a, T> {
|
||||||
let mut parser = Parser::new(sess, tts, false, Some(name));
|
let mut parser = Parser::new(sess, tts, Some(name));
|
||||||
let result = f(&mut parser)?;
|
let result = f(&mut parser)?;
|
||||||
if parser.token != token::Eof {
|
if parser.token != token::Eof {
|
||||||
parser.unexpected()?;
|
parser.unexpected()?;
|
||||||
|
|
|
@ -388,14 +388,9 @@ pub(super) fn token_descr(token: &Token) -> String {
|
||||||
impl<'a> Parser<'a> {
|
impl<'a> Parser<'a> {
|
||||||
pub fn new(
|
pub fn new(
|
||||||
sess: &'a ParseSess,
|
sess: &'a ParseSess,
|
||||||
mut stream: TokenStream,
|
stream: TokenStream,
|
||||||
desugar_doc_comments: bool,
|
|
||||||
subparser_name: Option<&'static str>,
|
subparser_name: Option<&'static str>,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
if desugar_doc_comments {
|
|
||||||
stream.desugar_doc_comments();
|
|
||||||
}
|
|
||||||
|
|
||||||
let mut parser = Parser {
|
let mut parser = Parser {
|
||||||
sess,
|
sess,
|
||||||
token: Token::dummy(),
|
token: Token::dummy(),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue