process cfg'ed off modules

Fixes #1229
Fixes #1277
This commit is contained in:
Nick Cameron 2017-01-18 17:22:01 +13:00
parent 6572874965
commit e018712612
2 changed files with 10 additions and 3 deletions

View File

@ -398,9 +398,16 @@ fn parse_input(input: Input,
parse_session: &ParseSess)
-> Result<ast::Crate, Option<DiagnosticBuilder>> {
let result = match input {
Input::File(file) => parse::parse_crate_from_file(&file, parse_session),
Input::File(file) => {
let mut parser = parse::new_parser_from_file(parse_session, &file);
parser.cfg_mods = false;
parser.parse_crate_mod()
}
Input::Text(text) => {
parse::parse_crate_from_source_str("stdin".to_owned(), text, parse_session)
let mut parser =
parse::new_parser_from_source_str(parse_session, "stdin".to_owned(), text);
parser.cfg_mods = false;
parser.parse_crate_mod()
}
};

View File

@ -548,7 +548,7 @@ impl<'a> FmtVisitor<'a> {
}
pub fn format_separate_mod(&mut self, m: &ast::Mod) {
let filemap = self.codemap.lookup_char_pos(source!(self, m.inner).lo).file;
let filemap = self.codemap.lookup_char_pos(m.inner.lo).file;
self.last_pos = filemap.start_pos;
self.block_indent = Indent::empty();
self.walk_mod_items(m);