parse_crate_from_source_str takes a parse_sess, not codemap
This was causing problems when reading from stdin for subsequent passes that needed to generate node ids.
This commit is contained in:
@@ -106,7 +106,7 @@ fn parse_input_src(sess: session::session, cfg: &ast::crate_cfg,
|
|||||||
}.read_whole_stream();
|
}.read_whole_stream();
|
||||||
let src = str::unsafe_from_bytes_ivec(srcbytes);
|
let src = str::unsafe_from_bytes_ivec(srcbytes);
|
||||||
let crate = parser::parse_crate_from_source_str(infile, src, cfg,
|
let crate = parser::parse_crate_from_source_str(infile, src, cfg,
|
||||||
sess.get_codemap());
|
sess.get_parse_sess());
|
||||||
ret {crate: crate, src: src};
|
ret {crate: crate, src: src};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2317,8 +2317,7 @@ fn parse_crate_from_source_file(input: &str, cfg: &ast::crate_cfg,
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn parse_crate_from_source_str(name: &str, source: &str, cfg: &ast::crate_cfg,
|
fn parse_crate_from_source_str(name: &str, source: &str, cfg: &ast::crate_cfg,
|
||||||
cm: &codemap::codemap) -> @ast::crate {
|
sess: &parse_sess) -> @ast::crate {
|
||||||
let sess = @{cm: cm, mutable next_id: 0};
|
|
||||||
let ftype = SOURCE_FILE;
|
let ftype = SOURCE_FILE;
|
||||||
let filemap = codemap::new_filemap(name, 0u, 0u);
|
let filemap = codemap::new_filemap(name, 0u, 0u);
|
||||||
sess.cm.files += ~[filemap];
|
sess.cm.files += ~[filemap];
|
||||||
|
|||||||
@@ -224,11 +224,11 @@ fn check_whole_compiler(code: &str) {
|
|||||||
|
|
||||||
fn parse_and_print(code: &str) -> str {
|
fn parse_and_print(code: &str) -> str {
|
||||||
let filename = "tmp.rs";
|
let filename = "tmp.rs";
|
||||||
let codemap = codemap::new_codemap();
|
let sess = @{cm: codemap::new_codemap(), mutable next_id: 0};
|
||||||
//write_file(filename, code);
|
//write_file(filename, code);
|
||||||
let crate =
|
let crate =
|
||||||
parser::parse_crate_from_source_str(filename, code, ~[], codemap);
|
parser::parse_crate_from_source_str(filename, code, ~[], sess);
|
||||||
ret as_str(bind pprust::print_crate(codemap, crate, filename,
|
ret as_str(bind pprust::print_crate(sess.cm, crate, filename,
|
||||||
ioivec::string_reader(code), _,
|
ioivec::string_reader(code), _,
|
||||||
pprust::no_ann()));
|
pprust::no_ann()));
|
||||||
}
|
}
|
||||||
@@ -336,12 +336,12 @@ fn check_variants(files: &str[]) {
|
|||||||
let s = ioivec::read_whole_file_str(file);
|
let s = ioivec::read_whole_file_str(file);
|
||||||
if content_is_dangerous_to_modify(s) || content_is_confusing(s) { cont; }
|
if content_is_dangerous_to_modify(s) || content_is_confusing(s) { cont; }
|
||||||
log_err "check_variants: " + file;
|
log_err "check_variants: " + file;
|
||||||
let codemap = codemap::new_codemap();
|
let sess = @{cm: codemap::new_codemap(), mutable next_id: 0};
|
||||||
let crate = parser::parse_crate_from_source_str(file, s, ~[], codemap);
|
let crate = parser::parse_crate_from_source_str(file, s, ~[], sess);
|
||||||
log_err as_str(bind pprust::print_crate(codemap, crate, file,
|
log_err as_str(bind pprust::print_crate(sess.cm, crate, file,
|
||||||
ioivec::string_reader(s), _,
|
ioivec::string_reader(s), _,
|
||||||
pprust::no_ann()));
|
pprust::no_ann()));
|
||||||
check_variants_of_ast(*crate, codemap, file);
|
check_variants_of_ast(*crate, sess.cm, file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user