mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-06 04:08:40 +00:00
rustc: Extract the logic for generating an ICE message
This commit is contained in:
parent
8f57be5bff
commit
d9d3be7acc
@ -6,6 +6,7 @@ import codemap::span;
|
|||||||
export emitter, emit;
|
export emitter, emit;
|
||||||
export level, fatal, error, warning, note;
|
export level, fatal, error, warning, note;
|
||||||
export handler, mk_handler;
|
export handler, mk_handler;
|
||||||
|
export ice_msg;
|
||||||
|
|
||||||
type emitter = fn@(cmsp: option<(codemap::codemap, span)>,
|
type emitter = fn@(cmsp: option<(codemap::codemap, span)>,
|
||||||
msg: str, lvl: level);
|
msg: str, lvl: level);
|
||||||
@ -70,10 +71,10 @@ impl codemap_handler of handler for codemap_t {
|
|||||||
self.emit(none, msg, note);
|
self.emit(none, msg, note);
|
||||||
}
|
}
|
||||||
fn span_bug(sp: span, msg: str) -> ! {
|
fn span_bug(sp: span, msg: str) -> ! {
|
||||||
self.span_fatal(sp, #fmt["internal compiler error %s", msg]);
|
self.span_fatal(sp, ice_msg(msg));
|
||||||
}
|
}
|
||||||
fn bug(msg: str) -> ! {
|
fn bug(msg: str) -> ! {
|
||||||
self.fatal(#fmt["internal compiler error %s", msg]);
|
self.fatal(ice_msg(msg));
|
||||||
}
|
}
|
||||||
fn span_unimpl(sp: span, msg: str) -> ! {
|
fn span_unimpl(sp: span, msg: str) -> ! {
|
||||||
self.span_bug(sp, "unimplemented " + msg);
|
self.span_bug(sp, "unimplemented " + msg);
|
||||||
@ -81,6 +82,10 @@ impl codemap_handler of handler for codemap_t {
|
|||||||
fn unimpl(msg: str) -> ! { self.bug("unimplemented " + msg); }
|
fn unimpl(msg: str) -> ! { self.bug("unimplemented " + msg); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn ice_msg(msg: str) -> str {
|
||||||
|
#fmt["internal compiler error %s", msg]
|
||||||
|
}
|
||||||
|
|
||||||
fn mk_handler(cm: codemap::codemap,
|
fn mk_handler(cm: codemap::codemap,
|
||||||
emitter: option<emitter>) -> handler {
|
emitter: option<emitter>) -> handler {
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user