Annotate erroring functions in session and parser

This commit is contained in:
Tim Chevalier 2011-05-20 17:36:33 -07:00
parent 90dd6e7044
commit fed0486c33
2 changed files with 9 additions and 9 deletions

View File

@ -79,13 +79,13 @@ state obj session(ast::crate_num cnum,
ret cnum;
}
fn span_err(span sp, str msg) {
fn span_err(span sp, str msg) -> ! {
// FIXME: Use constants, but rustboot doesn't know how to export them.
emit_diagnostic(sp, msg, "error", 9u8, cm);
fail;
}
fn err(str msg) {
fn err(str msg) -> ! {
log_err #fmt("error: %s", msg);
fail;
}
@ -107,19 +107,19 @@ state obj session(ast::crate_num cnum,
emit_diagnostic(sp, msg, "note", 10u8, cm);
}
fn bug(str msg) {
fn bug(str msg) -> ! {
log_err #fmt("error: internal compiler error %s", msg);
fail;
}
fn span_unimpl(span sp, str msg) {
fn span_unimpl(span sp, str msg) -> ! {
// FIXME: Use constants, but rustboot doesn't know how to export them.
emit_diagnostic(sp, "internal compiler error: unimplemented " + msg,
"error", 9u8, cm);
fail;
}
fn unimpl(str msg) {
fn unimpl(str msg) -> ! {
log_err #fmt("error: unimplemented %s", msg);
fail;
}

View File

@ -31,7 +31,7 @@ state type parser =
state obj {
fn peek() -> token::token;
fn bump();
fn err(str s);
fn err(str s) -> !;
fn restrict(restriction r);
fn get_restriction() -> restriction;
fn get_file_type() -> file_type;
@ -85,7 +85,7 @@ fn new_parser(session::session sess,
hi = rdr.get_chpos();
}
fn err(str m) {
fn err(str m) -> ! {
sess.span_err(rec(lo=lo, hi=hi), m);
}
@ -217,7 +217,7 @@ fn bad_expr_word_table() -> std::map::hashmap[str, ()] {
ret words;
}
fn unexpected(&parser p, token::token t) {
fn unexpected(&parser p, token::token t) -> ! {
let str s = "unexpected token: ";
s += token::to_str(p.get_reader(), t);
p.err(s);