libabigail

Abstraction of a diff between two function parameters. More...
#include <abgcomparison.h>
Classes  
struct  priv 
Public Member Functions  
virtual void  chain_into_hierarchy () 
Populate the vector of children nodes of the diff base type subobject of this instance of fn_parm_diff. More...  
const function_decl::parameter_sptr  first_parameter () const 
Getter for the first subject of this diff node. More...  
virtual const string &  get_pretty_representation () const 
Build and return a textual representation of the current instance of fn_parm_diff. More...  
virtual bool  has_changes () const 
Return true iff the current diff node carries a change. More...  
virtual enum change_kind  has_local_changes () const 
Check if the current diff node carries a local change. More...  
virtual void  report (ostream &, const string &indent="") const 
Emit a textual report about the current fn_parm_diff instance. More...  
const function_decl::parameter_sptr  second_parameter () const 
Getter for the second subject of this diff node. More...  
diff_sptr  type_diff () const 
Getter for the diff representing the changes on the type of the function parameter involved in the current instance of fn_parm_diff. More...  
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...  
Friends  
fn_parm_diff_sptr  compute_diff (const function_decl::parameter_sptr first, const function_decl::parameter_sptr second, diff_context_sptr ctxt) 
Compute the difference between two function_decl::parameter_sptr; that is, between two function parameters. Return a resulting fn_parm_diff_sptr that represents the changes. More...  
Additional Inherited Members  
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...  
Protected Attributes inherited from diff  
std::unique_ptr< priv >  priv_ 
Abstraction of a diff between two function parameters.
Definition at line 2068 of file abgcomparison.h.

virtual 
Populate the vector of children nodes of the diff base type subobject of this instance of fn_parm_diff.
The children nodes can then later be retrieved using diff::children_nodes()
Reimplemented from diff.
Definition at line 7059 of file abgcomparison.cc.
const function_decl::parameter_sptr first_parameter  (  )  const 
Getter for the first subject of this diff node.
Definition at line 6979 of file abgcomparison.cc.

virtual 
Build and return a textual representation of the current instance of fn_parm_diff.
Reimplemented from diff.
Definition at line 7006 of file abgcomparison.cc.

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

virtual 
Check if the current diff node carries a local change.
Implements decl_diff_base.
Definition at line 7025 of file abgcomparison.cc.

virtual 
Emit a textual report about the current fn_parm_diff instance.
out  the output stream to emit the textual report to. 
indent  the indentation string to use in the report. 
Implements diff.
Definition at line 7048 of file abgcomparison.cc.
const function_decl::parameter_sptr second_parameter  (  )  const 
Getter for the second subject of this diff node.
Definition at line 6987 of file abgcomparison.cc.
diff_sptr type_diff  (  )  const 
Getter for the diff representing the changes on the type of the function parameter involved in the current instance of fn_parm_diff.
Definition at line 6997 of file abgcomparison.cc.

friend 
Compute the difference between two function_decl::parameter_sptr; that is, between two function parameters. Return a resulting fn_parm_diff_sptr that represents the changes.
Note that the two decls must have been created in the same environment, otherwise, this function aborts.
first  the first subject of the diff. 
second  the second subject of the diff. 
ctxt  the context of the diff. 
Definition at line 7080 of file abgcomparison.cc.