|
decl_base_sptr | add_decl_to_scope (decl_base_sptr decl, const scope_decl_sptr &scope) |
| Appends a declaration to a given scope, if the declaration doesn't already belong to a scope.
|
|
decl_base_sptr | add_decl_to_scope (decl_base_sptr decl, scope_decl *scope) |
| Appends a declaration to a given scope, if the declaration doesn't already belong to one.
|
|
bool | anonymous_data_member_exists_in_class (const var_decl &anon_dm, const class_or_union &clazz) |
| Test if a given anonymous data member exists in a class or union.
|
|
class_or_union_sptr | anonymous_data_member_to_class_or_union (const var_decl &d) |
| Get the class_or_union type of a given anonymous data member.
|
|
class_or_union * | anonymous_data_member_to_class_or_union (const var_decl *d) |
| Get the class_or_union type of a given anonymous data member.
|
|
class_or_union_sptr | anonymous_data_member_to_class_or_union (const var_decl_sptr &d) |
| Get the class_or_union type of a given anonymous data member.
|
|
string | build_internal_underlying_enum_type_name (const string &base_name, bool is_anonymous, uint64_t size) |
| Build the internal name of the underlying type of an enum.
|
|
string | build_qualified_name (const scope_decl *scope, const string &name) |
| Build and return a qualified name from a name and its scope.
|
|
string | build_qualified_name (const scope_decl *scope, const type_base_sptr &type) |
| Build and return the qualified name of a type in its scope.
|
|
type_base_sptr | canonicalize (type_base_sptr t) |
| Compute the canonical type of a given type.
|
|
array_type_def_sptr | clone_array (const array_type_def_sptr &array) |
| Clone an array type.
|
|
type_base_sptr | clone_array_tree (const type_base_sptr t) |
| Clone a type tree made of an array or a typedef of array.
|
|
qualified_type_def_sptr | clone_qualified_type (const qualified_type_def_sptr &t) |
| Clone a qualifiend type.
|
|
typedef_decl_sptr | clone_typedef (const typedef_decl_sptr &t) |
| Clone a typedef type.
|
|
string | components_to_type_name (const std::list< string > &) |
|
const class_or_union_sptr | data_member_has_anonymous_type (const var_decl &d) |
| Test if a data member has annonymous type or not.
|
|
const class_or_union_sptr | data_member_has_anonymous_type (const var_decl *d) |
| Test if a data member has annonymous type or not.
|
|
const class_or_union_sptr | data_member_has_anonymous_type (const var_decl_sptr &d) |
| Test if a data member has annonymous type or not.
|
|
decl_base * | debug (const decl_base *artifact) |
| Emit a textual representation of an artifact to std error stream for debugging purposes.
|
|
type_base * | debug (const type_base *artifact) |
| Emit a textual representation of an artifact to std error stream for debugging purposes.
|
|
type_or_decl_base * | debug (const type_or_decl_base *artifact) |
| Emit a textual representation of an artifact to std error stream for debugging purposes.
|
|
void | debug_comp_stack (const environment &env) |
| Emit a trace of the two comparison operands stack on the standard error stream.
|
|
bool | debug_equals (const type_or_decl_base *l, const type_or_decl_base *r) |
| Test if two ABI artifacts are equal.
|
|
string | demangle_cplus_mangled_name (const string &mangled_name) |
| Demangle a C++ mangled name and return the resulting string.
|
|
void | dump (const decl_base_sptr) |
|
void | dump (const decl_base_sptr, std::ostream &) |
|
void | dump (const translation_unit &) |
|
void | dump (const translation_unit &, std::ostream &) |
|
void | dump (const translation_unit_sptr) |
|
void | dump (const translation_unit_sptr, std::ostream &) |
|
void | dump (const type_base_sptr) |
|
void | dump (const type_base_sptr, std::ostream &) |
|
void | dump (const var_decl_sptr) |
|
void | dump (const var_decl_sptr, std::ostream &) |
|
void | dump_decl_location (const decl_base &d) |
| Serialize the source location of a decl to stderr for debugging purposes.
|
|
void | dump_decl_location (const decl_base *d) |
| Serialize the source location of a dcl to stderr for debugging purposes.
|
|
void | dump_decl_location (const decl_base_sptr &) |
|
var_decl_sptr | find_data_member_from_anonymous_data_member (const var_decl_sptr &anon_dm, const string &name) |
| Find a data member inside an anonymous data member.
|
|
var_decl_sptr | find_first_data_member_matching_regexp (const class_or_union &t, const regex::regex_t_sptr &r) |
| Find the first data member of a class or union which name matches a regular expression.
|
|
var_decl_sptr | find_last_data_member_matching_regexp (const class_or_union &t, const regex::regex_t_sptr ®ex) |
| Find the last data member of a class or union which name matches a regular expression.
|
|
void | fqn_to_components (const std::string &, std::list< string > &) |
|
bool | function_decl_is_less_than (const function_decl &f, const function_decl &s) |
| Test if the pretty representation of a given function_decl is lexicographically less then the pretty representation of another function_decl.
|
|
uint64_t | get_absolute_data_member_offset (const var_decl &m) |
| Get the absolute offset of a data member.
|
|
const location & | get_artificial_or_natural_location (const decl_base *decl) |
| Get the artificial location of a decl.
|
|
string | get_class_or_union_flat_representation (const class_or_union &cou, const string &indent, bool one_line, bool internal, bool qualified_names) |
| Get the flat representation of an instance of class_or_union type.
|
|
string | get_class_or_union_flat_representation (const class_or_union *cou, const string &indent, bool one_line, bool internal, bool qualified_names) |
| Get the flat representation of an instance of class_or_union type.
|
|
string | get_class_or_union_flat_representation (const class_or_union_sptr &cou, const string &indent, bool one_line, bool internal, bool qualified_names) |
| Get the flat representation of an instance of class_or_union type.
|
|
var_decl_sptr | get_data_member (class_or_union *clazz, const char *member_name) |
| Get a given data member, referred to by its name, of a class type.
|
|
var_decl_sptr | get_data_member (type_base *clazz, const char *member_name) |
| Get a given data member, referred to by its name, of a class type.
|
|
bool | get_data_member_is_laid_out (const var_decl &m) |
| Test whether a data member is laid out.
|
|
bool | get_data_member_is_laid_out (const var_decl_sptr m) |
| Test whether a data member is laid out.
|
|
uint64_t | get_data_member_offset (const decl_base_sptr d) |
| Get the offset of a data member.
|
|
uint64_t | get_data_member_offset (const var_decl &m) |
| Get the offset of a data member.
|
|
uint64_t | get_data_member_offset (const var_decl_sptr m) |
| Get the offset of a data member.
|
|
string | get_debug_representation (const type_or_decl_base *artifact) |
| Get the textual representation of a type for debugging purposes.
|
|
type_base * | get_exemplar_type (const type_base *type) |
| For a given type, return its exemplar type.
|
|
const var_decl_sptr | get_first_non_anonymous_data_member (const var_decl_sptr anon_dm) |
| Get the first non-anonymous data member of a given anonymous data member.
|
|
interned_string | get_function_id_or_pretty_representation (function_decl *fn) |
| Get the ID of a function, or, if the ID can designate several different functions, get its pretty representation.
|
|
interned_string | get_function_type_name (const function_type &fn_type, bool internal) |
| Get the name of a given function type and return a copy of it.
|
|
interned_string | get_function_type_name (const function_type *fn_type, bool internal) |
| Get the name of a given function type and return a copy of it.
|
|
interned_string | get_function_type_name (const function_type_sptr &fn_type, bool internal) |
| Get the name of a given function type and return a copy of it.
|
|
const global_scope * | get_global_scope (const decl_base &decl) |
| return the global scope as seen by a given declaration.
|
|
const global_scope * | get_global_scope (const decl_base *decl) |
| return the global scope as seen by a given declaration.
|
|
const global_scope * | get_global_scope (const decl_base_sptr) |
|
var_decl_sptr | get_last_data_member (const class_or_union &klass) |
| Get the last data member of a class type.
|
|
var_decl_sptr | get_last_data_member (const class_or_union *klass) |
| Get the last data member of a class type.
|
|
var_decl_sptr | get_last_data_member (const class_or_union_sptr &klass) |
| Get the last data member of a class type.
|
|
location | get_location (const decl_base_sptr &decl) |
| Get the location of a given declaration.
|
|
location | get_location (const type_base_sptr &type) |
| Get the location of the declaration of a given type.
|
|
bool | get_member_function_is_const (const function_decl &f) |
| Test whether a member function is const.
|
|
bool | get_member_function_is_const (const function_decl_sptr &f) |
| Test whether a member function is const.
|
|
bool | get_member_function_is_ctor (const function_decl &f) |
| Test whether a member function is a constructor.
|
|
bool | get_member_function_is_ctor (const function_decl_sptr &f) |
| Test whether a member function is a constructor.
|
|
bool | get_member_function_is_dtor (const function_decl &f) |
| Test whether a member function is a destructor.
|
|
bool | get_member_function_is_dtor (const function_decl_sptr &f) |
| Test whether a member function is a destructor.
|
|
bool | get_member_function_is_virtual (const function_decl &f) |
| Test if a given member function is virtual.
|
|
bool | get_member_function_is_virtual (const function_decl *mem_fn) |
| Test if a given member function is virtual.
|
|
bool | get_member_function_is_virtual (const function_decl_sptr &mem_fn) |
| Test if a given member function is virtual.
|
|
ssize_t | get_member_function_vtable_offset (const function_decl &f) |
| Get the vtable offset of a member function.
|
|
ssize_t | get_member_function_vtable_offset (const function_decl_sptr &f) |
| Get the vtable offset of a member function.
|
|
bool | get_member_is_static (const decl_base &d) |
| Gets a flag saying if a class member is static or not.
|
|
bool | get_member_is_static (const decl_base *d) |
| Gets a flag saying if a class member is static or not.
|
|
bool | get_member_is_static (const decl_base_sptr &d) |
| Gets a flag saying if a class member is static or not.
|
|
interned_string | get_method_type_name (const method_type &fn_type, bool internal) |
| Get the name of a given method type and return a copy of it.
|
|
interned_string | get_method_type_name (const method_type *fn_type, bool internal) |
| Get the name of a given method type and return a copy of it.
|
|
interned_string | get_method_type_name (const method_type_sptr &, bool internal=false) |
|
string | get_name (const type_or_decl_base *tod, bool qualified) |
| Build and return a copy of the name of an ABI artifact that is either a type or a decl.
|
|
string | get_name (const type_or_decl_base_sptr &tod, bool qualified) |
| Build and return a copy of the name of an ABI artifact that is either a type of a decl.
|
|
interned_string | get_name_of_pointer_to_type (const type_base &pointed_to_type, bool qualified, bool internal) |
| Get the name of the pointer to a given type.
|
|
interned_string | get_name_of_reference_to_type (const type_base &pointed_to_type, bool lvalue_reference, bool qualified, bool internal) |
| Get the name of the reference to a given type.
|
|
const location & | get_natural_or_artificial_location (const decl_base *decl) |
| Get the non-artificial (natural) location of a decl.
|
|
const var_decl_sptr | get_next_data_member (const class_or_union_sptr &klass, const var_decl_sptr &data_member) |
| In the context of a given class or union, this function returns the data member that is located after a given data member.
|
|
bool | get_next_data_member_offset (const class_or_union *klass, const var_decl_sptr &dm, uint64_t &offset) |
| Get the offset of the non-static data member that comes after a given one.
|
|
bool | get_next_data_member_offset (const class_or_union_sptr &klass, const var_decl_sptr &dm, uint64_t &offset) |
| Get the offset of the non-static data member that comes after a given one.
|
|
string | get_pretty_representation (const decl_base *d, bool internal) |
| Get a copy of the pretty representation of a decl.
|
|
string | get_pretty_representation (const decl_base_sptr &d, bool internal) |
| Get a copy of the pretty representation of a decl.
|
|
string | get_pretty_representation (const function_type &fn_type, bool internal) |
| Get the pretty representation of a function type.
|
|
string | get_pretty_representation (const function_type *fn_type, bool internal) |
| Get the pretty representation of a function type.
|
|
string | get_pretty_representation (const function_type_sptr &fn_type, bool internal) |
| Get the pretty representation of a function type.
|
|
string | get_pretty_representation (const method_type &method, bool internal) |
| Get the pretty representation of a method type.
|
|
string | get_pretty_representation (const method_type *method, bool internal) |
| Get the pretty representation of a method type.
|
|
string | get_pretty_representation (const method_type_sptr &, bool internal=false) |
|
string | get_pretty_representation (const type_base *t, bool internal) |
| Get a copy of the pretty representation of a type.
|
|
string | get_pretty_representation (const type_base_sptr &t, bool internal) |
| Get a copy of the pretty representation of a type.
|
|
string | get_pretty_representation (const type_or_decl_base *tod, bool internal) |
| Build and return a copy of the pretty representation of an ABI artifact that could be either a type of a decl.
|
|
string | get_pretty_representation (const type_or_decl_base_sptr &tod, bool internal) |
| Build and return a copy of the pretty representation of an ABI artifact that could be either a type of a decl.
|
|
const scope_decl * | get_top_most_scope_under (const decl_base *decl, const scope_decl *scope) |
| Return the a scope S containing a given declaration and that is right under a given scope P.
|
|
const scope_decl * | get_top_most_scope_under (const decl_base_sptr decl, const scope_decl *scope) |
| Return the a scope S containing a given declaration and that is right under a given scope P.
|
|
const scope_decl * | get_top_most_scope_under (const decl_base_sptr decl, const scope_decl_sptr scope) |
| Return the a scope S containing a given declaration and that is right under a given scope P.
|
|
translation_unit * | get_translation_unit (const decl_base &decl) |
| Return the translation unit a declaration belongs to.
|
|
translation_unit * | get_translation_unit (const decl_base *decl) |
| Return the translation unit a declaration belongs to.
|
|
translation_unit * | get_translation_unit (const decl_base_sptr) |
|
const decl_base * | get_type_declaration (const type_base *t) |
| Get the declaration for a given type.
|
|
decl_base_sptr | get_type_declaration (const type_base_sptr t) |
| Get the declaration for a given type.
|
|
decl_base * | get_type_declaration (type_base *t) |
| Get the declaration for a given type.
|
|
interned_string | get_type_name (const type_base &t, bool qualified, bool internal) |
| Get the name of a given type and return a copy of it.
|
|
interned_string | get_type_name (const type_base *t, bool qualified, bool internal) |
| Get the name of a given type and return a copy of it.
|
|
interned_string | get_type_name (const type_base_sptr &t, bool qualified, bool internal) |
| Get the name of a given type and return a copy of it.
|
|
scope_decl * | get_type_scope (const type_base_sptr &t) |
| Get the scope of a given type.
|
|
scope_decl * | get_type_scope (type_base *t) |
| Get the scope of a given type.
|
|
uint64_t | get_var_size_in_bits (const var_decl_sptr &v) |
| Get the size of a given variable.
|
|
bool | has_scope (const decl_base &d) |
| Tests if a declaration has got a scope.
|
|
bool | has_scope (const decl_base_sptr d) |
| Tests if a declaration has got a scope.
|
|
size_t | hash_type (const type_base *t) |
| Hash an ABI artifact that is either a type.
|
|
size_t | hash_type_or_decl (const type_or_decl_base *tod) |
| Hash an ABI artifact that is either a type or a decl.
|
|
size_t | hash_type_or_decl (const type_or_decl_base_sptr &tod) |
| Hash an ABI artifact that is either a type of a decl.
|
|
decl_base_sptr | insert_decl_into_scope (decl_base_sptr, vector< decl_base_sptr >::iterator, scope_decl *) |
|
decl_base_sptr | insert_decl_into_scope (decl_base_sptr, vector< decl_base_sptr >::iterator, scope_decl_sptr) |
|
bool | is_anonymous_data_member (const decl_base &d) |
| Test if a decl is an anonymous data member.
|
|
const var_decl * | is_anonymous_data_member (const decl_base *d) |
| Test if a decl is an anonymous data member.
|
|
var_decl_sptr | is_anonymous_data_member (const decl_base_sptr &d) |
| Test if a decl is an anonymous data member.
|
|
const var_decl * | is_anonymous_data_member (const type_or_decl_base *d) |
| Test if a decl is an anonymous data member.
|
|
var_decl_sptr | is_anonymous_data_member (const type_or_decl_base_sptr &d) |
| Test if a decl is an anonymous data member.
|
|
bool | is_anonymous_data_member (const var_decl &d) |
| Test if a var_decl is an anonymous data member.
|
|
const var_decl * | is_anonymous_data_member (const var_decl *d) |
| Test if a var_decl is an anonymous data member.
|
|
var_decl_sptr | is_anonymous_data_member (const var_decl_sptr &d) |
| Test if a var_decl is an anonymous data member.
|
|
bool | is_anonymous_or_typedef_named (const decl_base &d) |
| Test if a given decl is anonymous or has a naming typedef.
|
|
bool | is_anonymous_type (const type_base *t) |
| Test whether a declaration is a type.
|
|
bool | is_anonymous_type (const type_base_sptr &t) |
| Test if a given type is anonymous.
|
|
qualified_type_def_sptr | is_array_of_qualified_element (const array_type_def_sptr &array) |
| Tests if the element of a given array is a qualified type.
|
|
array_type_def_sptr | is_array_of_qualified_element (const type_base_sptr &type) |
| Test if an array type is an array to a qualified element type.
|
|
array_type_def * | is_array_type (const type_or_decl_base *type) |
| Test if a type is an array_type_def.
|
|
array_type_def_sptr | is_array_type (const type_or_decl_base_sptr &type) |
| Test if a type is an array_type_def.
|
|
class_or_union * | is_at_class_scope (const decl_base &decl) |
| Tests whether a given decl is at class scope.
|
|
class_or_union * | is_at_class_scope (const decl_base *decl) |
| Tests whether a given decl is at class scope.
|
|
class_or_union * | is_at_class_scope (const decl_base_sptr decl) |
| Tests whether a given decl is at class scope.
|
|
bool | is_at_global_scope (const decl_base &decl) |
| Tests whether a given declaration is at global scope.
|
|
bool | is_at_global_scope (const decl_base *decl) |
| Tests whether a given declaration is at global scope.
|
|
bool | is_at_global_scope (const decl_base_sptr decl) |
| Tests whether a given declaration is at global scope.
|
|
bool | is_at_template_scope (const decl_base_sptr) |
|
class_or_union * | is_class_or_union_type (const type_or_decl_base *t) |
| Test if a type is a class_or_union.
|
|
class_or_union_sptr | is_class_or_union_type (const type_or_decl_base_sptr &) |
|
bool | is_class_type (const type_or_decl_base &t) |
| Test whether a type is a class.
|
|
class_decl * | is_class_type (const type_or_decl_base *t) |
| Test whether a type is a class.
|
|
class_decl_sptr | is_class_type (const type_or_decl_base_sptr &d) |
| Test whether a type is a class.
|
|
class_decl_sptr | is_compatible_with_class_type (const decl_base_sptr &t) |
| Test if a type is a class. This function looks through typedefs.
|
|
class_decl_sptr | is_compatible_with_class_type (const type_base_sptr &t) |
| Test if a type is a class. This function looks through typedefs.
|
|
enum_type_decl_sptr | is_compatible_with_enum_type (const decl_base_sptr &t) |
| Test if a type is an enum. This function looks through typedefs.
|
|
enum_type_decl_sptr | is_compatible_with_enum_type (const type_base_sptr &t) |
| Test if a type is an enum. This function looks through typedefs.
|
|
var_decl * | is_data_member (const decl_base *d) |
| Test if a decl is a data member.
|
|
var_decl_sptr | is_data_member (const decl_base_sptr &d) |
| Test if a decl is a data member.
|
|
var_decl * | is_data_member (const type_or_decl_base *d) |
| Test if a decl is a data member.
|
|
var_decl_sptr | is_data_member (const type_or_decl_base_sptr &d) |
| Test if a decl is a data member.
|
|
bool | is_data_member (const var_decl &v) |
| Test if a var_decl is a data member.
|
|
bool | is_data_member (const var_decl *v) |
| Test if a var_decl is a data member.
|
|
bool | is_data_member (const var_decl_sptr d) |
| Test if a var_decl is a data member.
|
|
decl_base * | is_decl (const type_or_decl_base *d) |
| Test if an ABI artifact is a declaration.
|
|
decl_base_sptr | is_decl (const type_or_decl_base_sptr &d) |
| Test if an ABI artifact is a declaration.
|
|
decl_base * | is_decl_slow (const type_or_decl_base *t) |
| Test if an ABI artifact is a declaration.
|
|
decl_base_sptr | is_decl_slow (const type_or_decl_base_sptr &t) |
| Test if an ABI artifact is a declaration.
|
|
bool | is_declaration_only_class_or_union_type (const type_base *t) |
| Test wheter a type is a declaration-only class.
|
|
bool | is_declaration_only_class_or_union_type (const type_base_sptr &) |
|
const enum_type_decl * | is_enum_type (const type_or_decl_base *d) |
| Test if a decl is an enum_type_decl.
|
|
enum_type_decl_sptr | is_enum_type (const type_or_decl_base_sptr &d) |
| Test if a decl is an enum_type_decl.
|
|
bool | is_function_decl (const type_or_decl_base &d) |
| Test whether a declaration is a function_decl.
|
|
function_decl * | is_function_decl (const type_or_decl_base *d) |
| Test whether a declaration is a function_decl.
|
|
function_decl_sptr | is_function_decl (const type_or_decl_base_sptr &d) |
| Test whether a declaration is a function_decl.
|
|
bool | is_function_template_pattern (const decl_base_sptr) |
|
const function_type * | is_function_type (const type_or_decl_base *t) |
| Test whether a type is a function_type.
|
|
function_type_sptr | is_function_type (const type_or_decl_base_sptr &t) |
| Test whether a type is a function_type.
|
|
function_type * | is_function_type (type_or_decl_base *t) |
| Test whether a type is a function_type.
|
|
bool | is_global_scope (const scope_decl &scope) |
| Tests whether if a given scope is the global scope.
|
|
const global_scope * | is_global_scope (const scope_decl *scope) |
| Tests whether if a given scope is the global scope.
|
|
bool | is_global_scope (const scope_decl_sptr) |
|
type_decl * | is_integral_type (const type_or_decl_base *t) |
| Test if a type is an integral type.
|
|
type_decl_sptr | is_integral_type (const type_or_decl_base_sptr &t) |
| Test if a type is an integral type.
|
|
bool | is_member_decl (const decl_base &d) |
| Tests if a declaration is a class member.
|
|
bool | is_member_decl (const decl_base *d) |
| Tests if a declaration is a class member.
|
|
bool | is_member_decl (const decl_base_sptr d) |
| Tests if a declaration is a class member.
|
|
bool | is_member_function (const function_decl &f) |
| Test whether a function_decl is a member function.
|
|
bool | is_member_function (const function_decl *f) |
| Test whether a function_decl is a member function.
|
|
bool | is_member_function (const function_decl_sptr &f) |
| Test whether a function_decl is a member function.
|
|
bool | is_member_type (const type_base_sptr &t) |
| Tests if a type is a class member.
|
|
const method_type * | is_method_type (const type_or_decl_base *t) |
| Test whether a type is a method_type.
|
|
method_type_sptr | is_method_type (const type_or_decl_base_sptr &t) |
| Test whether a type is a method_type.
|
|
method_type * | is_method_type (type_or_decl_base *t) |
| Test whether a type is a method_type.
|
|
namespace_decl * | is_namespace (const decl_base *d) |
| Tests if a declaration is a namespace declaration.
|
|
namespace_decl_sptr | is_namespace (const decl_base_sptr &d) |
| Tests if a declaration is a namespace declaration.
|
|
bool | is_non_canonicalized_type (const type_base *t) |
| Test if a given type is allowed to be non canonicalized.
|
|
bool | is_non_canonicalized_type (const type_base_sptr &t) |
| Test if a given type is allowed to be non canonicalized.
|
|
const pointer_type_def * | is_pointer_type (const type_or_decl_base *t) |
| Test whether a type is a pointer_type_def.
|
|
pointer_type_def_sptr | is_pointer_type (const type_or_decl_base_sptr &t) |
| Test whether a type is a pointer_type_def.
|
|
pointer_type_def * | is_pointer_type (type_or_decl_base *t) |
| Test whether a type is a pointer_type_def.
|
|
qualified_type_def * | is_qualified_type (const type_or_decl_base *t) |
| Test whether a type is a reference_type_def.
|
|
qualified_type_def_sptr | is_qualified_type (const type_or_decl_base_sptr &t) |
| Test whether a type is a qualified_type_def.
|
|
const reference_type_def * | is_reference_type (const type_or_decl_base *t) |
| Test whether a type is a reference_type_def.
|
|
reference_type_def_sptr | is_reference_type (const type_or_decl_base_sptr &t) |
| Test whether a type is a reference_type_def.
|
|
reference_type_def * | is_reference_type (type_or_decl_base *t) |
| Test whether a type is a reference_type_def.
|
|
scope_decl_sptr | is_scope_decl (const decl_base_sptr &d) |
| Test if a declaration is a scope_decl.
|
|
scope_decl * | is_scope_decl (decl_base *d) |
| Test if a declaration is a scope_decl.
|
|
bool | is_template_decl (const decl_base_sptr) |
|
bool | is_template_parameter (const decl_base_sptr) |
|
bool | is_template_parm_composition_type (const decl_base_sptr) |
|
bool | is_type (const type_or_decl_base &tod) |
| Test whether a declaration is a type.
|
|
type_base * | is_type (const type_or_decl_base *t) |
| Test whether a declaration is a type.
|
|
type_base_sptr | is_type (const type_or_decl_base_sptr &tod) |
| Test whether a declaration is a type.
|
|
const type_decl * | is_type_decl (const type_or_decl_base *t) |
| Test whether a type is a type_decl (a builtin type).
|
|
type_decl_sptr | is_type_decl (const type_or_decl_base_sptr &t) |
| Test whether a type is a type_decl (a builtin type).
|
|
const typedef_decl * | is_typedef (const type_base *t) |
| Test whether a type is a typedef.
|
|
typedef_decl_sptr | is_typedef (const type_or_decl_base_sptr t) |
| Test whether a type is a typedef.
|
|
typedef_decl * | is_typedef (type_base *t) |
| Test whether a type is a typedef.
|
|
array_type_def_sptr | is_typedef_of_array (const type_base_sptr &t) |
| Test if a type is a typedef of an array.
|
|
bool | is_union_type (const type_or_decl_base &t) |
| Test if a type is a union_decl.
|
|
union_decl * | is_union_type (const type_or_decl_base *t) |
| Test if a type is a union_decl.
|
|
union_decl_sptr | is_union_type (const type_or_decl_base_sptr &) |
|
bool | is_user_defined_type (const type_base *t) |
| Test if a type is user-defined.
|
|
bool | is_user_defined_type (const type_base_sptr &t) |
| Test if a type is user-defined.
|
|
var_decl * | is_var_decl (const type_or_decl_base *tod) |
| Tests if a declaration is a variable declaration.
|
|
var_decl_sptr | is_var_decl (const type_or_decl_base_sptr &decl) |
| Tests if a declaration is a variable declaration.
|
|
const type_base * | is_void_pointer_type (const type_base &type) |
| Test if a type is a pointer to void type.
|
|
const type_base * | is_void_pointer_type (const type_base *type) |
| Test if a type is a pointer to void type.
|
|
void | keep_type_alive (type_base_sptr t) |
| Make sure that the life time of a given (smart pointer to a) type is the same as the life time of the libabigail library.
|
|
decl_base_sptr | look_through_decl_only (const decl_base &d) |
| If a decl is decl-only get its definition. Otherwise, just return nil.
|
|
decl_base_sptr | look_through_decl_only (const decl_base_sptr &d) |
| If a decl is decl-only get its definition. Otherwise, just return nil.
|
|
decl_base * | look_through_decl_only (decl_base *d) |
| If a decl is decl-only enum, get its definition. Otherwise, just return the initial decl.
|
|
class_or_union * | look_through_decl_only_class (class_or_union *the_class) |
| If a class (or union) is a decl-only class, get its definition. Otherwise, just return the initial class.
|
|
class_or_union_sptr | look_through_decl_only_class (class_or_union_sptr klass) |
| If a class (or union) is a decl-only class, get its definition. Otherwise, just return the initial class.
|
|
class_or_union_sptr | look_through_decl_only_class (const class_or_union &the_class) |
| If a class (or union) is a decl-only class, get its definition. Otherwise, just return the initial class.
|
|
enum_type_decl_sptr | look_through_decl_only_enum (const enum_type_decl &the_enum) |
| If an enum is a decl-only enum, get its definition. Otherwise, just return the initial enum.
|
|
enum_type_decl_sptr | look_through_decl_only_enum (enum_type_decl_sptr enom) |
| If an enum is a decl-only enum, get its definition. Otherwise, just return the initial enum.
|
|
array_type_def_sptr | lookup_array_type (const array_type_def &, const translation_unit &) |
|
array_type_def_sptr | lookup_array_type (const array_type_def &t, const corpus &corp) |
| Look into a given corpus to find an array type which has a given qualified name.
|
|
array_type_def_sptr | lookup_array_type (const interned_string &qualified_name, const corpus &corp) |
| Look into a given corpus to find an array type which has the same qualified name as a given array type.
|
|
array_type_def_sptr | lookup_array_type (const string &, const translation_unit &) |
|
type_decl_sptr | lookup_basic_type (const interned_string &qualified_name, const corpus &corp) |
| Look into a given corpus to find a basic type which has a given qualified name.
|
|
type_decl_sptr | lookup_basic_type (const interned_string &type_name, const translation_unit &tu) |
| Lookup a basic type from a translation unit.
|
|
type_decl_sptr | lookup_basic_type (const string &qualified_name, const corpus &corp) |
| Look into a given corpus to find a basic type which has a given qualified name.
|
|
type_decl_sptr | lookup_basic_type (const string &type_name, const translation_unit &tu) |
| Lookup a basic type from a translation unit.
|
|
type_decl_sptr | lookup_basic_type (const type_decl &, const translation_unit &) |
|
type_decl_sptr | lookup_basic_type (const type_decl &t, const corpus &corp) |
| Look into a given corpus to find a type which has the same qualified name as a giventype.
|
|
type_decl_sptr | lookup_basic_type_per_location (const interned_string &loc, const corpus &corp) |
| Lookup a type_decl type from a given corpus, by its location.
|
|
type_decl_sptr | lookup_basic_type_per_location (const string &loc, const corpus &corp) |
| Lookup a type_decl type from a given corpus, by its location.
|
|
type_base_sptr | lookup_class_or_typedef_type (const string &, const translation_unit &) |
|
type_base_sptr | lookup_class_or_typedef_type (const string &qualified_name, const corpus &corp) |
| Look into a corpus to find a class, union or typedef type which has a given qualified name.
|
|
class_decl_sptr | lookup_class_type (const class_decl &, const translation_unit &) |
|
class_decl_sptr | lookup_class_type (const class_decl &t, const corpus &corp) |
| Look into a given corpus to find a class type which has the same qualified name as a given type.
|
|
class_decl_sptr | lookup_class_type (const interned_string &qualified_name, const corpus &corp) |
| Look into a given corpus to find a class type which has a given qualified name.
|
|
class_decl_sptr | lookup_class_type (const interned_string &type_name, const translation_unit &tu) |
| Lookup a class type from a translation unit.
|
|
class_decl_sptr | lookup_class_type (const string &fqn, const translation_unit &tu) |
| Lookup a class type from a translation unit.
|
|
class_decl_sptr | lookup_class_type (const string &qualified_name, const corpus &corp) |
| Look into a given corpus to find a class type which has a given qualified name.
|
|
class_decl_sptr | lookup_class_type_per_location (const interned_string &loc, const corpus &corp) |
| Look up a class_decl from a given corpus by its location.
|
|
class_decl_sptr | lookup_class_type_per_location (const string &loc, const corpus &corp) |
| Look up a class_decl from a given corpus by its location.
|
|
class_decl_sptr | lookup_class_type_through_scopes (const std::list< string > &, const translation_unit &) |
|
type_base_sptr | lookup_class_typedef_or_enum_type (const string &, const translation_unit &) |
|
type_base_sptr | lookup_class_typedef_or_enum_type (const string &qualified_name, const corpus &corp) |
| Look into a corpus to find a class, typedef or enum type which has a given qualified name.
|
|
const type_base_wptrs_type * | lookup_class_types (const interned_string &qualified_name, const corpus &corp) |
| Look into a given corpus to find the class type*s* that have a given qualified name.
|
|
const type_base_wptrs_type * | lookup_class_types (const string &qualified_name, const corpus &corp) |
| Look into a given corpus to find the class type*s* that have a given qualified name.
|
|
bool | lookup_decl_only_class_types (const interned_string &qualified_name, const corpus &corp, type_base_wptrs_type &result) |
| Look into a given corpus to find the class type*s* that have a given qualified name and that are declaration-only.
|
|
enum_type_decl_sptr | lookup_enum_type (const enum_type_decl &, const translation_unit &) |
|
enum_type_decl_sptr | lookup_enum_type (const enum_type_decl &t, const corpus &corp) |
| Look into a given corpus to find an enum type which has the same qualified name as a given enum type.
|
|
enum_type_decl_sptr | lookup_enum_type (const interned_string &qualified_name, const corpus &corp) |
| Look into a given corpus to find an enum type which has a given qualified name.
|
|
enum_type_decl_sptr | lookup_enum_type (const string &qualified_name, const corpus &corp) |
| Look into a given corpus to find an enum type which has a given qualified name.
|
|
enum_type_decl_sptr | lookup_enum_type (const string &type_name, const translation_unit &tu) |
| Lookup an enum type from a translation unit.
|
|
enum_type_decl_sptr | lookup_enum_type_per_location (const interned_string &loc, const corpus &corp) |
| Look up an enum_type_decl from a given corpus, by its location.
|
|
enum_type_decl_sptr | lookup_enum_type_per_location (const string &loc, const corpus &corp) |
| Look up an enum_type_decl from a given corpus, by its location.
|
|
const type_base_wptrs_type * | lookup_enum_types (const interned_string &qualified_name, const corpus &corp) |
| Look into a given corpus to find the enum type*s* that have a given qualified name.
|
|
const type_base_wptrs_type * | lookup_enum_types (const string &qualified_name, const corpus &corp) |
| Look into a given corpus to find the enum type*s* that have a given qualified name.
|
|
function_type_sptr | lookup_function_type (const function_type &t, const corpus &corp) |
| Look into a given corpus to find a function type which has the same qualified name as a given function type.
|
|
function_type_sptr | lookup_function_type (const function_type &t, const translation_unit &tu) |
| Lookup a function type from a translation unit.
|
|
function_type_sptr | lookup_function_type (const function_type_sptr &fn_t, const corpus &corpus) |
| Look into a given corpus to find a function type which has the same qualified name as a given function type.
|
|
function_type_sptr | lookup_function_type (const function_type_sptr &t, const translation_unit &tu) |
| Lookup a function type from a translation unit.
|
|
function_type_sptr | lookup_function_type (const interned_string &qualified_name, const corpus &corp) |
| Look into a given corpus to find a function type which has a given qualified name.
|
|
function_type_sptr | lookup_function_type (const interned_string &type_name, const translation_unit &tu) |
| Lookup a function type from a translation unit.
|
|
function_type_sptr | lookup_function_type (const string &, const translation_unit &) |
|
function_type_sptr | lookup_or_synthesize_fn_type (const function_type_sptr &fn_t, const corpus &corpus) |
| Look into an ABI corpus for a function type.
|
|
pointer_type_def_sptr | lookup_pointer_type (const interned_string &qualified_name, const corpus &corp) |
| Look into a given corpus to find a pointer type which has a given qualified name.
|
|
pointer_type_def_sptr | lookup_pointer_type (const pointer_type_def &, const translation_unit &) |
|
pointer_type_def_sptr | lookup_pointer_type (const pointer_type_def &t, const corpus &corp) |
| Look into a given corpus to find a pointer type which has the same qualified name as a given pointer type.
|
|
pointer_type_def_sptr | lookup_pointer_type (const string &type_name, const translation_unit &tu) |
| Lookup a pointer type from a translation unit.
|
|
pointer_type_def_sptr | lookup_pointer_type (const type_base_sptr &pointed_to_type, const translation_unit &tu) |
| Lookup a pointer type from a translation unit.
|
|
qualified_type_def_sptr | lookup_qualified_type (const interned_string &qualified_name, const corpus &corp) |
| Look into a given corpus to find a qualified type which has a given qualified name.
|
|
qualified_type_def_sptr | lookup_qualified_type (const qualified_type_def &, const translation_unit &) |
|
qualified_type_def_sptr | lookup_qualified_type (const qualified_type_def &t, const corpus &corp) |
| Look into a given corpus to find a qualified type which has the same qualified name as a given type.
|
|
qualified_type_def_sptr | lookup_qualified_type (const string &, const translation_unit &) |
|
reference_type_def_sptr | lookup_reference_type (const interned_string &qualified_name, const corpus &corp) |
| Look into a given corpus to find a reference type which has a given qualified name.
|
|
const reference_type_def_sptr | lookup_reference_type (const reference_type_def &, const translation_unit &) |
|
reference_type_def_sptr | lookup_reference_type (const reference_type_def &t, const corpus &corp) |
| Look into a given corpus to find a reference type which has the same qualified name as a given reference type.
|
|
const reference_type_def_sptr | lookup_reference_type (const string &, const translation_unit &) |
|
const reference_type_def_sptr | lookup_reference_type (const type_base_sptr &pointed_to_type, bool lvalue_reference, const translation_unit &tu) |
| Lookup a reference type from a translation unit.
|
|
type_base_sptr | lookup_type (const interned_string &n, const corpus &corp) |
| Look into a given corpus to find a type which has a given qualified name.
|
|
type_base_sptr | lookup_type (const string &fqn, const translation_unit &tu) |
| Lookup a type in a translation unit, starting from the global namespace.
|
|
type_base_sptr | lookup_type (const type_base &t, const corpus &corp) |
| Look into a given corpus to find a type.
|
|
type_base_sptr | lookup_type (const type_base_sptr &t, const corpus &corp) |
| Look into a given corpus to find a type.
|
|
const type_base_sptr | lookup_type (const type_base_sptr type, const translation_unit &tu) |
| Lookup a type from a translation unit.
|
|
type_base_sptr | lookup_type_from_translation_unit (const string &type_name, const string &tu_path, const corpus &corp) |
| Lookup a type from a given translation unit present in a give corpus.
|
|
const type_base_sptr | lookup_type_in_scope (const std::list< string > &, const scope_decl_sptr &) |
|
const type_base_sptr | lookup_type_in_scope (const string &fqn, const scope_decl_sptr &skope) |
| Lookup a type in a scope.
|
|
type_base_sptr | lookup_type_per_location (const interned_string &loc, const corpus &corp) |
| Lookup a type from a corpus, by its location.
|
|
type_base_sptr | lookup_type_through_scopes (const std::list< string > &, const translation_unit &) |
|
type_base_sptr | lookup_type_through_translation_units (const string &qn, const corpus &abi_corpus) |
| Lookup a type definition in all the translation units of a given ABI corpus.
|
|
typedef_decl_sptr | lookup_typedef_type (const interned_string &qualified_name, const corpus &corp) |
| Look into a given corpus to find a typedef type which has a given qualified name.
|
|
typedef_decl_sptr | lookup_typedef_type (const interned_string &type_name, const translation_unit &tu) |
| Lookup a typedef type from a translation unit.
|
|
typedef_decl_sptr | lookup_typedef_type (const string &qualified_name, const corpus &corp) |
| Look into a given corpus to find a typedef type which has the same qualified name as a given typedef type.
|
|
typedef_decl_sptr | lookup_typedef_type (const string &type_name, const translation_unit &tu) |
| Lookup a typedef type from a translation unit.
|
|
typedef_decl_sptr | lookup_typedef_type (const typedef_decl &, const translation_unit &) |
|
typedef_decl_sptr | lookup_typedef_type (const typedef_decl &t, const corpus &corp) |
| Look into a given corpus to find a typedef type which has the same qualified name as a given typedef type.
|
|
typedef_decl_sptr | lookup_typedef_type_per_location (const interned_string &loc, const corpus &corp) |
| Lookup a typedef_decl from a corpus, by its location.
|
|
typedef_decl_sptr | lookup_typedef_type_per_location (const string &loc, const corpus &corp) |
| Lookup a typedef_decl from a corpus, by its location.
|
|
union_decl_sptr | lookup_union_type (const interned_string &type_name, const corpus &corp) |
| Look into a given corpus to find a union type which has a given qualified name.
|
|
union_decl_sptr | lookup_union_type (const interned_string &type_name, const translation_unit &tu) |
| Lookup a union type from a translation unit.
|
|
union_decl_sptr | lookup_union_type (const string &type_name, const corpus &corp) |
| Look into a given corpus to find a union type which has a given qualified name.
|
|
union_decl_sptr | lookup_union_type_per_location (const interned_string &loc, const corpus &corp) |
| Lookup a union type in a given corpus, from its location.
|
|
union_decl_sptr | lookup_union_type_per_location (const string &loc, const corpus &corp) |
| Lookup a union type in a given corpus, from its location.
|
|
const type_base_wptrs_type * | lookup_union_types (const interned_string &qualified_name, const corpus &corp) |
| Look into a given corpus to find the union type*s* that have a given qualified name.
|
|
const type_base_wptrs_type * | lookup_union_types (const string &qualified_name, const corpus &corp) |
| Look into a given corpus to find the union types that have a given qualified name.
|
|
const decl_base_sptr | lookup_var_decl_in_scope (const std::list< string > &comps, const scope_decl_sptr &skope) |
| lookup a var_decl in a scope.
|
|
const decl_base_sptr | lookup_var_decl_in_scope (const string &fqn, const scope_decl_sptr &skope) |
| Lookup a var_decl in a scope.
|
|
bool | member_function_has_vtable_offset (const function_decl &f) |
| Test if a virtual member function has a vtable offset set.
|
|
bool | odr_is_relevant (const type_or_decl_base &artifact) |
| By looking at the language of the TU a given ABI artifact belongs to, test if the ONE Definition Rule should apply.
|
|
const type_base * | peel_array_type (const type_base *type) |
| Return the leaf element type of an array.
|
|
const type_base_sptr | peel_array_type (const type_base_sptr &type) |
| Return the leaf element type of an array.
|
|
type_base * | peel_pointer_or_reference_type (const type_base *type, bool peel_qual_type) |
| Return the leaf underlying or pointed-to type node of a, pointer_type_def, reference_type_def or qualified_type_def type node.
|
|
const type_base * | peel_pointer_type (const type_base *type) |
| Return the leaf pointed-to type node of a pointer_type_def node.
|
|
type_base_sptr | peel_pointer_type (const type_base_sptr &type) |
| Return the leaf pointed-to type node of a pointer_type_def node.
|
|
type_base * | peel_qualified_or_typedef_type (const type_base *type) |
| Return the leaf underlying type of a qualified or typedef type.
|
|
type_base_sptr | peel_qualified_or_typedef_type (const type_base_sptr &t) |
| Return the leaf underlying type of a qualified or typedef type.
|
|
const type_base * | peel_qualified_type (const type_base *type) |
| Return the leaf underlying type of a qualified type.
|
|
const type_base_sptr | peel_qualified_type (const type_base_sptr &type) |
| Return the leaf underlying type of a qualified type.
|
|
const type_base * | peel_reference_type (const type_base *type) |
| Return the leaf pointed-to type node of a reference_type_def node.
|
|
type_base_sptr | peel_reference_type (const type_base_sptr &type) |
| Return the leaf pointed-to type node of a reference_type_def node.
|
|
type_base * | peel_typedef_pointer_or_reference_type (const type_base *type) |
| Return the leaf underlying or pointed-to type node of a typedef_decl, pointer_type_def or reference_type_def node.
|
|
type_base * | peel_typedef_pointer_or_reference_type (const type_base *type, bool peel_qual_type) |
| Return the leaf underlying or pointed-to type node of a typedef_decl, pointer_type_def or reference_type_def node.
|
|
type_base_sptr | peel_typedef_pointer_or_reference_type (const type_base_sptr type) |
| Return the leaf underlying or pointed-to type node of a typedef_decl, pointer_type_def, reference_type_def, or array_type_def node.
|
|
const type_base * | peel_typedef_type (const type_base *type) |
| Return the leaf underlying type node of a typedef_decl node.
|
|
type_base_sptr | peel_typedef_type (const type_base_sptr &type) |
| Return the leaf underlying type node of a typedef_decl node.
|
|
void | remove_decl_from_scope (decl_base_sptr decl) |
| Remove a given decl from its scope.
|
|
bool | scope_anonymous_or_typedef_named (const decl_base &d) |
| Test if the scope of a given decl is anonymous or anonymous with a naming typedef.
|
|
void | set_data_member_is_laid_out (var_decl_sptr m, bool l) |
| Set a flag saying if a data member is laid out.
|
|
void | set_data_member_offset (var_decl_sptr m, uint64_t o) |
| Set the offset of a data member into its containing class.
|
|
void | set_member_function_is_const (const function_decl_sptr &f, bool is_const) |
| set the const-ness property of a member function.
|
|
void | set_member_function_is_const (function_decl &f, bool is_const) |
| set the const-ness property of a member function.
|
|
void | set_member_function_is_ctor (const function_decl &, bool) |
|
void | set_member_function_is_ctor (const function_decl_sptr &f, bool c) |
| Setter for the is_ctor property of the member function.
|
|
void | set_member_function_is_dtor (const function_decl_sptr &f, bool d) |
| Set the destructor-ness property of a member function.
|
|
void | set_member_function_is_dtor (function_decl &f, bool d) |
| Set the destructor-ness property of a member function.
|
|
void | set_member_function_is_virtual (const function_decl_sptr &fn, bool is_virtual) |
| Set the virtual-ness of a member function.
|
|
void | set_member_function_is_virtual (function_decl &f, bool is_virtual) |
| Set the virtual-ness of a member function.
|
|
void | set_member_function_vtable_offset (const function_decl &f, ssize_t s) |
|
void | set_member_function_vtable_offset (const function_decl_sptr &f, ssize_t s) |
| Get the vtable offset of a member function.
|
|
void | set_member_is_static (const decl_base_sptr &d, bool s) |
| Sets the static-ness property of a class member.
|
|
void | set_member_is_static (decl_base &d, bool s) |
| Sets the static-ness property of a class member.
|
|
void | strip_redundant_quals_from_underyling_types (const qualified_type_def_sptr &t) |
| Merge redundant qualifiers from a tree of qualified types.
|
|
type_base_sptr | strip_typedef (const type_base_sptr type) |
| Recursively returns the the underlying type of a typedef. The return type should not be a typedef of anything anymore.
|
|
decl_base_sptr | strip_useless_const_qualification (const qualified_type_def_sptr t) |
| Strip qualification from a qualified type, when it makes sense.
|
|
function_type_sptr | synthesize_function_type_from_translation_unit (const function_type &fn_type, translation_unit &tu) |
| In a translation unit, lookup the sub-types that make up a given function type and if the sub-types are all found, synthesize and return a function_type with them.
|
|
type_base_sptr | synthesize_type_from_translation_unit (const type_base_sptr &type, translation_unit &tu) |
| In a translation unit, lookup a given type or synthesize it if it's a qualified type.
|
|
type_base * | type_has_non_canonicalized_subtype (type_base_sptr t) |
| Test if a type has sub-types that are non-canonicalized.
|
|
bool | type_has_sub_type_changes (const type_base_sptr t_v1, const type_base_sptr t_v2) |
| Tests if the change of a given type effectively comes from just its sub-types. That is, if the type has changed but its type name hasn't changed, then the change of the type mostly likely is a sub-type change.
|
|
type_base_sptr | type_or_void (const type_base_sptr t, const environment &env) |
| Return either the type given in parameter if it's non-null, or the void type.
|
|
bool | types_are_compatible (const decl_base_sptr d1, const decl_base_sptr d2) |
| Test if two types are equal modulo a typedef.
|
|
bool | types_are_compatible (const type_base_sptr type1, const type_base_sptr type2) |
| Test if two types are equal modulo a typedef.
|
|
bool | types_have_similar_structure (const type_base *first, const type_base *second, bool indirect_type) |
| Test if two types have similar structures, even though they are (or can be) different.
|
|
bool | types_have_similar_structure (const type_base_sptr &first, const type_base_sptr &second, bool indirect_type) |
| Test if two types have similar structures, even though they are (or can be) different.
|
|