libabigail

Abstraction of a diff between two function_decl. More...
#include <abgcomparison.h>
Classes  
struct  priv 
Public Member Functions  
virtual void  chain_into_hierarchy () 
Populate the vector of children node of the diff base type subobject of this instance of function_decl_diff. More...  
const function_decl_sptr  first_function_decl () const 
virtual const string &  get_pretty_representation () const 
virtual bool  has_changes () const 
Return true iff the current diff node carries a change. More...  
virtual enum change_kind  has_local_changes () const 
virtual void  report (ostream &, const string &indent="") const 
Serialize a report of the changes encapsulated in the current instance of function_decl_diff over to an output stream. More...  
const function_decl_sptr  second_function_decl () const 
const function_type_diff_sptr  type_diff () const 
Public Member Functions inherited from diff  
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 userprovided suppression specification. More...  
bool  is_suppressed (bool &is_private_type) const 
Test if the current diff node has been suppressed by a userprovided suppression specification or by an autogenerated "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 subtree. More...  
Public Member Functions inherited from traversable_base  
virtual  ~traversable_base () 
Destructor of the traversable_base type. More...  
Protected Member Functions  
function_decl_diff (const function_decl_sptr first, const function_decl_sptr second, diff_context_sptr ctxt)  
Constructor for function_decl_diff. More...  
Protected Member Functions inherited from decl_diff_base  
decl_diff_base (decl_base_sptr first_subject, decl_base_sptr second_subject, diff_context_sptr ctxt)  
Constructor of decl_diff_base. More...  
Protected Member Functions inherited from diff  
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...  
Protected Member Functions inherited from traversable_base  
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  
function_decl_diff_sptr  compute_diff (const function_decl_sptr first, const function_decl_sptr second, diff_context_sptr ctxt) 
Compute the diff between two function_decl. More...  
Additional Inherited Members  
Protected Attributes inherited from diff  
std::unique_ptr< priv >  priv_ 
Abstraction of a diff between two function_decl.
Definition at line 2255 of file abgcomparison.h.

protected 
Constructor for function_decl_diff.
first  the first function considered by the diff. 
second  the second function considered by the diff. 
ctxt  the context of the diff. Note that this context object must stay alive at least during the life time of the current instance of function_decl_diff. Otherwise memory corruption issues occur. 
Definition at line 7746 of file abgcomparison.cc.

virtual 
Populate the vector of children node of the diff base type subobject of this instance of function_decl_diff.
The children node can then later be retrieved using diff::children_node().
Reimplemented from diff.
Definition at line 7730 of file abgcomparison.cc.
const function_decl_sptr first_function_decl  (  )  const 
Definition at line 7756 of file abgcomparison.cc.

virtual 
Reimplemented from diff.
Definition at line 7771 of file abgcomparison.cc.

virtual 
Return true iff the current diff node carries a change.
Implements diff.
Definition at line 7790 of file abgcomparison.cc.

virtual 
Implements decl_diff_base.
Definition at line 7790 of file abgcomparison.cc.

virtual 
Serialize a report of the changes encapsulated in the current instance of function_decl_diff over to an output stream.
out  the output stream to serialize the report to. 
indent  the string to use an an indentation prefix. 
Implements diff.
Definition at line 7812 of file abgcomparison.cc.
const function_decl_sptr second_function_decl  (  )  const 
Definition at line 7761 of file abgcomparison.cc.

friend 
Compute the diff between two function_decl.
Note that the two decls must have been created in the same environment, otherwise, this function aborts.
first  the first function_decl to consider for the diff 
second  the second function_decl to consider for the diff 
ctxt  the diff context to use. 
Definition at line 7830 of file abgcomparison.cc.