Skip to content

Commit 3caee3f

Browse files
committed
---
yaml --- r: 7247 b: refs/heads/master c: f4bd03b h: refs/heads/master i: 7245: f1bcdb5 7243: ddec007 7239: 7986524 7231: d60f211 v: v3
1 parent 7cb073b commit 3caee3f

File tree

5 files changed

+24
-12
lines changed

5 files changed

+24
-12
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: e90701c546fbdfdccd12aea72f8c084642caef5f
2+
refs/heads/master: f4bd03b99837442c519e71625c9135a27f1dcc1b

trunk/src/comp/driver/driver.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ fn pretty_print_input(sess: session::session, cfg: ast::crate_cfg, input: str,
285285
}
286286
ppm_normal. { ann = pprust::no_ann(); }
287287
}
288-
pprust::print_crate(sess.codemap, crate, input,
288+
pprust::print_crate(sess.codemap, sess.diagnostic, crate, input,
289289
io::string_reader(src), io::stdout(), ann);
290290
}
291291

trunk/src/comp/syntax/parse/lexer.rs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import driver::diagnostic;
1010

1111
type reader = @{
1212
cm: codemap::codemap,
13+
diagnostic: diagnostic::handler,
1314
src: str,
1415
len: uint,
1516
mutable col: uint,
@@ -48,14 +49,18 @@ impl reader for reader {
4849
} else { self.curr = -1 as char; }
4950
}
5051
fn err(m: str) {
51-
diagnostic::emit_error(
52-
some((self.cm, ast_util::mk_sp(self.chpos, self.chpos))), m);
52+
self.diagnostic.span_err(
53+
ast_util::mk_sp(self.chpos, self.chpos),
54+
m);
5355
}
5456
}
5557

56-
fn new_reader(cm: codemap::codemap, src: str, filemap: codemap::filemap,
58+
fn new_reader(cm: codemap::codemap,
59+
diagnostic: diagnostic::handler,
60+
src: str, filemap: codemap::filemap,
5761
itr: @interner::interner<str>) -> reader {
58-
let r = @{cm: cm, src: src, len: str::byte_len(src),
62+
let r = @{cm: cm, diagnostic: diagnostic,
63+
src: src, len: str::byte_len(src),
5964
mutable col: 0u, mutable pos: 0u, mutable curr: -1 as char,
6065
mutable chpos: filemap.start_pos.ch, mutable strs: [],
6166
filemap: filemap, interner: itr};
@@ -666,12 +671,15 @@ fn is_lit(t: token::token) -> bool {
666671

667672
type lit = {lit: str, pos: uint};
668673

669-
fn gather_comments_and_literals(cm: codemap::codemap, path: str,
674+
fn gather_comments_and_literals(cm: codemap::codemap,
675+
diagnostic: diagnostic::handler,
676+
path: str,
670677
srdr: io::reader) ->
671678
{cmnts: [cmnt], lits: [lit]} {
672679
let src = str::unsafe_from_bytes(srdr.read_whole_stream());
673680
let itr = @interner::mk::<str>(str::hash, str::eq);
674-
let rdr = new_reader(cm, src, codemap::new_filemap(path, 0u, 0u), itr);
681+
let rdr = new_reader(cm, diagnostic, src,
682+
codemap::new_filemap(path, 0u, 0u), itr);
675683
let comments: [cmnt] = [];
676684
let literals: [lit] = [];
677685
let first_read: bool = true;

trunk/src/comp/syntax/parse/parser.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ fn new_parser_from_file(sess: parse_sess, cfg: ast::crate_cfg, path: str,
102102
let filemap = codemap::new_filemap(path, chpos, byte_pos);
103103
sess.cm.files += [filemap];
104104
let itr = @interner::mk(str::hash, str::eq);
105-
let rdr = lexer::new_reader(sess.cm, src, filemap, itr);
105+
let rdr = lexer::new_reader(sess.cm, sess.diagnostic,
106+
src, filemap, itr);
106107
ret new_parser(sess, cfg, rdr, ftype);
107108
}
108109

@@ -112,7 +113,8 @@ fn new_parser_from_source_str(sess: parse_sess, cfg: ast::crate_cfg,
112113
let filemap = codemap::new_filemap(name, 0u, 0u);
113114
sess.cm.files += [filemap];
114115
let itr = @interner::mk(str::hash, str::eq);
115-
let rdr = lexer::new_reader(sess.cm, source, filemap, itr);
116+
let rdr = lexer::new_reader(sess.cm, sess.diagnostic,
117+
source, filemap, itr);
116118
ret new_parser(sess, cfg, rdr, ftype);
117119
}
118120

trunk/src/comp/syntax/print/pprust.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import option::{some, none};
99
import pp::{break_offset, word, printer,
1010
space, zerobreak, hardbreak, breaks, consistent,
1111
inconsistent, eof};
12+
import driver::diagnostic;
1213

1314
// The ps is stored here to prevent recursive type.
1415
// FIXME use a nominal tag instead
@@ -59,10 +60,11 @@ const default_columns: uint = 78u;
5960
// Requires you to pass an input filename and reader so that
6061
// it can scan the input text for comments and literals to
6162
// copy forward.
62-
fn print_crate(cm: codemap, crate: @ast::crate, filename: str, in: io::reader,
63+
fn print_crate(cm: codemap, diagnostic: diagnostic::handler,
64+
crate: @ast::crate, filename: str, in: io::reader,
6365
out: io::writer, ann: pp_ann) {
6466
let boxes: [pp::breaks] = [];
65-
let r = lexer::gather_comments_and_literals(cm, filename, in);
67+
let r = lexer::gather_comments_and_literals(cm, diagnostic, filename, in);
6668
let s =
6769
@{s: pp::mk_printer(out, default_columns),
6870
cm: some(cm),

0 commit comments

Comments
 (0)