Skip to content

Commit e4da7c5

Browse files
committed
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.
1 parent 97a8784 commit e4da7c5

File tree

3 files changed

+9
-10
lines changed

3 files changed

+9
-10
lines changed

src/comp/driver/rustc.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ fn parse_input_src(sess: session::session, cfg: &ast::crate_cfg,
106106
}.read_whole_stream();
107107
let src = str::unsafe_from_bytes_ivec(srcbytes);
108108
let crate = parser::parse_crate_from_source_str(infile, src, cfg,
109-
sess.get_codemap());
109+
sess.get_parse_sess());
110110
ret {crate: crate, src: src};
111111
}
112112

src/comp/syntax/parse/parser.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2317,8 +2317,7 @@ fn parse_crate_from_source_file(input: &str, cfg: &ast::crate_cfg,
23172317
}
23182318

23192319
fn parse_crate_from_source_str(name: &str, source: &str, cfg: &ast::crate_cfg,
2320-
cm: &codemap::codemap) -> @ast::crate {
2321-
let sess = @{cm: cm, mutable next_id: 0};
2320+
sess: &parse_sess) -> @ast::crate {
23222321
let ftype = SOURCE_FILE;
23232322
let filemap = codemap::new_filemap(name, 0u, 0u);
23242323
sess.cm.files += ~[filemap];

src/fuzzer/fuzzer.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -224,11 +224,11 @@ fn check_whole_compiler(code: &str) {
224224

225225
fn parse_and_print(code: &str) -> str {
226226
let filename = "tmp.rs";
227-
let codemap = codemap::new_codemap();
227+
let sess = @{cm: codemap::new_codemap(), mutable next_id: 0};
228228
//write_file(filename, code);
229229
let crate =
230-
parser::parse_crate_from_source_str(filename, code, ~[], codemap);
231-
ret as_str(bind pprust::print_crate(codemap, crate, filename,
230+
parser::parse_crate_from_source_str(filename, code, ~[], sess);
231+
ret as_str(bind pprust::print_crate(sess.cm, crate, filename,
232232
ioivec::string_reader(code), _,
233233
pprust::no_ann()));
234234
}
@@ -336,12 +336,12 @@ fn check_variants(files: &str[]) {
336336
let s = ioivec::read_whole_file_str(file);
337337
if content_is_dangerous_to_modify(s) || content_is_confusing(s) { cont; }
338338
log_err "check_variants: " + file;
339-
let codemap = codemap::new_codemap();
340-
let crate = parser::parse_crate_from_source_str(file, s, ~[], codemap);
341-
log_err as_str(bind pprust::print_crate(codemap, crate, file,
339+
let sess = @{cm: codemap::new_codemap(), mutable next_id: 0};
340+
let crate = parser::parse_crate_from_source_str(file, s, ~[], sess);
341+
log_err as_str(bind pprust::print_crate(sess.cm, crate, file,
342342
ioivec::string_reader(s), _,
343343
pprust::no_ann()));
344-
check_variants_of_ast(*crate, codemap, file);
344+
check_variants_of_ast(*crate, sess.cm, file);
345345
}
346346
}
347347
}

0 commit comments

Comments
 (0)