libabigail
|
Abstraction of a negated type suppression specification. More...
#include <abg-suppression.h>
Public Member Functions | |
negated_type_suppression (const string &label, const string &type_name_regexp, const string &type_name) | |
Constructor for negated_type_suppression. More... | |
virtual | ~negated_type_suppression () |
Destructor of the negated_type_suppression type. More... | |
virtual bool | suppresses_diff (const diff *diff) const |
Evaluate this suppression specification on a given diff node and say if the diff node should be suppressed or not. More... | |
bool | suppresses_type (const type_base_sptr &type, const diff_context_sptr &ctxt) const |
bool | suppresses_type (const type_base_sptr &type) const |
bool | suppresses_type (const type_base_sptr &type, const scope_decl *type_scope) const |
![]() | |
type_suppression (const string &label, const string &type_name_regexp, const string &type_name) | |
Constructor for type_suppression. More... | |
const vector< string > & | get_changed_enumerator_names () const |
Getter of the vector of the changed enumerators that are supposed to be suppressed. Note that this will be "valid" only if the type suppression has the 'type_kind = enum' property. More... | |
const vector< regex::regex_t_sptr > & | get_changed_enumerators_regexp () const |
Getter of the vector of the regular expression strings for changed enumerators that are supposed to be suppressed. Note that this will be "valid" only if the type suppression has the 'type_kind = enum' property. More... | |
bool | get_consider_reach_kind () const |
Test if the current type suppression specification suggests to consider how the matching diff node is reached. More... | |
bool | get_consider_type_kind () const |
Getter of the property that says whether to consider the kind of type this suppression is about. More... | |
const insertion_ranges & | get_data_member_insertion_ranges () const |
Getter for the vector of data member insertion range that specifiers where a data member is inserted as far as this suppression specification is concerned. More... | |
insertion_ranges & | get_data_member_insertion_ranges () |
Getter for the vector of data member insertion range that specifiers where a data member is inserted as far as this suppression specification is concerned. More... | |
bool | get_has_size_change () const |
Getter of the "has_size_change" property. More... | |
const string_set_type & | get_potential_data_member_names () const |
Getter of the "potential_data_member_names" property. More... | |
const string & | get_potential_data_member_names_regex_str () const |
Getter of the "potential_data_member_names_regex" string. More... | |
reach_kind | get_reach_kind () const |
Getter of the way the diff node matching the current suppression specification is to be reached. More... | |
const string & | get_source_location_to_keep_regex_str () const |
Getter of the regular expression string that designates the source location paths of types that should not be suppressed. More... | |
const unordered_set< string > & | get_source_locations_to_keep () const |
Getter for the array of source location paths of types that should *NOT* be suppressed. More... | |
unordered_set< string > & | get_source_locations_to_keep () |
Getter for the array of source location paths of types that should *NOT* be suppressed. More... | |
type_kind | get_type_kind () const |
Getter of the kind of type this suppression is about. More... | |
const string & | get_type_name () const |
Getter for the name of the type about which diff reports should be suppressed. More... | |
const string & | get_type_name_not_regex_str () const |
Getter for the "type_name_not_regex_str" property of the type suppression specification. More... | |
const string & | get_type_name_regex_str () const |
Getter for the "type_name_regex" property of the type suppression specification. More... | |
void | set_changed_enumerator_names (const vector< string > &) |
Setter of the vector of changed enumerators that are supposed to be suppressed. Note that this will be "valid" only if the type suppression has the 'type_kind = enum' property. More... | |
void | set_changed_enumerators_regexp (const vector< regex::regex_t_sptr > &) |
Setter of the vector of the regular expression strings for changed enumerators that are supposed to be suppressed. Note that this will be "valid" only if the type suppression has the 'type_kind = enum' property. More... | |
void | set_consider_reach_kind (bool f) |
Set a flag saying if the current type suppression specification suggests to consider how the matching diff node is reached. More... | |
void | set_consider_type_kind (bool f) |
Setter of the property that says whether to consider the kind of type this suppression is about. More... | |
void | set_data_member_insertion_ranges (const insertion_ranges &r) |
Setter for the vector of data member insertion ranges that specifies where a data member is inserted as far as this suppression specification is concerned. More... | |
void | set_has_size_change (bool flag) |
Setter of the "has_size_change" property. More... | |
void | set_potential_data_member_names (const string_set_type &) const |
Setter of the "potential_data_member_names" property. More... | |
void | set_potential_data_member_names_regex_str (const string &) const |
Setter of the "potential_data_member_names_regex" string. More... | |
void | set_reach_kind (reach_kind k) |
Setter of the way the diff node matching the current suppression specification is to be reached. More... | |
void | set_source_location_to_keep_regex_str (const string &) |
Setter of the regular expression string that designates the source location paths of types that should not be suppressed. More... | |
void | set_source_locations_to_keep (const unordered_set< string > &) |
Setter for the array of source location paths of types that should *NOT* be suppressed. More... | |
void | set_type_kind (type_kind k) |
Setter of the kind of type this suppression is about. More... | |
void | set_type_name (const string &name) |
Setter for the name of the type about which diff reports should be suppressed. More... | |
void | set_type_name_not_regex_str (const string &name_regex_str) |
Setter for the "type_name_not_regex_str" property of the type suppression specification. More... | |
void | set_type_name_regex_str (const string &name_regex_str) |
Setter for the "type_name_regex" property of the type suppression specification. More... | |
bool | suppresses_type (const type_base_sptr &type, const diff_context_sptr &ctxt) const |
Test if the current instance of type_suppression suppresses a change reports about a given type. More... | |
bool | suppresses_type (const type_base_sptr &type) const |
Test if the current instance of type_suppression matches a given type. More... | |
bool | suppresses_type (const type_base_sptr &type, const scope_decl *type_scope) const |
Test if the current instance of type_suppression matches a given type in a given scope. More... | |
![]() | |
suppression_base (const string &label) | |
Constructor for suppression_base. More... | |
suppression_base (const string &label, const string &file_name_regex_str, const string &file_name_not_regex_str) | |
Constructor for suppression_base. More... | |
bool | get_drops_artifact_from_ir () const |
Tests if the current suppression specification is to avoid adding the matched ABI artifact to the internal representation or not. More... | |
const string & | get_file_name_not_regex_str () const |
Getter for the "file_name_not_regex" property of the current instance of suppression_base. More... | |
const string & | get_file_name_regex_str () const |
Getter for the "file_name_regex" property of the current instance of suppression_base. More... | |
bool | get_is_artificial () const |
Test is the suppression specification is artificial. More... | |
const string | get_label () const |
Getter for the label associated to this suppression specification. More... | |
const string & | get_soname_not_regex_str () const |
Getter of the "soname_not_regex_str property of the current instance of suppression_base. More... | |
const string & | get_soname_regex_str () const |
Getter of the "soname_regex_str property of the current instance of suppression_base. More... | |
bool | has_file_name_related_property () const |
Test if the current suppression has a property related to file name. More... | |
bool | has_soname_related_property () const |
Test if the current suppression has a property related to SONAMEs. More... | |
void | set_drops_artifact_from_ir (bool) |
Set the flag that says whether the current suppression specification is to avoid adding the matched ABI artifact to the internal representation or not. More... | |
void | set_file_name_not_regex_str (const string ®exp) |
Setter for the "file_name_not_regex" property of the current instance of suppression_base. More... | |
void | set_file_name_regex_str (const string ®exp) |
Setter for the "file_name_regex" property of the current instance of suppression_base. More... | |
void | set_is_artificial (bool) |
Set a flag saying if the suppression specification is artificial or not. More... | |
void | set_label (const string &) |
Setter for the label associated to this suppression specification. More... | |
void | set_soname_not_regex_str (const string ®exp) |
Setter of the "soname_not_regex_str property of the current instance of suppression_base. More... | |
void | set_soname_regex_str (const string ®exp) |
Setter of the "soname_regex_str property of the current instance of suppression_base. More... | |
![]() | |
negated_suppression_base () | |
Constructor of the negated_suppression_base. More... | |
virtual | ~negated_suppression_base () |
Destructor of the negated_suppression_base. More... | |
Additional Inherited Members | |
![]() | |
typedef shared_ptr< insertion_range > | insertion_range_sptr |
A convenience typedef for a shared pointer to insertion_range. More... | |
typedef vector< insertion_range_sptr > | insertion_ranges |
A convenience typedef for a vector of insertion_range_sptr. More... | |
enum | reach_kind { DIRECT_REACH_KIND, POINTER_REACH_KIND, REFERENCE_REACH_KIND, REFERENCE_OR_POINTER_REACH_KIND } |
The different ways through which the type diff has been reached. More... | |
enum | type_kind { UNKNOWN_TYPE_KIND, CLASS_TYPE_KIND, STRUCT_TYPE_KIND, UNION_TYPE_KIND, ENUM_TYPE_KIND, ARRAY_TYPE_KIND, TYPEDEF_TYPE_KIND, BUILTIN_TYPE_KIND } |
The kind of the type the current type suppression is supposed to be about. More... | |
![]() | |
std::unique_ptr< priv > | priv_ |
![]() | |
std::unique_ptr< priv > | priv_ |
Abstraction of a negated type suppression specification.
A negated type suppression suppresses a type if the negation of the equivalent propositions for a type_suppression are valid.
Definition at line 492 of file abg-suppression.h.
negated_type_suppression | ( | const string & | label, |
const string & | type_name_regexp, | ||
const string & | type_name | ||
) |
Constructor for negated_type_suppression.
label | the label of the suppression. This is just a free form comment explaining what the suppression is about. |
type_name_regexp | the regular expression describing the types about which diff reports should be suppressed. If it's an empty string, the parameter is ignored. |
type_name | the name of the type about which diff reports should be suppressed. If it's an empty string, the parameter is ignored. |
Note that parameter type_name_regexp
and type_name_regexp
should not necessarily be populated. It usually is either one or the other that the user wants.
Definition at line 1838 of file abg-suppression.cc.
|
virtual |
Destructor of the negated_type_suppression type.
Definition at line 1860 of file abg-suppression.cc.
|
virtual |
Evaluate this suppression specification on a given diff node and say if the diff node should be suppressed or not.
diff | the diff node to evaluate this suppression specification against. |
diff
should be suppressed. Reimplemented from type_suppression.
Definition at line 1854 of file abg-suppression.cc.