Trait rustc_ap_rustc_errors::emitter::Emitter[][src]

pub trait Emitter {
Show methods fn emit_diagnostic(&mut self, diag: &Diagnostic);
fn source_map(&self) -> Option<&Lrc<SourceMap>>; fn emit_artifact_notification(&mut self, _path: &Path, _artifact_type: &str) { ... }
fn emit_future_breakage_report(
        &mut self,
        _diags: Vec<(FutureBreakage, Diagnostic)>
    ) { ... }
fn emit_unused_externs(
        &mut self,
        _lint_level: &str,
        _unused_externs: &[&str]
    ) { ... }
fn should_show_explain(&self) -> bool { ... }
fn supports_color(&self) -> bool { ... }
fn primary_span_formatted<'a>(
        &mut self,
        diag: &'a Diagnostic
    ) -> (MultiSpan, &'a [CodeSuggestion]) { ... }
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
    ) { ... }
fn render_multispans_macro_backtrace(
        &self,
        span: &mut MultiSpan,
        children: &mut Vec<SubDiagnostic>,
        backtrace: bool
    ) { ... }
fn render_multispan_macro_backtrace(
        &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>
    ) { ... }
fn fix_multispan_in_extern_macros(
        &self,
        source_map: &Lrc<SourceMap>,
        span: &mut MultiSpan
    ) { ... }
}
Expand description

Emitter trait for emitting errors.

Required methods

fn emit_diagnostic(&mut self, diag: &Diagnostic)[src]

Emit a structured diagnostic.

fn source_map(&self) -> Option<&Lrc<SourceMap>>[src]

Provided methods

fn emit_artifact_notification(&mut self, _path: &Path, _artifact_type: &str)[src]

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 emit_future_breakage_report(
    &mut self,
    _diags: Vec<(FutureBreakage, Diagnostic)>
)
[src]

fn emit_unused_externs(&mut self, _lint_level: &str, _unused_externs: &[&str])[src]

Emit list of unused externs

fn should_show_explain(&self) -> bool[src]

Checks if should show explanations about “rustc –explain”

fn supports_color(&self) -> bool[src]

Checks if we can use colors in the current output stream.

fn primary_span_formatted<'a>(
    &mut self,
    diag: &'a Diagnostic
) -> (MultiSpan, &'a [CodeSuggestion])
[src]

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 visible CodeSuggestion, we format the help 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 original primary_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
)
[src]

fn render_multispans_macro_backtrace(
    &self,
    span: &mut MultiSpan,
    children: &mut Vec<SubDiagnostic>,
    backtrace: bool
)
[src]

fn render_multispan_macro_backtrace(
    &self,
    span: &mut MultiSpan,
    always_backtrace: bool
)
[src]

fn fix_multispans_in_extern_macros(
    &self,
    source_map: &Option<Lrc<SourceMap>>,
    span: &mut MultiSpan,
    children: &mut Vec<SubDiagnostic>
)
[src]

fn fix_multispan_in_extern_macros(
    &self,
    source_map: &Lrc<SourceMap>,
    span: &mut MultiSpan
)
[src]

Implementors

impl Emitter for AnnotateSnippetEmitterWriter[src]

fn emit_diagnostic(&mut self, diag: &Diagnostic)[src]

The entry point for the diagnostics generation

fn source_map(&self) -> Option<&Lrc<SourceMap>>[src]

fn should_show_explain(&self) -> bool[src]

impl Emitter for JsonEmitter[src]

fn emit_diagnostic(&mut self, diag: &Diagnostic)[src]

fn emit_artifact_notification(&mut self, path: &Path, artifact_type: &str)[src]

fn emit_future_breakage_report(
    &mut self,
    diags: Vec<(FutureBreakage, Diagnostic)>
)
[src]

fn emit_unused_externs(&mut self, lint_level: &str, unused_externs: &[&str])[src]

fn source_map(&self) -> Option<&Lrc<SourceMap>>[src]

fn should_show_explain(&self) -> bool[src]

impl Emitter for EmitterWriter[src]

impl Emitter for SilentEmitter[src]