|
bool | subclass_equal_p (const pending_diagnostic &base_other) const final override |
|
virtual int | get_controlling_option () const =0 |
|
virtual bool | terminate_path_p () const |
|
virtual bool | emit (diagnostic_emission_context &)=0 |
|
virtual const char * | get_kind () const =0 |
|
virtual bool | use_of_uninit_p () const |
|
bool | equal_p (const pending_diagnostic &other) const |
|
virtual location_t | fixup_location (location_t loc, bool primary) const |
|
virtual bool | describe_state_change (pretty_printer &, const evdesc::state_change &) |
|
virtual diagnostic_event::meaning | get_meaning_for_state_change (const evdesc::state_change &) const |
|
virtual bool | describe_call_with_state (pretty_printer &, const evdesc::call_with_state &) |
|
virtual bool | describe_return_of_state (pretty_printer &, const evdesc::return_of_state &) |
|
virtual bool | describe_final_event (pretty_printer &, const evdesc::final_event &) |
|
virtual void | add_function_entry_event (const exploded_edge &eedge, checker_path *emission_path) |
|
virtual bool | maybe_add_custom_events_for_superedge (const exploded_edge &, checker_path *) |
|
virtual void | add_call_event (const exploded_edge &, checker_path *) |
|
virtual void | add_region_creation_events (const region *reg, tree capacity, const event_loc_info &loc_info, checker_path &emission_path) |
|
virtual void | add_final_event (const state_machine *sm, const exploded_node *enode, const event_loc_info &loc_info, tree var, state_machine::state_t state, checker_path *emission_path) |
|
virtual bool | supercedes_p (const pending_diagnostic &other) const |
|
virtual void | mark_interesting_stuff (interesting_t *) |
|
virtual bool | check_valid_fpath_p (const feasible_node &, const gimple *) const |
|
virtual void | maybe_add_sarif_properties (sarif_object &) const |
|
template<class Subclass>
class ana::pending_diagnostic_subclass< Subclass >
A template to make it easier to make subclasses of pending_diagnostic.
This uses the curiously-recurring template pattern, to implement
pending_diagnostic::subclass_equal_p by casting and calling
the operator==
This assumes that BASE_OTHER has already been checked to have
been of the same subclass (which pending_diagnostic::equal_p does).