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

Definition of the private data of type_base. More...

#include <abg-ir-priv.h>

Public Member Functions

 priv (size_t s, size_t a, type_base_sptr c=type_base_sptr())
 
bool canonical_type_propagated ()
 Test if the type carries a canonical type that is the result of maybe_propagate_canonical_type(), aka, "canonical type propagation optimization". More...
 
bool clear_propagated_canonical_type ()
 If the current canonical type was set as the result of the "canonical type propagation optimization", then clear it. More...
 
bool depends_on_recursive_type () const
 Test if the current type depends on recursive type comparison. More...
 
bool depends_on_recursive_type (const type_base *dependant) const
 Test if the current type depends on a given recursive type. More...
 
bool propagated_canonical_type_confirmed () const
 Getter of the property propagated-canonical-type-confirmed. More...
 
void set_canonical_type_propagated (bool f)
 Set the flag that says if the type carries a canonical type that is the result of maybe_propagate_canonical_type(), aka, "canonical type propagation optimization". More...
 
void set_depends_on_recursive_type (const type_base *t)
 Set the flag that tells if the current type depends on a given recursive type. More...
 
void set_does_not_depend_on_recursive_type ()
 Flag the current type as not being dependant on any recursive type. More...
 
void set_does_not_depend_on_recursive_type (const type_base *t)
 Unset the flag that tells if the current type depends on a given recursive type. More...
 
void set_propagated_canonical_type_confirmed (bool f)
 Setter of the property propagated-canonical-type-confirmed. More...
 

Public Attributes

size_t alignment_in_bits
 
interned_string cached_repr_
 
type_base_wptr canonical_type
 
bool canonical_type_propagated_
 
unordered_set< uintptr_t > depends_on_recursive_type_
 
interned_string internal_cached_repr_
 
type_basenaked_canonical_type
 
bool propagated_canonical_type_confirmed_
 
size_t size_in_bits
 

Detailed Description

Definition of the private data of type_base.

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

Member Function Documentation

◆ canonical_type_propagated()

bool canonical_type_propagated ( )
inline

Test if the type carries a canonical type that is the result of maybe_propagate_canonical_type(), aka, "canonical type propagation optimization".

Returns
true iff the current type carries a canonical type that is the result of canonical type propagation.

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

◆ clear_propagated_canonical_type()

bool clear_propagated_canonical_type ( )
inline

If the current canonical type was set as the result of the "canonical type propagation optimization", then clear it.

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

◆ depends_on_recursive_type() [1/2]

bool depends_on_recursive_type ( ) const
inline

Test if the current type depends on recursive type comparison.

A recursive type T is a type T which has a sub-type that is T (recursively) itself.

So this function tests if the current type has a recursive sub-type or is a recursive type itself.

Returns
true if the current type depends on a recursive type.

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

◆ depends_on_recursive_type() [2/2]

bool depends_on_recursive_type ( const type_base dependant) const
inline

Test if the current type depends on a given recursive type.

A recursive type T is a type T which has a sub-type that is T (recursively) itself.

So this function tests if the current type depends on a given recursive type.

Parameters
dependantthe type we want to test if the current type depends on.
Returns
true if the current type depends on the recursive type @dependant.

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

◆ propagated_canonical_type_confirmed()

bool propagated_canonical_type_confirmed ( ) const
inline

Getter of the property propagated-canonical-type-confirmed.

If canonical_type_propagated() returns true, then this property says if the propagated canonical type has been confirmed or not. If it hasn't been confirmed, then it means it can still cancelled.

Returns
true iff the propagated canonical type has been confirmed.

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

◆ set_canonical_type_propagated()

void set_canonical_type_propagated ( bool  f)
inline

Set the flag that says if the type carries a canonical type that is the result of maybe_propagate_canonical_type(), aka, "canonical type propagation optimization".

Parameters
ftrue iff the current type carries a canonical type that is the result of canonical type propagation.

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

◆ set_depends_on_recursive_type()

void set_depends_on_recursive_type ( const type_base t)
inline

Set the flag that tells if the current type depends on a given recursive type.

A recursive type T is a type T which has asub-type that is T (recursively) itself.

So this function tests if the current type depends on a recursive type.

Parameters
tthe recursive type that current type depends on.

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

◆ set_does_not_depend_on_recursive_type() [1/2]

void set_does_not_depend_on_recursive_type ( )
inline

Flag the current type as not being dependant on any recursive type.

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

◆ set_does_not_depend_on_recursive_type() [2/2]

void set_does_not_depend_on_recursive_type ( const type_base t)
inline

Unset the flag that tells if the current type depends on a given recursive type.

A recursive type T is a type T which has asub-type that is T (recursively) itself.

So this function flags the current type as not being dependant on a given recursive type.

Parameters
tthe recursive type to consider.

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

◆ set_propagated_canonical_type_confirmed()

void set_propagated_canonical_type_confirmed ( bool  f)
inline

Setter of the property propagated-canonical-type-confirmed.

If canonical_type_propagated() returns true, then this property says if the propagated canonical type has been confirmed or not. If it hasn't been confirmed, then it means it can still cancelled.

Parameters
fIf this is true then the propagated canonical type has been confirmed.

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


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