libabigail
|
The base class of templates. More...
#include <abg-ir.h>
Public Member Functions | |
template_decl (const environment &env, const string &name, const location &locus, visibility vis=VISIBILITY_DEFAULT) | |
Constructor. More... | |
virtual | ~template_decl () |
Destructor. More... | |
void | add_template_parameter (const template_parameter_sptr p) |
Add a new template parameter to the current instance of template_decl. More... | |
const std::list< template_parameter_sptr > & | get_template_parameters () const |
Get the list of template parameters of the current instance of template_decl. More... | |
virtual bool | operator== (const decl_base &o) const |
Equality operator. More... | |
virtual bool | operator== (const template_decl &o) const |
Equality operator. More... | |
![]() | |
decl_base (const environment &, const location &) | |
Constructor for the decl_base type. More... | |
decl_base (const environment &e, const interned_string &name, const location &locus, const interned_string &mangled_name=interned_string(), visibility vis=VISIBILITY_DEFAULT) | |
Constructor. More... | |
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. More... | |
virtual | ~decl_base () |
Destructor of the decl_base type. More... | |
const interned_string & | get_cached_pretty_representation (bool internal=false) const |
Get the pretty representation of the current decl. More... | |
context_rel * | get_context_rel () |
Getter for the context relationship. More... | |
const context_rel * | get_context_rel () const |
Getter for the context relationship. More... | |
const decl_base_sptr | get_definition_of_declaration () const |
If this decl_base is declaration-only, get its definition, if any. More... | |
const decl_base_sptr | get_earlier_declaration () const |
If this decl_base is a definition, get its earlier declaration. More... | |
bool | get_has_anonymous_parent () const |
Get the "has_anonymous_parent" flag of the current declaration. More... | |
bool | get_is_anonymous () const |
Test if the current declaration is anonymous. More... | |
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. More... | |
bool | get_is_in_public_symbol_table () const |
Test if the decl is defined in a ELF symbol table as a public symbol. More... | |
const interned_string & | get_linkage_name () const |
Getter for the mangled name. More... | |
const location & | get_location () const |
Get the location of a given declaration. More... | |
const decl_base * | get_naked_definition_of_declaration () const |
If this decl_base is declaration-only, get its definition, if any. More... | |
virtual const interned_string & | get_name () const |
Getter for the name of the current decl. More... | |
typedef_decl_sptr | get_naming_typedef () const |
Getter for the naming typedef of the current decl. More... | |
virtual string | get_pretty_representation (bool internal=false, bool qualified_name=true) const |
Get the pretty representatin of the current declaration. More... | |
virtual const interned_string & | get_qualified_name (bool internal=false) const |
Return the qualified name of the decl. More... | |
virtual void | get_qualified_name (interned_string &qualified_name, bool internal=false) const |
Compute the qualified name of the decl. More... | |
const interned_string & | get_qualified_parent_name () const |
Return a copy of the qualified name of the parent of the current decl. More... | |
scope_decl * | get_scope () const |
Return the type containing the current decl, if any. More... | |
virtual const interned_string & | get_scoped_name () const |
Return the scoped name of the decl. More... | |
visibility | get_visibility () const |
Getter for the visibility of the decl. More... | |
virtual bool | operator!= (const decl_base &) const |
Inequality operator. More... | |
virtual bool | operator== (const decl_base &) const |
Return true iff the two decls have the same name. More... | |
void | set_definition_of_declaration (const decl_base_sptr &) |
Set the definition of this declaration-only decl_base. More... | |
void | set_earlier_declaration (const decl_base_sptr &) |
set the earlier declaration of this decl_base definition. More... | |
void | set_is_anonymous (bool) |
Set the "is_anonymous" flag of the current declaration. More... | |
void | set_is_declaration_only (bool f) |
Set a flag saying if the enum_type_decl is a declaration-only enum_type_decl. More... | |
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). More... | |
virtual void | set_linkage_name (const string &m) |
Setter for the linkage name. More... | |
void | set_location (const location &l) |
Set the location for a given declaration. More... | |
virtual void | set_name (const string &n) |
Setter for the name of the decl. More... | |
void | set_naming_typedef (const typedef_decl_sptr &) |
Set the naming typedef of the current instance of decl_base. More... | |
virtual void | set_scope (scope_decl *) |
Setter of the scope of the current decl. More... | |
void | set_visibility (visibility v) |
Setter for the visibility of the decl. More... | |
virtual bool | traverse (ir_node_visitor &v) |
This implements the ir_traversable_base::traverse pure virtual function. More... | |
![]() | |
type_or_decl_base (const environment &, enum type_or_decl_kind k=ABSTRACT_TYPE_OR_DECL) | |
Constructor of type_or_decl_base. More... | |
virtual | ~type_or_decl_base () |
The destructor of the type_or_decl_base type. More... | |
location & | get_artificial_location () const |
Getter of the artificial location of the artifact. More... | |
corpus * | get_corpus () |
Get the corpus this ABI artifact belongs to. More... | |
const corpus * | get_corpus () const |
Get the corpus this ABI artifact belongs to. More... | |
const environment & | get_environment () const |
Getter of the environment of the current ABI artifact. More... | |
bool | get_is_artificial () const |
Getter of the flag that says if the artefact is artificial. More... | |
virtual string | get_pretty_representation (bool internal=false, bool qualified_name=true) const =0 |
translation_unit * | get_translation_unit () |
Get the translation_unit this ABI artifact belongs to. More... | |
const translation_unit * | get_translation_unit () const |
Get the translation_unit this ABI artifact belongs to. More... | |
bool | has_artificial_location () const |
Test if the current ABI artifact carries an artificial location. More... | |
enum type_or_decl_kind | kind () const |
Getter for the "kind" property of type_or_decl_base type. More... | |
void | set_artificial_location (const location &) |
Setter of the artificial location of the artificat. More... | |
void | set_is_artificial (bool) |
Setter of the flag that says if the artefact is artificial. More... | |
void | set_translation_unit (translation_unit *) |
Set the translation_unit this ABI artifact belongs to. More... | |
virtual bool | traverse (ir_node_visitor &) |
Traverse the the ABI artifact. More... | |
virtual bool | traverse (ir_node_visitor &v) |
Traverse a given IR node and its children, calling an visitor on each node. More... | |
![]() | |
virtual | ~traversable_base () |
Destructor of the traversable_base type. More... | |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
priv * | priv_ |
![]() | |
std::unique_ptr< priv > | priv_ |
![]() | |
decl_base (const decl_base &) | |
void | clear_qualified_name () |
Clear the qualified name of this decl. More... | |
const interned_string & | peek_qualified_name () const |
Getter for the qualified name. More... | |
const interned_string & | peek_temporary_qualified_name () const |
Getter of the temporary qualified name of the current declaration. More... | |
void | set_context_rel (context_rel *c) |
void | set_qualified_name (const interned_string &) const |
Setter for the qualified name. More... | |
void | set_temporary_qualified_name (const interned_string &) const |
Setter for the temporary qualified name of the current declaration. More... | |
![]() | |
virtual hash_t | hash_value () const |
Return the hash value of the current IR node. More... | |
void | kind (enum type_or_decl_kind) |
Setter for the "kind" property of type_or_decl_base type. More... | |
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. More... | |
const void * | runtime_type_instance () const |
Getter of the pointer to the runtime type sub-object of the current instance. More... | |
void | runtime_type_instance (void *) |
Setter of the pointer to the runtime type sub-object of the current instance. More... | |
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. More... | |
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. More... | |
![]() | |
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... | |
template_decl | ( | const environment & | env, |
const string & | name, | ||
const location & | locus, | ||
visibility | vis = VISIBILITY_DEFAULT |
||
) |
|
virtual |
void add_template_parameter | ( | const template_parameter_sptr | p | ) |
Add a new template parameter to the current instance of template_decl.
p | the new template parameter to add. |
const std::list< template_parameter_sptr > & get_template_parameters | ( | ) | const |
Get the list of template parameters of the current instance of template_decl.
|
virtual |
Equality operator.
o | the other instance to compare against. |
equals
the current instance. Reimplemented from decl_base.
Reimplemented in template_tparameter, function_tdecl, and class_tdecl.
|
virtual |
Equality operator.
o | the other instance to compare against. |
equals
the current instance. Reimplemented in template_tparameter, function_tdecl, and class_tdecl.