|
4 | 4 | //! Module used to configure a compiler session.
|
5 | 5 |
|
6 | 6 | use crate::args::Arguments;
|
| 7 | +use rustc_data_structures::sync::Lrc; |
| 8 | +use rustc_errors::emitter::Emitter; |
7 | 9 | use rustc_errors::{
|
8 |
| - emitter::Emitter, emitter::HumanReadableErrorType, fallback_fluent_bundle, json::JsonEmitter, |
9 |
| - ColorConfig, Diagnostic, TerminalUrl, |
| 10 | + emitter::HumanReadableErrorType, fallback_fluent_bundle, json::JsonEmitter, ColorConfig, |
| 11 | + DiagInner, |
10 | 12 | };
|
11 | 13 | use rustc_session::config::ErrorOutputType;
|
12 | 14 | use rustc_session::EarlyDiagCtxt;
|
| 15 | +use rustc_span::source_map::FilePathMapping; |
| 16 | +use rustc_span::source_map::SourceMap; |
| 17 | +use std::io; |
13 | 18 | use std::io::IsTerminal;
|
14 | 19 | use std::panic;
|
15 | 20 | use std::sync::LazyLock;
|
@@ -49,17 +54,15 @@ static JSON_PANIC_HOOK: LazyLock<Box<dyn Fn(&panic::PanicInfo<'_>) + Sync + Send
|
49 | 54 | let msg = format!("Kani unexpectedly panicked at {info}.",);
|
50 | 55 | let fallback_bundle =
|
51 | 56 | fallback_fluent_bundle(rustc_driver::DEFAULT_LOCALE_RESOURCES.to_vec(), false);
|
52 |
| - let mut emitter = JsonEmitter::basic( |
53 |
| - false, |
54 |
| - HumanReadableErrorType::Default(ColorConfig::Never), |
55 |
| - None, |
| 57 | + let mut emitter = JsonEmitter::new( |
| 58 | + Box::new(io::BufWriter::new(io::stderr())), |
| 59 | + #[allow(clippy::arc_with_non_send_sync)] |
| 60 | + Lrc::new(SourceMap::new(FilePathMapping::empty())), |
56 | 61 | fallback_bundle,
|
57 |
| - None, |
58 | 62 | false,
|
59 |
| - false, |
60 |
| - TerminalUrl::No, |
| 63 | + HumanReadableErrorType::Default(ColorConfig::Never), |
61 | 64 | );
|
62 |
| - let diagnostic = Diagnostic::new(rustc_errors::Level::Bug, msg); |
| 65 | + let diagnostic = DiagInner::new(rustc_errors::Level::Bug, msg); |
63 | 66 | emitter.emit_diagnostic(diagnostic);
|
64 | 67 | (*JSON_PANIC_HOOK)(info);
|
65 | 68 | }));
|
|
0 commit comments