GCC Middle and Back End API Reference
|
#include <sm.h>
Data Structures | |
class | state |
Public Types | |
typedef const state_machine::state * | state_t |
Protected Member Functions | |
state_t | add_state (const char *name) |
state_t | add_custom_state (state *s) |
unsigned | alloc_state_id () |
Protected Attributes | |
state_t | m_start |
Private Member Functions | |
DISABLE_COPY_AND_ASSIGN (state_machine) | |
Private Attributes | |
const char * | m_name |
auto_delete_vec< state > | m_states |
unsigned | m_next_state_id |
logger * | m_logger |
An abstract base class for a state machine describing an API. Manages a set of state objects, and has various virtual functions for pattern-matching on statements.
|
inlinevirtual |
|
inlineprotected |
References m_next_state_id.
|
inlinevirtual |
References NULL.
|
private |
void ana::state_machine::dump_to_pp | ( | pretty_printer * | pp | ) | const |
|
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 ana::logger::end_log_line(), and ana::log_user::m_logger.
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 ana::logger::enter_scope(), ggc_alloc(), and ana::log_user::m_logger.
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 ana::logger::exit_scope(), ggc_alloc(), and ana::log_user::m_logger.
|
inlinevirtual |
References m_start.
|
inlineinherited |
References ana::log_user::m_logger.
Referenced by ana::exploded_graph::get_logger(), and ana::impl_region_model_context::get_logger().
|
inlineinherited |
References ana::logger::get_file(), ana::log_user::m_logger, and NULL.
|
inlineinherited |
References gcc_assert, ana::logger::get_printer(), and ana::log_user::m_logger.
A shortcut for calling log from a log_user, handling the common case where the underlying logger is NULL via a no-op.
References ap, ggc_alloc(), ana::logger::log_va(), and ana::log_user::m_logger.
|
inline |
References ggc_alloc(), and maybe_get_merged_states_nonequal().
|
inlinevirtual |
References NULL.
Referenced by maybe_get_merged_state().
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
|
inlinevirtual |
|
inlinevirtual |
|
pure virtual |
|
inlinevirtual |
References ggc_alloc().
|
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 ana::log_user::m_logger, and ana::logger::start_log_line().
json::object * ana::state_machine::to_json | ( | ) | const |
|
privateinherited |
Referenced by get_name().
|
private |
Referenced by alloc_state_id().
|
protected |
Referenced by get_default_state(), and get_start_state().
|
private |
Referenced by add_custom_state().