GCC Middle and Back End API Reference
|
#include <output-spec.h>
Public Member Functions | |
std::unique_ptr< sink > | parse_and_make_sink (diagnostics::context &dc) |
void | report_error (const char *gmsgid,...) const ATTRIBUTE_GCC_DIAG(2 |
void void | report_unknown_key (const std::string &key, const scheme_handler &scheme) const |
void | report_missing_key (const std::string &key, const std::string &scheme_name, const char *metavar) const |
output_file | open_output_file (label_text &&filename) const |
const char * | get_option_name () const |
const char * | get_unparsed_spec () const |
line_maps * | get_affected_location_mgr () const |
virtual | ~context () |
virtual void | report_error_va (const char *gmsgid, va_list *ap) const =0 |
virtual const char * | get_base_filename () const =0 |
bool | handle_kv (const std::string &key, const std::string &value, scheme_handler &scheme) const |
Protected Member Functions | |
context (const char *option_name, const char *unparsed_spec, key_handler *client_keys, line_maps *affected_location_mgr) |
Protected Attributes | |
const char * | m_option_name |
const char * | m_unparsed_spec |
key_handler * | m_client_keys |
line_maps * | m_affected_location_mgr |
An abstract base class for handling the DSL of -fdiagnostics-add-output= and -fdiagnostics-set-output=.
|
inlinevirtual |
|
inlineprotected |
References m_affected_location_mgr, m_client_keys, m_option_name, and m_unparsed_spec.
Referenced by diagnostics::output_spec::dc_spec_context::dc_spec_context().
|
inline |
|
pure virtual |
|
inline |
|
inline |
bool diagnostics::output_spec::context::handle_kv | ( | const std::string & | key, |
const std::string & | value, | ||
scheme_handler & | scheme ) const |
References gcc_unreachable, m_client_keys, diagnostics::output_spec::key_handler::malformed_value, diagnostics::output_spec::key_handler::maybe_handle_kv(), diagnostics::output_spec::key_handler::ok, report_unknown_key(), and diagnostics::output_spec::key_handler::unrecognized.
Referenced by diagnostics::output_spec::output_factory::make_sink().
output_file diagnostics::output_spec::context::open_output_file | ( | label_text && | filename | ) | const |
References fopen, output_file, and report_error().
Referenced by diagnostics::output_spec::html_scheme_handler::make_sink(), and diagnostics::output_spec::sarif_scheme_handler::make_sink().
std::unique_ptr< sink > diagnostics::output_spec::context::parse_and_make_sink | ( | diagnostics::context & | dc | ) |
void diagnostics::output_spec::context::report_error | ( | const char * | gmsgid, |
... ) const |
struct context.
References ap, and report_error_va().
Referenced by diagnostics::output_spec::output_factory::make_sink(), open_output_file(), diagnostics::output_spec::parse(), diagnostics::output_spec::key_handler::parse_bool_value(), diagnostics::output_spec::key_handler::parse_enum_value(), report_missing_key(), and report_unknown_key().
|
pure virtual |
Implemented in diagnostics::output_spec::dc_spec_context.
References ap.
Referenced by report_error().
void diagnostics::output_spec::context::report_missing_key | ( | const std::string & | key, |
const std::string & | scheme_name, | ||
const char * | metavar ) const |
References get_option_name(), get_unparsed_spec(), and report_error().
Referenced by diagnostics::output_spec::html_scheme_handler::make_sink(), and diagnostics::output_spec::sarif_scheme_handler::make_sink().
void diagnostics::output_spec::context::report_unknown_key | ( | const std::string & | key, |
const scheme_handler & | scheme ) const |
|
protected |
Referenced by context(), and get_affected_location_mgr().
|
protected |
Referenced by context(), handle_kv(), and report_unknown_key().
|
protected |
Referenced by context(), and get_option_name().
|
protected |
Referenced by context(), and get_unparsed_spec().