diff options
| author | Tim Chevalier <chevalier@alum.wellesley.edu> | 2011-05-26 15:58:30 -0700 |
|---|---|---|
| committer | Tim Chevalier <chevalier@alum.wellesley.edu> | 2011-05-26 18:00:54 -0700 |
| commit | 97e0575e2ea72a6fdf7a89408611d950bb9c2833 (patch) | |
| tree | 2386c4a4165471a366ff7ef3403a93041a9f5277 /src/comp | |
| parent | 79693fab1f6bbcb839c54cf25925fcd216db41c8 (diff) | |
| download | rust-97e0575e2ea72a6fdf7a89408611d950bb9c2833.tar.gz rust-97e0575e2ea72a6fdf7a89408611d950bb9c2833.zip | |
Add a span_str function in session
Diffstat (limited to 'src/comp')
| -rw-r--r-- | src/comp/driver/session.rs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/comp/driver/session.rs b/src/comp/driver/session.rs index 09cf76b9cc9..9f025849402 100644 --- a/src/comp/driver/session.rs +++ b/src/comp/driver/session.rs @@ -41,12 +41,16 @@ type options = rec(bool shared, type crate_metadata = rec(str name, vec[u8] data); -fn emit_diagnostic(span sp, str msg, str kind, u8 color, - codemap::codemap cm) { +fn span_to_str(span sp, codemap::codemap cm) -> str { auto lo = codemap::lookup_pos(cm, sp.lo); auto hi = codemap::lookup_pos(cm, sp.hi); - io::stdout().write_str(#fmt("%s:%u:%u:%u:%u: ", lo.filename, lo.line, - lo.col, hi.line, hi.col)); + ret (#fmt("%s:%u:%u:%u:%u", lo.filename, lo.line, + lo.col, hi.line, hi.col)); +} + +fn emit_diagnostic(span sp, str msg, str kind, u8 color, + codemap::codemap cm) { + io::stdout().write_str(span_to_str(sp, cm) + ": "); if (term::color_supported()) { term::fg(io::stdout().get_buf_writer(), color); @@ -143,6 +147,10 @@ state obj session(ast::crate_num cnum, fn lookup_pos(uint pos) -> codemap::loc { ret codemap::lookup_pos(cm, pos); } + + fn span_str(span sp) -> str { + ret span_to_str(sp, self.get_codemap()); + } } |
