GCC Middle and Back End API Reference
|
Public Member Functions | |
void | dump (FILE *out, int indent) const override |
std::unique_ptr< diagnostic_per_format_buffer > | make_per_format_buffer () final override |
void | set_buffer (diagnostic_per_format_buffer *base_buffer) final override |
void | on_begin_group () final override |
void | on_end_group () final override |
void | on_report_diagnostic (const diagnostic_info &diagnostic, diagnostic_t orig_diag_kind) final override |
void | on_diagram (const diagnostic_diagram &) final override |
void | after_diagnostic (const diagnostic_info &) final override |
void | update_printer () final override |
bool | follows_reference_printer_p () const final override |
void DEBUG_FUNCTION | dump () const |
virtual void | on_report_verbatim (text_info &) |
virtual bool | machine_readable_stderr_p () const =0 |
diagnostic_context & | get_context () const |
pretty_printer * | get_printer () const |
text_art::theme * | get_diagram_theme () const |
Protected Member Functions | |
json_output_format (diagnostic_context &context, bool formatted) | |
void | flush_to_file (FILE *outf) |
Protected Attributes | |
diagnostic_context & | m_context |
std::unique_ptr< pretty_printer > | m_printer |
Private Attributes | |
diagnostic_json_format_buffer * | m_buffer |
std::unique_ptr< json::array > | m_toplevel_array |
json::object * | m_cur_group |
json::array * | m_cur_children_array |
bool | m_formatted |
Friends | |
class | diagnostic_json_format_buffer |
Subclass of diagnostic_output_format for JSON output.
|
inlineprotected |
|
inlinefinaloverridevirtual |
Implements diagnostic_output_format.
|
inlineinherited |
References DEBUG_FUNCTION, and dump().
Referenced by dump(), diagnostic_text_output_format::dump(), json_output_format::dump(), sarif_file_output_format::dump(), and sarif_output_format::dump().
|
inlineoverridevirtual |
Reimplemented from diagnostic_output_format.
References diagnostic_output_format::dump().
|
inlineprotected |
References m_formatted, and m_toplevel_array.
Referenced by json_file_output_format::~json_file_output_format(), and json_stderr_output_format::~json_stderr_output_format().
|
inlinefinaloverridevirtual |
Implements diagnostic_output_format.
References final().
|
inlineinherited |
References m_context.
Referenced by diagnostic_text_output_format::append_note(), diagnostic_text_output_format::build_indent_prefix(), diagnostic_text_output_format::build_prefix(), default_diagnostic_text_finalizer(), diagnostic_text_output_format::get_location_text(), lhd_print_error_function(), diagnostic_text_output_format::on_report_diagnostic(), diagnostic_text_output_format::print_path(), diagnostic_text_output_format::show_column_p(), and diagnostic_text_output_format::update_printer().
|
inlineinherited |
References m_context.
|
inlineinherited |
References m_printer.
Referenced by diagnostic_text_output_format::append_note(), diagnostic_text_output_format::build_prefix(), default_diagnostic_text_finalizer(), default_diagnostic_text_starter(), default_tree_diagnostic_text_starter(), diagnostic_text_output_format::file_name_as_prefix(), diagnostic_text_output_format::get_location_text(), lhd_print_error_function(), sarif_builder::make_location_object(), diagnostic_text_output_format::on_diagram(), diagnostic_text_output_format::on_report_diagnostic(), json_output_format::on_report_diagnostic(), diagnostic_text_output_format::on_report_verbatim(), diagnostic_text_output_format::print_any_cwe(), diagnostic_text_output_format::print_any_rules(), diagnostic_text_output_format::print_option_information(), diagnostic_text_output_format::print_path(), diagnostic_text_output_format::report_current_module(), sarif_output_format::sarif_output_format(), diagnostic_text_output_format::set_buffer(), diagnostic_text_sink::text_starter(), sarif_output_format::update_printer(), and diagnostic_text_output_format::~diagnostic_text_output_format().
|
pure virtualinherited |
|
inlinefinaloverridevirtual |
Implements diagnostic_output_format.
References final().
|
inlinefinaloverridevirtual |
Implements diagnostic_output_format.
References final().
|
inlinefinaloverridevirtual |
Implements diagnostic_output_format.
|
inlinefinaloverridevirtual |
Implements diagnostic_output_format.
References final(), m_cur_children_array, and m_cur_group.
|
finaloverridevirtual |
Implementation of "on_report_diagnostic" vfunc for JSON output. Generate a JSON object for DIAGNOSTIC, and store for output within current diagnostic group.
Implements diagnostic_output_format.
References free(), gcc_assert, get_diagnostic_kind_text(), diagnostic_output_format::get_printer(), i, json_from_fixit_hint(), json_from_location_range(), json_from_metadata(), m_buffer, diagnostic_output_format::m_context, m_cur_children_array, m_cur_group, m_toplevel_array, make_json_for_path(), make_unique(), path, pp_clear_output_area(), pp_formatted_text(), pp_output_formatted_text(), json::object::set(), json::object::set_bool(), json::object::set_integer(), and json::object::set_string().
|
virtualinherited |
Reimplemented in diagnostic_text_output_format.
|
inlinefinaloverridevirtual |
Implements diagnostic_output_format.
References diagnostic_json_format_buffer, and m_buffer.
|
inlinefinaloverridevirtual |
Implements diagnostic_output_format.
References final(), diagnostic_output_format::m_context, diagnostic_output_format::m_printer, and pp_show_color().
|
friend |
References diagnostic_json_format_buffer.
Referenced by diagnostic_json_format_buffer, and set_buffer().
|
private |
Referenced by json_output_format(), on_report_diagnostic(), and set_buffer().
|
protectedinherited |
Referenced by diagnostic_output_format(), get_context(), get_diagram_theme(), diagnostic_text_output_format::on_report_diagnostic(), json_output_format::on_report_diagnostic(), diagnostic_text_output_format::print_option_information(), json_output_format::update_printer(), sarif_output_format::update_printer(), and diagnostic_text_output_format::~diagnostic_text_output_format().
|
private |
Referenced by json_output_format(), on_end_group(), and on_report_diagnostic().
|
private |
Referenced by json_output_format(), on_end_group(), and on_report_diagnostic().
|
private |
Referenced by flush_to_file(), and json_output_format().
|
protectedinherited |
|
private |
Referenced by flush_to_file(), json_output_format(), and on_report_diagnostic().