libabigail
Public Member Functions | Public Attributes | List of all members
environment::priv Struct Reference

The private data of the environment type. More...

#include <abg-ir-priv.h>

Public Member Functions

void allow_type_comparison_results_caching (bool f)
 Allow caching of the sub-types comparison results during the invocation of the equal overloads for class and function types. More...
 
bool allow_type_comparison_results_caching () const
 Check whether if caching of the sub-types comparison results during the invocation of the equal overloads for class and function types is in effect. More...
 
template<typename T >
void cache_type_comparison_result (T &first, T &second, bool r)
 Cache the result of comparing two sub-types. More...
 
void clear_type_comparison_results_cache ()
 Clear the cache type comparison results. More...
 
void do_log (bool f)
 
bool do_log () const
 
template<typename T >
bool is_type_comparison_cached (T &first, T &second, bool &r)
 Retrieve the result of comparing two sub-types from the cache, if it was previously stored. More...
 
void pop_composite_type_comparison_operands (const type_base *left, const type_base *right)
 Pop a pair of operands from the stack of operands to the current type comparison. More...
 
void push_composite_type_comparison_operands (const type_base *left, const type_base *right)
 Push a pair of operands on the stack of operands of the current type comparison, during type canonicalization. More...
 

Public Attributes

bool allow_type_comparison_results_caching_
 
optional< bool > analyze_exported_interfaces_only_
 
canonical_types_map_type canonical_types_
 
bool canonicalization_is_done_
 
bool canonicalization_started_
 
config config_
 
bool decl_only_class_equals_definition_
 
bool do_log_
 
vector< type_base_sptr > extra_live_types_
 
class_set_type left_classes_being_compared_
 
fn_set_type left_fn_types_being_compared_
 
vector< const type_base * > left_type_comp_operands_
 
class_set_type right_classes_being_compared_
 
fn_set_type right_fn_types_being_compared_
 
vector< const type_base * > right_type_comp_operands_
 
vector< type_base_sptr > sorted_canonical_types_
 
interned_string_pool string_pool_
 
type_comparison_result_type type_comparison_results_cache_
 
bool use_enum_binary_only_equality_
 
type_base_sptr variadic_marker_type_
 
type_base_sptr void_pointer_type_
 
type_base_sptr void_type_
 

Detailed Description

The private data of the environment type.

Definition at line 539 of file abg-ir-priv.h.

Member Function Documentation

void allow_type_comparison_results_caching ( bool  f)
inline

Allow caching of the sub-types comparison results during the invocation of the equal overloads for class and function types.

Parameters
fif true, allow type comparison result caching.

Definition at line 676 of file abg-ir-priv.h.

bool allow_type_comparison_results_caching ( ) const
inline

Check whether if caching of the sub-types comparison results during the invocation of the equal overloads for class and function types is in effect.

Returns
true iff caching of the sub-types comparison results during the invocation of the equal overloads for class and function types is in effect.

Definition at line 687 of file abg-ir-priv.h.

void cache_type_comparison_result ( T &  first,
T &  second,
bool  r 
)
inline

Cache the result of comparing two sub-types.

Parameters
firstthe first sub-type that has been compared. Its address is going to be stored in the cache.
secondthe second sub-type that has been compared. Its address is going to be stored in the cache.
rthe result of comparing first and second. This is going to be stored in the cache, as well as the addresses of first and second.

Definition at line 711 of file abg-ir-priv.h.

void clear_type_comparison_results_cache ( )
inline

Clear the cache type comparison results.

Definition at line 761 of file abg-ir-priv.h.

bool is_type_comparison_cached ( T &  first,
T &  second,
bool &  r 
)
inline

Retrieve the result of comparing two sub-types from the cache, if it was previously stored.

Parameters
firstthe first sub-type to consider.
secondthe second sub-type to consider. The pair of addresses of {first, second} is going to be looked up in the cache. If it's present, then the associated result of the comparison of first against second is present as well, and is returned.
rthis is an out parameter which is set to the result of the comparison of first against second if the pair of addresses of {first, second} is present in the cache.
Returns
true iff the pair of addresses of {first, second} is present in the cache. In that case, the associated result of the comparison of first against second is returned in the argument of r.

Definition at line 743 of file abg-ir-priv.h.

void pop_composite_type_comparison_operands ( const type_base left,
const type_base right 
)
inline

Pop a pair of operands from the stack of operands to the current type comparison.

For more information on this, please look at the description of the right_type_comp_operands_ data member.

Parameters
leftthe left-hand-side comparison operand we expect to pop from the top of the stack. If this doesn't match the operand found on the top of the stack, the function aborts.
rightthe right-hand-side comparison operand we expect to pop from the bottom of the stack. If this doesn't match the operand found on the top of the stack, the function aborts.

Definition at line 797 of file abg-ir-priv.h.

void push_composite_type_comparison_operands ( const type_base left,
const type_base right 
)
inline

Push a pair of operands on the stack of operands of the current type comparison, during type canonicalization.

For more information on this, please look at the description of the right_type_comp_operands_ data member.

Parameters
leftthe left-hand-side comparison operand to push.
rightthe right-hand-side comparison operand to push.

Definition at line 774 of file abg-ir-priv.h.


The documentation for this struct was generated from the following file: