GCC Middle and Back End API Reference
libgdiagnostics_path_event Class Reference
Inheritance diagram for libgdiagnostics_path_event:
Collaboration diagram for libgdiagnostics_path_event:

Public Types

enum class  verb {
  unknown , acquire , release , enter ,
  exit , call , return_ , branch ,
  danger
}
enum class  noun {
  unknown , taint , sensitive , function ,
  lock , memory , resource
}
enum class  property { unknown , true_ , false_ }

Public Member Functions

 libgdiagnostics_path_event (const diagnostic_physical_location *physical_loc, const diagnostic_logical_location *logical_loc, unsigned stack_depth, std::unique_ptr< diagnostic_graph > state_graph, std::unique_ptr< diagnostic_message_buffer > msg_buf)
location_t get_location () const final override
int get_stack_depth () const final override
void print_desc (pretty_printer &pp) const final override
diagnostics::logical_locations::key get_logical_location () const final override
meaning get_meaning () const final override
bool connect_to_next_event_p () const final override
diagnostics::paths::thread_id_t get_thread_id () const final override
std::unique_ptr< diagnostics::digraphs::digraphmaybe_make_diagnostic_state_graph (bool) const final override
virtual void maybe_add_sarif_properties (sarif_builder &, sarif_object &) const
label_text get_desc (pretty_printer &ref_pp) const

Static Private Member Functions

static label_text make_desc (const char *gmsgid, va_list *args, bool colorize)

Private Attributes

const diagnostic_physical_locationm_physical_loc
const diagnostic_logical_locationm_logical_loc
unsigned m_stack_depth
std::unique_ptr< diagnostic_graphm_state_graph
std::unique_ptr< diagnostic_message_bufferm_msg_buf

Member Enumeration Documentation

◆ noun

enum class diagnostics::paths::event::noun
stronginherited
Enumerator
unknown 
taint 
sensitive 
function 
lock 
memory 
resource 

◆ property

enum class diagnostics::paths::event::property
stronginherited
Enumerator
unknown 
true_ 
false_ 

◆ verb

enum class diagnostics::paths::event::verb
stronginherited
Enumerator
unknown 
acquire 
release 
enter 
exit 
call 
return_ 
branch 
danger 

Constructor & Destructor Documentation

◆ libgdiagnostics_path_event()

libgdiagnostics_path_event::libgdiagnostics_path_event ( const diagnostic_physical_location * physical_loc,
const diagnostic_logical_location * logical_loc,
unsigned stack_depth,
std::unique_ptr< diagnostic_graph > state_graph,
std::unique_ptr< diagnostic_message_buffer > msg_buf )
inline

Member Function Documentation

◆ connect_to_next_event_p()

bool libgdiagnostics_path_event::connect_to_next_event_p ( ) const
inlinefinaloverridevirtual

Implements diagnostics::paths::event.

References final().

◆ get_desc()

label_text event::get_desc ( pretty_printer & ref_pp) const
inherited
Generate a label_text containing the description of this event
(for debugging/logging purposes).   

References pretty_printer::clone(), pp_formatted_text(), pp_show_color(), and print_desc().

◆ get_location()

location_t libgdiagnostics_path_event::get_location ( ) const
inlinefinaloverridevirtual

◆ get_logical_location()

diagnostics::logical_locations::key libgdiagnostics_path_event::get_logical_location ( ) const
inlinefinaloverridevirtual

◆ get_meaning()

meaning libgdiagnostics_path_event::get_meaning ( ) const
inlinefinaloverridevirtual

Implements diagnostics::paths::event.

References final().

◆ get_stack_depth()

int libgdiagnostics_path_event::get_stack_depth ( ) const
inlinefinaloverridevirtual

Implements diagnostics::paths::event.

References final(), and m_stack_depth.

◆ get_thread_id()

diagnostics::paths::thread_id_t libgdiagnostics_path_event::get_thread_id ( ) const
inlinefinaloverridevirtual

Implements diagnostics::paths::event.

References final().

◆ make_desc()

label_text libgdiagnostics_path_event::make_desc ( const char * gmsgid,
va_list * args,
bool colorize )
inlinestaticprivate

◆ maybe_add_sarif_properties()

virtual void diagnostics::paths::event::maybe_add_sarif_properties ( sarif_builder & ,
sarif_object &  ) const
inlinevirtualinherited

◆ maybe_make_diagnostic_state_graph()

std::unique_ptr< diagnostics::digraphs::digraph > libgdiagnostics_path_event::maybe_make_diagnostic_state_graph ( bool ) const
inlinefinaloverridevirtual

Reimplemented from diagnostics::paths::event.

References m_state_graph.

◆ print_desc()

void libgdiagnostics_path_event::print_desc ( pretty_printer & pp) const
inlinefinaloverridevirtual

Implements diagnostics::paths::event.

References m_msg_buf, and pp_printf().

Field Documentation

◆ m_logical_loc

const diagnostic_logical_location* libgdiagnostics_path_event::m_logical_loc
private

◆ m_msg_buf

std::unique_ptr<diagnostic_message_buffer> libgdiagnostics_path_event::m_msg_buf
private

◆ m_physical_loc

const diagnostic_physical_location* libgdiagnostics_path_event::m_physical_loc
private

◆ m_stack_depth

unsigned libgdiagnostics_path_event::m_stack_depth
private

◆ m_state_graph

std::unique_ptr<diagnostic_graph> libgdiagnostics_path_event::m_state_graph
private

The documentation for this class was generated from the following file: