return DummyResult::any(sp);
}
};
- let p = new_sub_parser_from_file(cx.parse_sess(), &file, None, sp);
+ let p = new_sub_parser_from_file(cx.parse_sess(), &file, sp);
// If in the included file we have e.g., `mod bar;`,
// then the path of `bar.rs` should be relative to the directory of `file`.
}
let mut p = Parser::new(sess, tts, false, None);
- p.root_module_name =
- cx.current_expansion.module.mod_path.last().map(|id| id.to_string());
p.last_type_ascription = cx.current_expansion.prior_type_ascription;
// Let the context choose how to interpret the result.
*pop_mod_stack = true; // We have pushed, so notify caller.
drop(included_mod_stack);
- // Actually parse the external file as amodule.
- let mut p0 = new_sub_parser_from_file(sess, &mp.path, Some(id.to_string()), span);
- let mut module = p0.parse_mod(&token::Eof)?;
+ // Actually parse the external file as a module.
+ let mut module = new_sub_parser_from_file(sess, &mp.path, span).parse_mod(&token::Eof)?;
module.0.inline = false;
module
};
maybe_source_file_to_parser(sess, file)
}
-/// Given a session, a crate config, a path, and a span, add
-/// the file at the given path to the `source_map`, and returns a parser.
+/// Given a session, a path, and a span,
+/// add the file at the given path to the `source_map`, and returns a parser.
/// On an error, uses the given span as the source of the problem.
-pub fn new_sub_parser_from_file<'a>(
- sess: &'a ParseSess,
- path: &Path,
- module_name: Option<String>,
- sp: Span,
-) -> Parser<'a> {
- let mut p = source_file_to_parser(sess, file_to_source_file(sess, path, Some(sp)));
- p.root_module_name = module_name;
- p
+pub fn new_sub_parser_from_file<'a>(sess: &'a ParseSess, path: &Path, sp: Span) -> Parser<'a> {
+ source_file_to_parser(sess, file_to_source_file(sess, path, Some(sp)))
}
/// Given a `source_file` and config, returns a parser.
/// The previous token.
pub prev_token: Token,
restrictions: Restrictions,
- /// Name of the root module this parser originated from. If `None`, then the
- /// name is not known. This does not change while the parser is descending
- /// into modules, and sub-parsers have new values for this name.
- pub root_module_name: Option<String>,
expected_tokens: Vec<TokenType>,
token_cursor: TokenCursor,
desugar_doc_comments: bool,
token: Token::dummy(),
prev_token: Token::dummy(),
restrictions: Restrictions::empty(),
- root_module_name: None,
expected_tokens: Vec::new(),
token_cursor: TokenCursor {
frame: TokenCursorFrame::new(DelimSpan::dummy(), token::NoDelim, &tokens),