GCC Middle and Back End API Reference
ana::warning_event Class Reference

#include <checker-event.h>

Inheritance diagram for ana::warning_event:
Collaboration diagram for ana::warning_event:

Public Types

enum  verb {
  VERB_unknown , VERB_acquire , VERB_release , VERB_enter ,
  VERB_exit , VERB_call , VERB_return , VERB_branch ,
  VERB_danger
}
 
enum  noun {
  NOUN_unknown , NOUN_taint , NOUN_sensitive , NOUN_function ,
  NOUN_lock , NOUN_memory , NOUN_resource
}
 
enum  property { PROPERTY_unknown , PROPERTY_true , PROPERTY_false }
 

Public Member Functions

 warning_event (const event_loc_info &loc_info, const exploded_node *enode, const state_machine *sm, tree var, state_machine::state_t state)
 
void print_desc (pretty_printer &pp) const final override
 
meaning get_meaning () const override
 
const exploded_nodeget_exploded_node () const
 
location_t get_location () const final override
 
int get_stack_depth () const final override
 
const logical_locationget_logical_location () const final override
 
bool connect_to_next_event_p () const override
 
diagnostic_thread_id_t get_thread_id () const final override
 
void maybe_add_sarif_properties (sarif_object &thread_flow_loc_obj) const override
 
tree get_fndecl () const
 
int get_original_stack_depth () const
 
virtual void prepare_for_emission (checker_path *, pending_diagnostic *pd, diagnostic_event_id_t emission_id)
 
virtual bool is_call_p () const
 
virtual bool is_function_entry_p () const
 
virtual bool is_return_p () const
 
const diagnostic_event_id_tget_id_ptr () const
 
void dump (pretty_printer *pp) const
 
void debug () const
 
void set_location (location_t loc)
 
label_text get_desc (pretty_printer &ref_pp) const
 

Data Fields

enum event_kind m_kind
 

Protected Attributes

location_t m_loc
 
tree m_original_fndecl
 
tree m_effective_fndecl
 
int m_original_depth
 
int m_effective_depth
 
pending_diagnosticm_pending_diagnostic
 
diagnostic_event_id_t m_emission_id
 
tree_logical_location m_logical_loc
 

Private Attributes

const exploded_nodem_enode
 
const state_machinem_sm
 
tree m_var
 
state_machine::state_t m_state
 

Detailed Description

Concrete subclass of checker_event for use at the end of a path:
a repeat of the warning message at the end of the path (perhaps with
references to pertinent events that occurred on the way), at the point
where the problem occurs.   

Member Enumeration Documentation

◆ noun

enum diagnostic_event::noun
inherited
Enumerator
NOUN_unknown 
NOUN_taint 
NOUN_sensitive 
NOUN_function 
NOUN_lock 
NOUN_memory 
NOUN_resource 

◆ property

Enumerator
PROPERTY_unknown 
PROPERTY_true 
PROPERTY_false 

◆ verb

enum diagnostic_event::verb
inherited
Enumerator
VERB_unknown 
VERB_acquire 
VERB_release 
VERB_enter 
VERB_exit 
VERB_call 
VERB_return 
VERB_branch 
VERB_danger 

Constructor & Destructor Documentation

◆ warning_event()

ana::warning_event::warning_event ( const event_loc_info & loc_info,
const exploded_node * enode,
const state_machine * sm,
tree var,
state_machine::state_t state )
inline

References ana::EK_WARNING.

Member Function Documentation

◆ connect_to_next_event_p()

bool ana::checker_event::connect_to_next_event_p ( ) const
inlineoverridevirtualinherited

◆ debug()

void ana::checker_event::debug ( ) const
inherited

◆ dump()

void ana::checker_event::dump ( pretty_printer * pp) const
inherited

◆ get_desc()

label_text diagnostic_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 diagnostic_event::print_desc().

◆ get_exploded_node()

const exploded_node * ana::warning_event::get_exploded_node ( ) const
inline

◆ get_fndecl()

tree ana::checker_event::get_fndecl ( ) const
inlineinherited

◆ get_id_ptr()

const diagnostic_event_id_t * ana::checker_event::get_id_ptr ( ) const
inlineinherited

◆ get_location()

location_t ana::checker_event::get_location ( ) const
inlinefinaloverridevirtualinherited

◆ get_logical_location()

const logical_location * ana::checker_event::get_logical_location ( ) const
inlinefinaloverridevirtualinherited

◆ get_meaning()

meaning ana::warning_event::get_meaning ( ) const
overridevirtual

Reimplemented from ana::checker_event.

◆ get_original_stack_depth()

int ana::checker_event::get_original_stack_depth ( ) const
inlineinherited

◆ get_stack_depth()

int ana::checker_event::get_stack_depth ( ) const
inlinefinaloverridevirtualinherited

◆ get_thread_id()

diagnostic_thread_id_t ana::checker_event::get_thread_id ( ) const
inlinefinaloverridevirtualinherited

Implements diagnostic_event.

◆ is_call_p()

virtual bool ana::checker_event::is_call_p ( ) const
inlinevirtualinherited

Reimplemented in ana::call_event.

◆ is_function_entry_p()

virtual bool ana::checker_event::is_function_entry_p ( ) const
inlinevirtualinherited

Reimplemented in ana::function_entry_event.

◆ is_return_p()

virtual bool ana::checker_event::is_return_p ( ) const
inlinevirtualinherited

Reimplemented in ana::return_event.

◆ maybe_add_sarif_properties()

void ana::checker_event::maybe_add_sarif_properties ( sarif_object & thread_flow_loc_obj) const
overridevirtualinherited

Reimplemented from diagnostic_event.

Reimplemented in ana::superedge_event.

◆ prepare_for_emission()

virtual void ana::checker_event::prepare_for_emission ( checker_path * ,
pending_diagnostic * pd,
diagnostic_event_id_t emission_id )
virtualinherited

◆ print_desc()

void ana::warning_event::print_desc ( pretty_printer & pp) const
finaloverridevirtual

Implements diagnostic_event.

◆ set_location()

void ana::checker_event::set_location ( location_t loc)
inlineinherited

Field Documentation

◆ m_effective_depth

int ana::checker_event::m_effective_depth
protectedinherited

◆ m_effective_fndecl

tree ana::checker_event::m_effective_fndecl
protectedinherited

◆ m_emission_id

diagnostic_event_id_t ana::checker_event::m_emission_id
protectedinherited

◆ m_enode

const exploded_node* ana::warning_event::m_enode
private

◆ m_kind

enum event_kind ana::checker_event::m_kind
inherited

◆ m_loc

location_t ana::checker_event::m_loc
protectedinherited

◆ m_logical_loc

tree_logical_location ana::checker_event::m_logical_loc
protectedinherited

◆ m_original_depth

int ana::checker_event::m_original_depth
protectedinherited

◆ m_original_fndecl

tree ana::checker_event::m_original_fndecl
protectedinherited

◆ m_pending_diagnostic

pending_diagnostic* ana::checker_event::m_pending_diagnostic
protectedinherited

◆ m_sm

const state_machine* ana::warning_event::m_sm
private

◆ m_state

state_machine::state_t ana::warning_event::m_state
private

◆ m_var

tree ana::warning_event::m_var
private

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