|
| typedef_decl (const string &name, const environment &env, const location &locus, const string &mangled_name="", visibility vis=VISIBILITY_DEFAULT) |
| Constructor of the typedef_decl type.
|
|
| typedef_decl (const string &name, const type_base_sptr underlying_type, const location &locus, const string &mangled_name="", visibility vis=VISIBILITY_DEFAULT) |
| Constructor of the typedef_decl type.
|
|
virtual size_t | get_alignment_in_bits () const |
| Return the alignment of the typedef.
|
|
virtual string | get_pretty_representation (bool internal=false, bool qualified_name=true) const |
| Build a pretty representation for a typedef_decl.
|
|
virtual const interned_string & | get_qualified_name (bool internal=false) const |
| Implementation of the virtual "get_qualified_name" method.
|
|
virtual void | get_qualified_name (interned_string &qualified_name, bool internal=false) const |
| Implementation of the virtual "get_qualified_name" method.
|
|
virtual size_t | get_size_in_bits () const |
| Return the size of the typedef.
|
|
type_base_sptr | get_underlying_type () const |
| Getter of the underlying type of the typedef.
|
|
virtual hash_t | hash_value () const |
| Return the hash value of the current IR node.
|
|
virtual bool | operator== (const decl_base &) const |
| Equality operator.
|
|
virtual bool | operator== (const type_base &) const |
| Equality operator.
|
|
void | set_underlying_type (const type_base_sptr &) |
| Setter ofthe underlying type of the typedef.
|
|
virtual bool | traverse (ir_node_visitor &) |
| This implements the ir_traversable_base::traverse pure virtual function.
|
|
| type_base (const environment &e, size_t s, size_t a) |
| The constructor of type_base.
|
|
const interned_string & | get_cached_pretty_representation (bool internal=false) const |
| Get the pretty representation of the current type.
|
|
type_base_sptr | get_canonical_type () const |
| Getter of the canonical type of the current instance of type_base.
|
|
type_base * | get_naked_canonical_type () const |
| Getter of the canonical type pointer.
|
|
virtual bool | operator!= (const type_base &) const |
| Inequality operator.
|
|
virtual void | set_alignment_in_bits (size_t) |
| Setter for the alignment of the type.
|
|
virtual void | set_size_in_bits (size_t) |
| Setter for the size of the type.
|
|
| type_or_decl_base (const environment &, enum type_or_decl_kind k=ABSTRACT_TYPE_OR_DECL) |
| Constructor of type_or_decl_base.
|
|
virtual | ~type_or_decl_base () |
| The destructor of the type_or_decl_base type.
|
|
location & | get_artificial_location () const |
| Getter of the artificial location of the artifact.
|
|
corpus * | get_corpus () |
| Get the corpus this ABI artifact belongs to.
|
|
const corpus * | get_corpus () const |
| Get the corpus this ABI artifact belongs to.
|
|
const environment & | get_environment () const |
| Getter of the environment of the current ABI artifact.
|
|
bool | get_is_artificial () const |
| Getter of the flag that says if the artefact is artificial.
|
|
translation_unit * | get_translation_unit () |
| Get the translation_unit this ABI artifact belongs to.
|
|
const translation_unit * | get_translation_unit () const |
| Get the translation_unit this ABI artifact belongs to.
|
|
bool | has_artificial_location () const |
| Test if the current ABI artifact carries an artificial location.
|
|
enum type_or_decl_kind | kind () const |
| Getter for the "kind" property of type_or_decl_base type.
|
|
void | set_artificial_location (const location &) |
| Setter of the artificial location of the artificat.
|
|
void | set_is_artificial (bool) |
| Setter of the flag that says if the artefact is artificial.
|
|
void | set_translation_unit (translation_unit *) |
| Set the translation_unit this ABI artifact belongs to.
|
|
virtual | ~traversable_base () |
| Destructor of the traversable_base type.
|
|
| decl_base (const environment &, const location &) |
| Constructor for the decl_base type.
|
|
| decl_base (const environment &e, const interned_string &name, const location &locus, const interned_string &mangled_name=interned_string(), visibility vis=VISIBILITY_DEFAULT) |
| Constructor.
|
|
| decl_base (const environment &e, const string &name, const location &locus, const string &mangled_name="", visibility vis=VISIBILITY_DEFAULT) |
| Constructor for the decl_base type.
|
|
virtual | ~decl_base () |
| Destructor of the decl_base type.
|
|
const interned_string & | get_cached_pretty_representation (bool internal=false) const |
| Get the pretty representation of the current decl.
|
|
context_rel * | get_context_rel () |
| Getter for the context relationship.
|
|
const context_rel * | get_context_rel () const |
| Getter for the context relationship.
|
|
const decl_base_sptr | get_definition_of_declaration () const |
| If this decl_base is declaration-only, get its definition, if any.
|
|
const decl_base_sptr | get_earlier_declaration () const |
| If this decl_base is a definition, get its earlier declaration.
|
|
bool | get_has_anonymous_parent () const |
| Get the "has_anonymous_parent" flag of the current declaration.
|
|
bool | get_is_anonymous () const |
| Test if the current declaration is anonymous.
|
|
bool | get_is_anonymous_or_has_anonymous_parent () const |
|
bool | get_is_declaration_only () const |
| Test if a decl_base is a declaration-only decl.
|
|
bool | get_is_in_public_symbol_table () const |
| Test if the decl is defined in a ELF symbol table as a public symbol.
|
|
const interned_string & | get_linkage_name () const |
| Getter for the mangled name.
|
|
const location & | get_location () const |
| Get the location of a given declaration.
|
|
const decl_base * | get_naked_definition_of_declaration () const |
| If this decl_base is declaration-only, get its definition, if any.
|
|
virtual const interned_string & | get_name () const |
| Getter for the name of the current decl.
|
|
typedef_decl_sptr | get_naming_typedef () const |
| Getter for the naming typedef of the current decl.
|
|
const interned_string & | get_qualified_parent_name () const |
| Return a copy of the qualified name of the parent of the current decl.
|
|
scope_decl * | get_scope () const |
| Return the type containing the current decl, if any.
|
|
virtual const interned_string & | get_scoped_name () const |
| Return the scoped name of the decl.
|
|
visibility | get_visibility () const |
| Getter for the visibility of the decl.
|
|
virtual bool | operator!= (const decl_base &) const |
| Inequality operator.
|
|
void | set_definition_of_declaration (const decl_base_sptr &) |
| Set the definition of this declaration-only decl_base.
|
|
void | set_earlier_declaration (const decl_base_sptr &) |
| set the earlier declaration of this decl_base definition.
|
|
void | set_is_anonymous (bool) |
| Set the "is_anonymous" flag of the current declaration.
|
|
void | set_is_declaration_only (bool f) |
| Set a flag saying if the enum_type_decl is a declaration-only enum_type_decl.
|
|
void | set_is_in_public_symbol_table (bool) |
| Set the flag saying if this decl is from a symbol that is in a public symbols table, defined as public (global or weak).
|
|
virtual void | set_linkage_name (const string &m) |
| Setter for the linkage name.
|
|
void | set_location (const location &l) |
| Set the location for a given declaration.
|
|
virtual void | set_name (const string &n) |
| Setter for the name of the decl.
|
|
void | set_naming_typedef (const typedef_decl_sptr &) |
| Set the naming typedef of the current instance of decl_base.
|
|
virtual void | set_scope (scope_decl *) |
| Setter of the scope of the current decl.
|
|
void | set_visibility (visibility v) |
| Setter for the visibility of the decl.
|
|
|
enum | type_or_decl_kind {
ABSTRACT_TYPE_OR_DECL
, ABSTRACT_DECL_BASE
, ABSTRACT_SCOPE_DECL
, GLOBAL_SCOPE_DECL
,
NAMESPACE_DECL
, VAR_DECL
, FUNCTION_DECL
, FUNCTION_PARAMETER_DECL
,
METHOD_DECL
, TEMPLATE_DECL
, ABSTRACT_TYPE_BASE
, ABSTRACT_SCOPE_TYPE_DECL
,
BASIC_TYPE
, SUBRANGE_TYPE
, QUALIFIED_TYPE
, POINTER_TYPE
,
REFERENCE_TYPE
, POINTER_TO_MEMBER_TYPE
, ARRAY_TYPE
, ENUM_TYPE
,
TYPEDEF_TYPE
, CLASS_TYPE
, UNION_TYPE
, FUNCTION_TYPE
,
METHOD_TYPE
} |
| This is a bitmap type which instance is meant to contain the runtime type of a given ABI artifact. Bits of the identifiers of the type of a given artifact as well as the types it inherits from are to be set to 1. More...
|
|
enum | binding { BINDING_NONE
, BINDING_LOCAL
, BINDING_GLOBAL
, BINDING_WEAK
} |
| ELF binding. More...
|
|
enum | visibility {
VISIBILITY_NONE
, VISIBILITY_DEFAULT
, VISIBILITY_PROTECTED
, VISIBILITY_HIDDEN
,
VISIBILITY_INTERNAL
} |
| ELF visibility. More...
|
|
priv * | priv_ |
|
std::unique_ptr< priv > | priv_ |
|
priv * | priv_ |
|
virtual void | on_canonical_type_set () |
| This method is invoked automatically right after the current instance of class_decl has been canonicalized.
|
|
void | kind (enum type_or_decl_kind) |
| Setter for the "kind" property of type_or_decl_base type.
|
|
type_or_decl_base & | operator= (const type_or_decl_base &) |
|
void * | runtime_type_instance () |
| Getter of the pointer to the runtime type sub-object of the current instance.
|
|
const void * | runtime_type_instance () const |
| Getter of the pointer to the runtime type sub-object of the current instance.
|
|
void | runtime_type_instance (void *) |
| Setter of the pointer to the runtime type sub-object of the current instance.
|
|
void | set_hash_value (hash_t) const |
|
void * | type_or_decl_base_pointer () |
| Getter of the pointer to either the type_base sub-object of the current instance if it's a type, or to the decl_base sub-object of the current instance if it's a decl.
|
|
const void * | type_or_decl_base_pointer () const |
| Getter of the pointer to either the type_base sub-object of the current instance if it's a type, or to the decl_base sub-object of the current instance if it's a decl.
|
|
| traversable_base () |
| Default constructor of the traversable_base type.
|
|
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.
|
|
void | visiting (bool f) |
| The traversing code should be responsible of calling this, not the user code.
|
|
| decl_base (const decl_base &) |
|
void | clear_qualified_name () |
| Clear the qualified name of this decl.
|
|
const interned_string & | peek_qualified_name () const |
| Getter for the qualified name.
|
|
const interned_string & | peek_temporary_qualified_name () const |
| Getter of the temporary qualified name of the current declaration.
|
|
void | set_context_rel (context_rel *c) |
|
void | set_qualified_name (const interned_string &) const |
| Setter for the qualified name.
|
|
void | set_temporary_qualified_name (const interned_string &) const |
| Setter for the temporary qualified name of the current declaration.
|
|
The abstraction of a typedef declaration.
Definition at line 2897 of file abg-ir.h.