From e018712612c270744ebbb1f87f2221551785e0ca Mon Sep 17 00:00:00 2001 From: Nick Cameron Date: Wed, 18 Jan 2017 17:22:01 +1300 Subject: [PATCH] process cfg'ed off modules Fixes #1229 Fixes #1277 --- src/lib.rs | 11 +++++++++-- src/visitor.rs | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index fc016d86666..9e80e8f1b6b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -398,9 +398,16 @@ fn parse_input(input: Input, parse_session: &ParseSess) -> Result> { 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() } }; diff --git a/src/visitor.rs b/src/visitor.rs index bea976523bb..95ec54e89ee 100644 --- a/src/visitor.rs +++ b/src/visitor.rs @@ -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);