aboutsummaryrefslogtreecommitdiff
path: root/src/comp/driver/session.rs
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-09-01 13:24:14 -0700
committerGraydon Hoare <[email protected]>2010-09-01 13:24:14 -0700
commiteb90be779877caa2e2d51095301f83695d77dd44 (patch)
tree76756b9fa7e4cfc6284632b7cde93302d87348c4 /src/comp/driver/session.rs
parentWhitespace churn. (diff)
downloadrust-eb90be779877caa2e2d51095301f83695d77dd44.tar.xz
rust-eb90be779877caa2e2d51095301f83695d77dd44.zip
Add session, span tracking, error reporting, beginning of a function to parse an item to rustc.
Diffstat (limited to 'src/comp/driver/session.rs')
-rw-r--r--src/comp/driver/session.rs37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/comp/driver/session.rs b/src/comp/driver/session.rs
new file mode 100644
index 00000000..3b92e073
--- /dev/null
+++ b/src/comp/driver/session.rs
@@ -0,0 +1,37 @@
+import util.common.span;
+import std._uint;
+
+io obj session() {
+ io fn span_err(span sp, str msg) {
+ let str s = sp.filename;
+ s += ':' as u8;
+ // We really need #fmt soon!
+ s += _uint.to_str(sp.lo.line, 10u);
+ s += ':' as u8;
+ s += _uint.to_str(sp.lo.col, 10u);
+ s += ':' as u8;
+ s += _uint.to_str(sp.hi.line, 10u);
+ s += ':' as u8;
+ s += _uint.to_str(sp.hi.col, 10u);
+ s += ": error: ";
+ s += msg;
+ log s;
+ fail;
+ }
+
+ io fn err(str msg) {
+ let str s = "error: ";
+ s += msg;
+ log s;
+ fail;
+ }
+}
+
+
+// Local Variables:
+// fill-column: 78;
+// indent-tabs-mode: nil
+// c-basic-offset: 4
+// buffer-file-coding-system: utf-8-unix
+// compile-command: "make -k -C ../.. 2>&1 | sed -e 's/\\/x\\//x:\\//g'";
+// End: