GCC Middle and Back End API Reference
|
Private Types | |
typedef std::map< diagnostic_logical_location, std::unique_ptr< diagnostic_logical_location > > | logical_locs_map_t |
Private Member Functions | |
void | ensure_linemap_for_file_and_line (const diagnostic_file *file, diagnostic_line_num_t linenum) |
const diagnostic_physical_location * | new_location (location_t loc) |
Private Attributes | |
diagnostic_context | m_dc |
line_maps | m_line_table |
impl_client_version_info | m_client_version_info |
std::vector< std::unique_ptr< sink > > | m_sinks |
hash_map< nofree_string_hash, diagnostic_file * > | m_str_to_file_map |
hash_map< int_hash< location_t, UNKNOWN_LOCATION, location_t(-1)>, diagnostic_physical_location * > | m_location_t_map |
logical_locs_map_t | m_logical_locs |
const diagnostic * | m_current_diag |
const diagnostic_logical_location * | m_prev_diag_logical_loc |
std::unique_ptr< edit_context > | m_edit_context |
This has to be a "struct" as it is exposed in the C API.
|
private |
|
inline |
References BUILTINS_LOCATION, diagnostic_color_init(), diagnostic_initialize(), diagnostic_text_starter(), diagnostic_urls_init(), DIAGNOSTICS_COLOR_AUTO, DPF_INLINE_EVENTS, m_current_diag, m_dc, m_edit_context, m_line_table, m_prev_diag_logical_loc, make_unique(), round_alloc_size(), and diagnostic_text_sink::text_starter().
|
inline |
References diagnostic_finish(), free(), i, m_dc, m_line_table, m_location_t_map, m_sinks, and m_str_to_file_map.
|
inline |
References m_sinks.
Referenced by diagnostic_manager_add_sarif_sink(), and diagnostic_manager_add_text_sink().
|
inline |
References gcc_assert, and diagnostic_physical_location::m_mgr.
Referenced by diagnostic_add_fix_it_hint_delete(), diagnostic_add_fix_it_hint_insert_after(), diagnostic_add_fix_it_hint_insert_before(), diagnostic_add_fix_it_hint_replace(), diagnostic_add_location(), diagnostic_add_location_with_label(), and diagnostic_set_location().
|
inline |
References m_dc.
Referenced by diagnostic_manager_begin_group().
void diagnostic_manager::emit | ( | diagnostic & | diag, |
const char * | msgid, | ||
va_list * | args ) |
References diagnostic_report_diagnostic(), diagnostic_set_info(), diagnostic_t_from_diagnostic_level(), GCC_DIAGNOSTIC_POP, GCC_DIAGNOSTIC_PUSH_IGNORED, diagnostic::get_level(), diagnostic::get_logical_location(), diagnostic::get_metadata(), diagnostic::get_rich_location(), m_current_diag, m_dc, m_edit_context, m_prev_diag_logical_loc, diagnostic_info::metadata, set_line_table_global(), and diagnostic_info::x_data.
Referenced by diagnostic_finish_va().
|
inline |
References m_dc.
Referenced by diagnostic_manager_end_group().
|
inlineprivate |
References diagnostic_file::get_name(), m_line_table, map, and UNKNOWN_LOCATION.
Referenced by new_location_from_file_and_line(), and new_location_from_file_line_column().
|
inline |
References m_client_version_info.
|
inline |
|
inline |
References m_current_diag.
|
inline |
References m_dc.
Referenced by diagnostic_text_sink::diagnostic_text_sink(), and sarif_sink::sarif_sink().
|
inline |
References m_str_to_file_map.
|
inline |
References m_line_table.
Referenced by sarif_sink::sarif_sink().
|
inline |
References m_prev_diag_logical_loc.
Referenced by diagnostic_text_sink::text_starter().
|
inline |
References gcc_assert, and m_str_to_file_map.
diagnostic_execution_path * diagnostic_manager::new_execution_path | ( | ) |
Referenced by diagnostic_manager_new_execution_path().
|
inline |
References diagnostic_file::get_name(), and m_str_to_file_map.
Referenced by diagnostic_manager_new_file().
|
inlineprivate |
References m_location_t_map, and UNKNOWN_LOCATION.
Referenced by new_location_from_file_and_line(), new_location_from_file_line_column(), and new_location_from_range().
|
inline |
References ensure_linemap_for_file_and_line(), m_line_table, and new_location().
Referenced by diagnostic_manager_new_location_from_file_and_line().
|
inline |
References ensure_linemap_for_file_and_line(), m_line_table, and new_location().
Referenced by diagnostic_manager_new_location_from_file_line_column().
|
inline |
References as_location_t(), m_line_table, and new_location().
Referenced by diagnostic_manager_new_location_from_range().
|
inline |
References m_logical_locs, and make_unique().
Referenced by diagnostic_manager_new_logical_location().
|
inline |
void diagnostic_manager::write_patch | ( | FILE * | dst_stream | ) |
struct diagnostic_manager.
References m_edit_context, pp_flush(), and pretty_printer::set_output_stream().
Referenced by diagnostic_manager_write_patch().
|
private |
Referenced by get_client_version_info(), and get_client_version_info().
|
private |
Referenced by diagnostic_manager(), emit(), and get_current_diag().
|
private |
Referenced by begin_group(), diagnostic_manager(), emit(), end_group(), get_dc(), and ~diagnostic_manager().
|
private |
Referenced by diagnostic_manager(), emit(), and write_patch().
|
private |
|
private |
Referenced by new_location(), and ~diagnostic_manager().
|
private |
Referenced by new_logical_location().
|
private |
Referenced by diagnostic_manager(), emit(), and get_prev_diag_logical_loc().
|
private |
Referenced by add_sink(), and ~diagnostic_manager().
|
private |
Referenced by get_file_by_name(), maybe_get_sarif_source_language(), new_file(), and ~diagnostic_manager().