[−][src]Trait rustc_ap_rustc_errors::emitter::Emitter
Emitter trait for emitting errors.
Required methods
fn emit_diagnostic(&mut self, diag: &Diagnostic)
Emit a structured diagnostic.
fn source_map(&self) -> Option<&Lrc<SourceMap>>
Provided methods
fn emit_artifact_notification(&mut self, _path: &Path, _artifact_type: &str)
Emit a notification that an artifact has been output. This is currently only supported for the JSON format, other formats can, and will, simply ignore it.
fn should_show_explain(&self) -> bool
Checks if should show explanations about "rustc --explain"
fn primary_span_formatted<'a>(
&mut self,
diag: &'a Diagnostic
) -> (MultiSpan, &'a [CodeSuggestion])
&mut self,
diag: &'a Diagnostic
) -> (MultiSpan, &'a [CodeSuggestion])
Formats the substitutions of the primary_span
The are a lot of conditions to this method, but in short:
-
If the current
Diagnostic
has only one visibleCodeSuggestion
, we format thehelp
suggestion depending on the content of the substitutions. In that case, we return the modified span only. -
If the current
Diagnostic
has multiple suggestions, we return the originalprimary_span
and the original suggestions.
fn fix_multispans_in_extern_macros_and_render_macro_backtrace(
&self,
source_map: &Option<Lrc<SourceMap>>,
span: &mut MultiSpan,
children: &mut Vec<SubDiagnostic>,
level: &Level,
backtrace: bool
)
&self,
source_map: &Option<Lrc<SourceMap>>,
span: &mut MultiSpan,
children: &mut Vec<SubDiagnostic>,
level: &Level,
backtrace: bool
)
fn render_multispans_macro_backtrace(
&self,
span: &mut MultiSpan,
children: &mut Vec<SubDiagnostic>,
backtrace: bool
)
&self,
span: &mut MultiSpan,
children: &mut Vec<SubDiagnostic>,
backtrace: bool
)
fn render_multispan_macro_backtrace(
&self,
span: &mut MultiSpan,
always_backtrace: bool
)
&self,
span: &mut MultiSpan,
always_backtrace: bool
)
fn fix_multispans_in_extern_macros(
&self,
source_map: &Option<Lrc<SourceMap>>,
span: &mut MultiSpan,
children: &mut Vec<SubDiagnostic>
)
&self,
source_map: &Option<Lrc<SourceMap>>,
span: &mut MultiSpan,
children: &mut Vec<SubDiagnostic>
)
fn fix_multispan_in_extern_macros(
&self,
source_map: &Option<Lrc<SourceMap>>,
span: &mut MultiSpan
)
&self,
source_map: &Option<Lrc<SourceMap>>,
span: &mut MultiSpan
)
Implementors
impl Emitter for AnnotateSnippetEmitterWriter
[src]
fn emit_diagnostic(&mut self, diag: &Diagnostic)
[src]
The entry point for the diagnostics generation