The private data of the environment type.
More...
#include <abg-ir-priv.h>
The private data of the environment type.
Definition at line 538 of file abg-ir-priv.h.
◆ priv()
◆ allow_type_comparison_results_caching() [1/2]
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 686 of file abg-ir-priv.h.
◆ allow_type_comparison_results_caching() [2/2]
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
-
f | if true, allow type comparison result caching. |
Definition at line 675 of file abg-ir-priv.h.
◆ cache_type_comparison_result()
template<typename T >
void cache_type_comparison_result |
( |
T & | first, |
|
|
T & | second, |
|
|
bool | r ) |
|
inline |
Cache the result of comparing two sub-types.
- Parameters
-
first | the first sub-type that has been compared. Its address is going to be stored in the cache. |
second | the second sub-type that has been compared. Its address is going to be stored in the cache. |
r | the 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 710 of file abg-ir-priv.h.
◆ clear_type_comparison_results_cache()
void clear_type_comparison_results_cache |
( |
| ) |
|
|
inline |
Clear the cache type comparison results.
Definition at line 760 of file abg-ir-priv.h.
◆ do_log() [1/2]
◆ do_log() [2/2]
◆ is_type_comparison_cached()
template<typename T >
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
-
first | the first sub-type to consider. |
second | the 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. |
r | this 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 742 of file abg-ir-priv.h.
◆ pop_composite_type_comparison_operands()
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
-
left | the 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. |
right | the 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 796 of file abg-ir-priv.h.
◆ push_composite_type_comparison_operands()
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
-
left | the left-hand-side comparison operand to push. |
right | the right-hand-side comparison operand to push. |
Definition at line 773 of file abg-ir-priv.h.
◆ allow_type_comparison_results_caching_
bool allow_type_comparison_results_caching_ |
◆ analyze_exported_interfaces_only_
optional<bool> analyze_exported_interfaces_only_ |
◆ canonical_types_
◆ canonicalization_is_done_
bool canonicalization_is_done_ |
◆ canonicalization_started_
bool canonicalization_started_ |
◆ config_
◆ decl_only_class_equals_definition_
bool decl_only_class_equals_definition_ |
◆ do_log_
◆ extra_live_types_
vector<type_base_sptr> extra_live_types_ |
◆ left_classes_being_compared_
◆ left_fn_types_being_compared_
◆ left_type_comp_operands_
vector<const type_base*> left_type_comp_operands_ |
◆ right_classes_being_compared_
◆ right_fn_types_being_compared_
◆ right_type_comp_operands_
vector<const type_base*> right_type_comp_operands_ |
◆ sorted_canonical_types_
vector<type_base_sptr> sorted_canonical_types_ |
|
mutable |
◆ string_pool_
◆ type_comparison_results_cache_
◆ use_enum_binary_only_equality_
bool use_enum_binary_only_equality_ |
◆ variadic_marker_type_
type_base_sptr variadic_marker_type_ |
◆ void_pointer_type_
type_base_sptr void_pointer_type_ |
◆ void_type_
type_base_sptr void_type_ |
The documentation for this struct was generated from the following file: