#include <diagnostic-manager.h>
Private Attributes | |
engine * | m_eng |
auto_delete_vec< saved_diagnostic > | m_saved_diagnostics |
const int | m_verbosity |
int | m_num_disabled_diagnostics |
logger * | m_logger |
A class with responsibility for saving pending diagnostics, so that they can be emitted after the exploded_graph is complete. This lets us de-duplicate diagnostics, and find the shortest path for each similar diagnostic, potentially using edges that might not have been found when each diagnostic was first saved. This also lets us compute shortest_paths once, rather than per-diagnostic.
bool ana::diagnostic_manager::add_diagnostic | ( | const pending_location & | ploc, |
std::unique_ptr< pending_diagnostic > | d ) |
bool ana::diagnostic_manager::add_diagnostic | ( | const state_machine * | sm, |
const pending_location & | ploc, | ||
tree | var, | ||
const svalue * | sval, | ||
state_machine::state_t | state, | ||
std::unique_ptr< pending_diagnostic > | d ) |
void ana::diagnostic_manager::add_event | ( | std::unique_ptr< checker_event > | event | ) |
|
private |
|
private |
|
private |
void ana::diagnostic_manager::add_note | ( | std::unique_ptr< pending_note > | pn | ) |
|
private |
|
private |
References path.
|
private |
References path.
|
privateinherited |
References log_user().
void ana::diagnostic_manager::emit_saved_diagnostic | ( | const exploded_graph & | eg, |
saved_diagnostic & | sd ) |
void ana::diagnostic_manager::emit_saved_diagnostics | ( | const exploded_graph & | eg | ) |
|
inlineinherited |
A shortcut for ending a log line from a log_user, handling the common case where the underlying logger is NULL via a no-op.
References m_logger.
Referenced by set_logger().
|
inlineinherited |
A shortcut for recording entry into a scope from a log_user, handling the common case where the underlying logger is NULL via a no-op.
References m_logger.
Referenced by set_logger().
|
inlineinherited |
A shortcut for recording exit from a scope from a log_user, handling the common case where the underlying logger is NULL via a no-op.
References m_logger.
Referenced by set_logger().
|
private |
References path.
|
inlineinherited |
References gcc_assert, get_logger_pp(), and m_logger.
Referenced by get_logger_pp().
|
private |
|
inline |
References m_saved_diagnostics.
|
inline |
References m_saved_diagnostics.
|
inline |
References m_saved_diagnostics.
|
inlineinherited |
|
private |
References path.
|
private |
References path.
|
private |
References path.
|
private |
References path.
|
private |
References path.
|
inherited |
References ATTRIBUTE_GCC_DIAG, end_log_line(), enter_scope(), exit_scope(), and start_log_line().
|
private |
|
inlineinherited |
A shortcut for starting a log line from a log_user, handling the common case where the underlying logger is NULL via a no-op.
References m_logger.
Referenced by set_logger().
std::unique_ptr< json::object > ana::diagnostic_manager::to_json | ( | ) | const |
|
private |
|
private |
Referenced by get_engine().
|
privateinherited |
Referenced by end_log_line(), enter_scope(), exit_scope(), get_logger(), get_logger_file(), get_logger_pp(), log(), and start_log_line().
|
private |
|
private |
Referenced by get_num_diagnostics(), get_saved_diagnostic(), and get_saved_diagnostic().
|
private |