Skip to content

Commit 0cc86c1

Browse files
committed
---
yaml --- r: 13513 b: refs/heads/master c: 1e36d21 h: refs/heads/master i: 13511: 55a4083 v: v3
1 parent 11ffdc6 commit 0cc86c1

File tree

10 files changed

+48
-105
lines changed

10 files changed

+48
-105
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 85ded92736290073b6c591c2607ee3d829cb2874
2+
refs/heads/master: 1e36d216bebc9ae5b1bfd2cd013e7e707199cdf7
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
55
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf

trunk/src/cargo/cargo.rs

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -238,15 +238,7 @@ fn load_link(mis: [@ast::meta_item]) -> (option<str>,
238238
}
239239

240240
fn load_crate(filename: str) -> option<crate> {
241-
let cm = codemap::new_codemap();
242-
let handler = diagnostic::mk_handler(none);
243-
let sess = @{
244-
cm: cm,
245-
mut next_id: 1,
246-
span_diagnostic: diagnostic::mk_span_handler(handler, cm),
247-
mut chpos: 0u,
248-
mut byte_pos: 0u
249-
};
241+
let sess = parse::new_parse_sess(none);
250242
let c = parse::parse_crate_from_crate_file(filename, [], sess);
251243

252244
let mut name = none;

trunk/src/fuzzer/fuzzer.rs

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -416,15 +416,7 @@ fn check_compiling(filename: str) -> happiness {
416416

417417
fn parse_and_print(code: @str) -> str {
418418
let filename = "tmp.rs";
419-
let cm = codemap::new_codemap();
420-
let handler = diagnostic::mk_handler(none);
421-
let sess = @{
422-
cm: cm,
423-
mut next_id: 1,
424-
span_diagnostic: diagnostic::mk_span_handler(handler, cm),
425-
mut chpos: 0u,
426-
mut byte_pos: 0u
427-
};
419+
let sess = parse::new_parse_sess(option::none);
428420
write_file(filename, *code);
429421
let crate = parse::parse_crate_from_source_str(
430422
filename, code, [], sess);
@@ -566,15 +558,7 @@ fn check_variants(files: [str], cx: context) {
566558
}
567559

568560
log(error, "check_variants: " + file);
569-
let cm = codemap::new_codemap();
570-
let handler = diagnostic::mk_handler(none);
571-
let sess = @{
572-
cm: cm,
573-
mut next_id: 1,
574-
span_diagnostic: diagnostic::mk_span_handler(handler, cm),
575-
mut chpos: 0u,
576-
mut byte_pos: 0u
577-
};
561+
let sess = parse::new_parse_sess(option::none);
578562
let crate =
579563
parse::parse_crate_from_source_str(
580564
file,

trunk/src/libsyntax/ext/expand.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ fn expand_expr(exts: hashmap<str, syntax_extension>, cx: ext_ctxt,
4949
}
5050
}
5151
}
52+
/*
53+
mac_invoc_tt(path, body) {
54+
let p = new_parser_from_tt(cx.sess, cx.cfg, )
55+
}*/
5256
_ { cx.span_bug(mac.span, "naked syntactic bit") }
5357
}
5458
}

trunk/src/libsyntax/parse.rs

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
import dvec::extensions;
33

44
export parse_sess;
5+
export new_parse_sess;
6+
export new_parse_sess_special_handler;
57
export next_node_id;
68
export new_parser_from_file;
79
export new_parser_etc_from_file;
@@ -20,16 +22,38 @@ import ast::node_id;
2022
import util::interner;
2123
import lexer::{string_reader_as_reader, tt_reader_as_reader,
2224
reader, string_reader, tt_reader};
25+
import diagnostic::{span_handler, mk_span_handler, mk_handler, emitter};
2326

2427
type parse_sess = @{
2528
cm: codemap::codemap,
2629
mut next_id: node_id,
27-
span_diagnostic: diagnostic::span_handler,
30+
span_diagnostic: span_handler,
31+
interner: @interner::interner<@str>,
2832
// these two must be kept up to date
2933
mut chpos: uint,
3034
mut byte_pos: uint
3135
};
3236

37+
fn new_parse_sess(demitter: option<emitter>) -> parse_sess {
38+
let cm = codemap::new_codemap();
39+
ret @{cm: cm,
40+
mut next_id: 1,
41+
span_diagnostic: mk_span_handler(mk_handler(demitter), cm),
42+
interner: @interner::mk::<@str>({|x|str::hash(*x)},
43+
{|x,y|str::eq(*x, *y)}),
44+
mut chpos: 0u, mut byte_pos: 0u};
45+
}
46+
47+
fn new_parse_sess_special_handler(sh: span_handler, cm: codemap::codemap)
48+
-> parse_sess {
49+
ret @{cm: cm,
50+
mut next_id: 1,
51+
span_diagnostic: sh,
52+
interner: @interner::mk::<@str>({|x|str::hash(*x)},
53+
{|x,y|str::eq(*x, *y)}),
54+
mut chpos: 0u, mut byte_pos: 0u};
55+
}
56+
3357
fn parse_crate_from_file(input: str, cfg: ast::crate_cfg, sess: parse_sess) ->
3458
@ast::crate {
3559
if str::ends_with(input, ".rc") {
@@ -139,11 +163,8 @@ fn new_parser_etc_from_source_str(sess: parse_sess, cfg: ast::crate_cfg,
139163
let filemap = codemap::new_filemap_w_substr
140164
(name, ss, source, sess.chpos, sess.byte_pos);
141165
sess.cm.files.push(filemap);
142-
let itr = @interner::mk::<@str>(
143-
{|x|str::hash(*x)},
144-
{|x,y|str::eq(*x, *y)}
145-
);
146-
let srdr = lexer::new_string_reader(sess.span_diagnostic, filemap, itr);
166+
let srdr = lexer::new_string_reader(sess.span_diagnostic, filemap,
167+
sess.interner);
147168
ret (parser(sess, cfg, srdr as reader, ftype), srdr);
148169
}
149170

@@ -166,11 +187,8 @@ fn new_parser_etc_from_file(sess: parse_sess, cfg: ast::crate_cfg, +path: str,
166187
let src = @result::unwrap(res);
167188
let filemap = codemap::new_filemap(path, src, sess.chpos, sess.byte_pos);
168189
sess.cm.files.push(filemap);
169-
let itr = @interner::mk::<@str>(
170-
{|x|str::hash(*x)},
171-
{|x,y|str::eq(*x, *y)}
172-
);
173-
let srdr = lexer::new_string_reader(sess.span_diagnostic, filemap, itr);
190+
let srdr = lexer::new_string_reader(sess.span_diagnostic, filemap,
191+
sess.interner);
174192
ret (parser(sess, cfg, srdr as reader, ftype), srdr);
175193
}
176194

@@ -181,8 +199,7 @@ fn new_parser_from_file(sess: parse_sess, cfg: ast::crate_cfg, +path: str,
181199
}
182200

183201
fn new_parser_from_tt(sess: parse_sess, cfg: ast::crate_cfg,
184-
itr: @interner::interner<@str>, tt: ast::token_tree)
185-
-> parser {
186-
let trdr = lexer::new_tt_reader(sess.span_diagnostic, itr, tt);
202+
tt: ast::token_tree) -> parser {
203+
let trdr = lexer::new_tt_reader(sess.span_diagnostic, sess.interner, tt);
187204
ret parser(sess, cfg, trdr as reader, parser::SOURCE_FILE)
188205
}

trunk/src/rustc/driver/driver.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -508,8 +508,7 @@ fn build_session(sopts: @session::options,
508508
}
509509

510510
fn build_session_(
511-
sopts: @session::options,
512-
codemap: codemap::codemap,
511+
sopts: @session::options, cm: codemap::codemap,
513512
demitter: diagnostic::emitter,
514513
span_diagnostic_handler: diagnostic::span_handler
515514
) -> session {
@@ -523,14 +522,9 @@ fn build_session_(
523522
@{targ_cfg: target_cfg,
524523
opts: sopts,
525524
cstore: cstore,
526-
parse_sess: @{
527-
cm: codemap,
528-
mut next_id: 1,
529-
span_diagnostic: span_diagnostic_handler,
530-
mut chpos: 0u,
531-
mut byte_pos: 0u
532-
},
533-
codemap: codemap,
525+
parse_sess:
526+
parse::new_parse_sess_special_handler(span_diagnostic_handler, cm),
527+
codemap: cm,
534528
// For a library crate, this is always none
535529
mut main_fn: none,
536530
span_diagnostic: span_diagnostic_handler,

trunk/src/rustc/middle/astencode.rs

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,20 +1018,6 @@ fn decode_item_ast(par_doc: ebml::doc) -> @ast::item {
10181018
@ast::deserialize_item(d)
10191019
}
10201020

1021-
#[cfg(test)]
1022-
fn new_parse_sess() -> parse::parse_sess {
1023-
let cm = codemap::new_codemap();
1024-
let handler = diagnostic::mk_handler(option::none);
1025-
let sess = @{
1026-
cm: cm,
1027-
mut next_id: 1,
1028-
span_diagnostic: diagnostic::mk_span_handler(handler, cm),
1029-
mut chpos: 0u,
1030-
mut byte_pos: 0u
1031-
};
1032-
ret sess;
1033-
}
1034-
10351021
#[cfg(test)]
10361022
iface fake_ext_ctxt {
10371023
fn cfg() -> ast::crate_cfg;
@@ -1044,7 +1030,7 @@ type fake_session = ();
10441030
#[cfg(test)]
10451031
impl of fake_ext_ctxt for fake_session {
10461032
fn cfg() -> ast::crate_cfg { [] }
1047-
fn parse_sess() -> parse::parse_sess { new_parse_sess() }
1033+
fn parse_sess() -> parse::parse_sess { parse::new_parse_sess(none) }
10481034
}
10491035

10501036
#[cfg(test)]

trunk/src/rustdoc/attr_parser.rs

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,7 @@ mod test {
2727
import syntax::codemap;
2828
import syntax::diagnostic;
2929

30-
let cm = codemap::new_codemap();
31-
let handler = diagnostic::mk_handler(none);
32-
let parse_sess = @{
33-
cm: cm,
34-
mut next_id: 0,
35-
span_diagnostic: diagnostic::mk_span_handler(handler, cm),
36-
mut chpos: 0u,
37-
mut byte_pos: 0u
38-
};
30+
let parse_sess = syntax::parse::new_parse_sess(none);
3931
let parser = parse::new_parser_from_source_str(
4032
parse_sess, [], "-", codemap::fss_none, @source);
4133

trunk/src/rustdoc/parse.rs

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,14 @@ import syntax::parse;
1010

1111
export from_file, from_str, from_file_sess, from_str_sess;
1212

13-
fn new_parse_sess() -> parse::parse_sess {
14-
let cm = codemap::new_codemap();
15-
let handler = diagnostic::mk_handler(none);
16-
let sess = @{
17-
cm: cm,
18-
mut next_id: 1,
19-
span_diagnostic: diagnostic::mk_span_handler(handler, cm),
20-
mut chpos: 0u,
21-
mut byte_pos: 0u
22-
};
23-
ret sess;
24-
}
25-
2613
fn from_file(file: str) -> @ast::crate {
2714
parse::parse_crate_from_file(
28-
file, [], new_parse_sess())
15+
file, [], parse::new_parse_sess(none))
2916
}
3017

3118
fn from_str(source: str) -> @ast::crate {
3219
parse::parse_crate_from_source_str(
33-
"-", @source, [], new_parse_sess())
20+
"-", @source, [], parse::new_parse_sess(none))
3421
}
3522

3623
fn from_file_sess(sess: session::session, file: str) -> @ast::crate {

trunk/src/test/run-pass-fulldeps/qquote.rs

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,6 @@ import syntax::codemap;
1111
import syntax::parse;
1212
import syntax::print::*;
1313

14-
fn new_parse_sess() -> parse::parse_sess {
15-
let cm = codemap::new_codemap();
16-
let handler = diagnostic::mk_handler(option::none);
17-
let sess = @{
18-
cm: cm,
19-
mut next_id: 1,
20-
span_diagnostic: diagnostic::mk_span_handler(handler, cm),
21-
mut chpos: 0u,
22-
mut byte_pos: 0u
23-
};
24-
ret sess;
25-
}
26-
2714
iface fake_ext_ctxt {
2815
fn cfg() -> ast::crate_cfg;
2916
fn parse_sess() -> parse::parse_sess;
@@ -33,7 +20,7 @@ type fake_session = ();
3320

3421
impl of fake_ext_ctxt for fake_session {
3522
fn cfg() -> ast::crate_cfg { [] }
36-
fn parse_sess() -> parse::parse_sess { new_parse_sess() }
23+
fn parse_sess() -> parse::parse_sess { parse::new_parse_sess(none) }
3724
}
3825

3926
fn mk_ctxt() -> fake_ext_ctxt {

0 commit comments

Comments
 (0)