libabigail
|
Public Member Functions | |
virtual | ~union_diff () |
Destructor of the union_diff node. More... | |
union_decl_sptr | first_union_decl () const |
virtual const string & | get_pretty_representation () const |
virtual void | report (ostream &, const string &indent="") const |
Report the changes carried by the current union_diff node in a textual format. More... | |
union_decl_sptr | second_union_decl () const |
![]() | |
virtual | ~class_or_union_diff () |
Destructor of class_or_union_diff. More... | |
virtual void | chain_into_hierarchy () |
Populate the vector of children node of the diff base type sub-object of this instance of class_or_union_diff. More... | |
const function_decl_diff_sptrs_type & | changed_member_fns () const |
Getter for the virtual members functions that have had a change in a sub-type, without having a change in their symbol name. More... | |
size_t | count_filtered_changed_data_members (bool local_only=false) const |
Count the number of /filtered/ data members that got replaced by another data member. More... | |
size_t | count_filtered_subtype_changed_data_members (bool local_only=false) const |
Count the number of /filtered/ data members with a sub-type change. More... | |
edit_script & | data_members_changes () |
const edit_script & | data_members_changes () const |
const string_decl_base_sptr_map & | data_members_replaced_by_adms () const |
Get the map of data members that got replaced by anonymous data members. More... | |
const string_decl_base_sptr_map & | deleted_data_members () const |
Getter for the data members that got deleted. More... | |
const string_member_function_sptr_map & | deleted_member_fns () const |
class_or_union_sptr | first_class_or_union () const |
const class_or_union_diff::priv_ptr & | get_priv () const |
Getter of the private data of the class_or_union_diff type. More... | |
virtual bool | has_changes () const |
Test if the current diff node carries a change. More... | |
virtual enum change_kind | has_local_changes () const |
const string_decl_base_sptr_map & | inserted_data_members () const |
Getter for the data members that got inserted. More... | |
const string_member_function_sptr_map & | inserted_member_fns () const |
edit_script & | member_class_tmpls_changes () |
const edit_script & | member_class_tmpls_changes () const |
edit_script & | member_fn_tmpls_changes () |
const edit_script & | member_fn_tmpls_changes () const |
edit_script & | member_fns_changes () |
const edit_script & | member_fns_changes () const |
edit_script & | member_types_changes () |
const edit_script & | member_types_changes () const |
const changed_var_sptrs_type & | ordered_data_members_replaced_by_adms () const |
Get an ordered vector of of data members that got replaced by anonymous data members. More... | |
class_or_union_sptr | second_class_or_union () const |
const var_diff_sptrs_type & | sorted_changed_data_members () const |
Getter of the sorted vector of data members that got replaced by another data member. More... | |
const var_diff_sptrs_type & | sorted_subtype_changed_data_members () const |
Getter of the sorted vector of data members with a (sub-)type change. More... | |
![]() | |
diff_category | add_to_category (diff_category c) |
Adds the current diff tree node to an additional set of categories. Note that the categories include thoses inherited from the children nodes of this diff node. More... | |
void | add_to_local_and_inherited_categories (diff_category c) |
Adds the current diff tree node to the categories resulting from the local and inherited changes of the current diff node. More... | |
diff_category | add_to_local_category (diff_category c) |
Adds the current diff tree node to the categories resulting from the local changes of the current diff node. More... | |
void | append_child_node (diff_sptr) |
Add a new child node to the vector of children nodes for the current diff node. More... | |
const vector< diff * > & | children_nodes () const |
Getter for the children nodes of the current diff node. More... | |
const diff_context_sptr | context () const |
Getter of the context of the current diff. More... | |
void | context (diff_context_sptr c) |
Setter of the context of the current diff. More... | |
bool | currently_reporting () const |
Tests if we are currently in the middle of emitting a report for this diff. More... | |
void | currently_reporting (bool f) const |
Sets a flag saying if we are currently in the middle of emitting a report for this diff. More... | |
type_or_decl_base_sptr | first_subject () const |
Getter of the first subject of the diff. More... | |
diff * | get_canonical_diff () const |
Getter for the canonical diff of the current instance of diff. More... | |
diff_category | get_category () const |
Getter for the category of the current diff tree node. More... | |
diff_category | get_class_of_equiv_category () const |
Getter of the category of the class of equivalence of the current diff tree node. More... | |
diff_category | get_local_category () const |
Getter for the local category of the current diff tree node. More... | |
bool | has_descendant_allowed_by_specific_negated_suppression () const |
Test if the current diff node has a descendant node which is specifically allowed by a negated suppression specification. More... | |
bool | has_local_changes_to_be_reported () const |
Test if this diff tree node should be reported when considering the categories that were *NOT* inherited from its children nodes. More... | |
bool | has_parent_allowed_by_specific_negated_suppression () const |
Test if the current diff node has a parent node which is specifically allowed by a negated suppression specification. More... | |
bool | is_allowed_by_specific_negated_suppression () const |
Test if this diff node is allowed (prevented from being suppressed) by at least one negated suppression specification. More... | |
bool | is_filtered_out () const |
Test if this diff tree node is to be filtered out for reporting purposes. More... | |
bool | is_filtered_out_without_looking_at_allowed_changes () const |
Test if this diff tree node is to be filtered out for reporting purposes, but without considering the categories that can /force/ the node to be unfiltered. More... | |
bool | is_filtered_out_wrt_non_inherited_categories () const |
Test if this diff tree node is to be filtered out for reporting purposes, but by considering only the categories that were *NOT* inherited from its children nodes. More... | |
bool | is_suppressed () const |
Test if the current diff node has been suppressed by a user-provided suppression specification. More... | |
bool | is_suppressed (bool &is_private_type) const |
Test if the current diff node has been suppressed by a user-provided suppression specification or by an auto-generated "private type" suppression specification. More... | |
bool | is_traversing () const |
Tell if a given node is being traversed or not. More... | |
const diff * | parent_node () const |
Getter for the parent node of the current diff node. More... | |
diff_category | remove_from_category (diff_category c) |
Remove the current diff tree node from an a existing sef of categories. The categories include those inherited from the children nodes of the current diff node. More... | |
diff_category | remove_from_local_category (diff_category c) |
Remove the current diff tree node from the categories resulting from the local changes. More... | |
bool | reported_once () const |
Tests if a report has already been emitted for the current diff. More... | |
void | reported_once (bool f) const |
Sets a flag saying if a report has already been emitted for the current diff. More... | |
type_or_decl_base_sptr | second_subject () const |
Getter of the second subject of the diff. More... | |
void | set_category (diff_category c) |
Set the category of the current diff node. This category includes the categories inherited from the children nodes of the current diff node. More... | |
void | set_local_category (diff_category c) |
Set the local category of the current diff node. More... | |
bool | to_be_reported () const |
Test if this diff tree node should be reported. More... | |
virtual bool | traverse (diff_node_visitor &v) |
The generic traversing code that walks a given diff sub-tree. More... | |
![]() | |
virtual | ~traversable_base () |
Destructor of the traversable_base type. More... | |
Protected Member Functions | |
union_diff (union_decl_sptr first_union, union_decl_sptr second_union, diff_context_sptr ctxt=diff_context_sptr()) | |
Constructor for the union_diff type. More... | |
![]() | |
class_or_union_diff (class_or_union_sptr first_scope, class_or_union_sptr second_scope, diff_context_sptr ctxt=diff_context_sptr()) | |
Constructor for the class_or_union_diff class. More... | |
void | allocate_priv_data () |
Allocate the memory for the priv_ pimpl data member of the class_or_union_diff class. More... | |
void | clear_lookup_tables (void) |
Clear the lookup tables useful for reporting. More... | |
void | ensure_lookup_tables_populated (void) const |
If the lookup tables are not yet built, walk the differences and fill them. More... | |
bool | lookup_tables_empty (void) const |
Tests if the lookup tables are empty. More... | |
![]() | |
type_diff_base (type_base_sptr first_subject, type_base_sptr second_subject, diff_context_sptr ctxt) | |
![]() | |
diff (type_or_decl_base_sptr first_subject, type_or_decl_base_sptr second_subject) | |
Constructor for the diff type. More... | |
diff (type_or_decl_base_sptr first_subject, type_or_decl_base_sptr second_subject, diff_context_sptr ctxt) | |
Constructor for the diff type. More... | |
void | begin_traversing () |
Flag a given diff node as being traversed. More... | |
bool | do_log () const |
Test if logging was requested. More... | |
void | do_log (bool) |
Request logging (or not) More... | |
void | end_traversing () |
Flag a given diff node as not being traversed anymore. More... | |
virtual void | finish_diff_type () |
Finish the insertion of a diff tree node into the diff graph. More... | |
void | set_canonical_diff (diff *) |
Setter for the canonical diff of the current instance of diff. More... | |
![]() | |
traversable_base () | |
Default constructor of the traversable_base type. More... | |
bool | visiting () const |
This should returns false before and after the node has been visiting. During the visiting of the node (and of its children) this should return true. More... | |
void | visiting (bool f) |
The traversing code should be responsible of calling this, not the user code. More... | |
Friends | |
union_diff_sptr | compute_diff (const union_decl_sptr first, const union_decl_sptr second, diff_context_sptr ctxt) |
Compute the difference between two union_decl types. More... | |
Additional Inherited Members | |
![]() | |
typedef std::unique_ptr< priv > | priv_ptr |
![]() | |
priv_ptr | priv_ |
![]() | |
std::unique_ptr< priv > | priv_ |
Definition at line 1860 of file abg-comparison.h.
|
protected |
Constructor for the union_diff type.
first_union | the first object of the comparison. |
second_union | the second object of the comparison. |
ctxt | the context of the comparison. |
Definition at line 6347 of file abg-comparison.cc.
|
virtual |
Destructor of the union_diff node.
Definition at line 6354 of file abg-comparison.cc.
union_decl_sptr first_union_decl | ( | ) | const |
Definition at line 6359 of file abg-comparison.cc.
|
virtual |
Reimplemented from diff.
Definition at line 6369 of file abg-comparison.cc.
|
virtual |
Report the changes carried by the current union_diff node in a textual format.
out | the output stream to write the textual report to. |
indent | the number of white space to use as indentation. |
Reimplemented from class_or_union_diff.
Definition at line 6391 of file abg-comparison.cc.
union_decl_sptr second_union_decl | ( | ) | const |
Definition at line 6364 of file abg-comparison.cc.
|
friend |
Compute the difference between two union_decl types.
Note that the two types must hav been created in the same environment, otherwise, this function aborts.
first | the first union_decl to consider. |
second | the second union_decl to consider. |
ctxt | the context of the diff to use. |
Definition at line 6407 of file abg-comparison.cc.