6 gsl::not_null<const TextFormatter *> format,
7 gsl::not_null<const UserDiagnostics *> inner,
10 :
UserDiagnostics{format}, inner_{inner}, warning_filter_{std::move(warning_filter)},
11 remark_filter_{std::move(remark_filter)}
18 inner_->remark(tag, lines);
25 inner_->remark_note(tag, lines);
32 inner_->warning(tag, lines);
39 inner_->warning_note(tag, lines);
45 inner_->error(tag, lines);
50 inner_->error_note(tag, lines);
55 inner_->emit_fatal_proximate(err);
60 inner_->emit_fatal_step(err);
65 inner_->emit_fatal_root(err);
Regex-based include/exclude filter for diagnostic tags.
bool should_show(const std::string &tag) const
Determines whether a diagnostic with the given tag should be shown.
Abstract interface for all error types used in ChainableResult error chains.
void warning(const std::string &tag, const std::vector< std::string > &lines) const override
Display a tagged warning message.
void emit_fatal_proximate(const Error &err) const override
Emit the proximate (immediate) error in a fatal error chain.
void warning_note(const std::string &tag, const std::vector< std::string > &lines) const override
Display a tagged note message associated with a warning.
void remark(const std::string &tag, const std::vector< std::string > &lines) const override
Display a tagged remark message.
void emit_fatal_root(const Error &err) const override
Emit the root cause error in a fatal error chain.
void error_note(const std::string &tag, const std::vector< std::string > &lines) const override
Display a tagged note message associated with an error.
void emit_fatal_step(const Error &err) const override
Emit an intermediate step error in a fatal error chain.
FilteredUserDiagnostics(gsl::not_null< const TextFormatter * > format, gsl::not_null< const UserDiagnostics * > inner, DiagnosticTagFilter warning_filter, DiagnosticTagFilter remark_filter)
Constructs a FilteredUserDiagnostics decorator.
void error(const std::string &tag, const std::vector< std::string > &lines) const override
Display a tagged error message.
void remark_note(const std::string &tag, const std::vector< std::string > &lines) const override
Display a tagged note message associated with a remark.
Abstract class for structured error reporting and diagnostic output.