Lines Matching defs:reader
40 #include "abg-symtab-reader.h"
45 #include "abg-dwarf-reader.h"
46 #include "abg-elf-based-reader.h"
65 /// The namespace for the DWARF reader.
230 class reader;
233 build_translation_unit_and_add_to_ir(reader& rdr,
238 maybe_propagate_canonical_type(const reader& rdr,
243 propagate_canonical_type(const reader& rdr,
367 get_parent_die(const reader& rdr,
373 get_scope_die(const reader& rdr,
456 die_is_at_class_scope(const reader& rdr,
498 die_location(const reader& rdr, const Dwarf_Die* die);
523 die_qualified_type_name(const reader& rdr,
528 die_qualified_decl_name(const reader& rdr,
533 die_qualified_name(const reader& rdr,
538 die_qualified_type_name_empty(const reader& rdr,
543 die_return_and_parm_names_from_fn_type_die(const reader& rdr,
554 die_function_signature(const reader& rdr,
562 die_function_type_is_method_type(const reader& rdr,
570 die_pretty_print_type(reader& rdr,
575 die_pretty_print_decl(reader& rdr,
580 die_pretty_print(reader& rdr,
586 reader& rdr);
597 build_subrange_type(reader& rdr,
603 build_subranges_from_array_type_die(reader& rdr,
610 compare_dies(const reader& rdr,
615 compare_dies_during_canonicalization(reader& rdr,
1670 class reader;
1672 typedef shared_ptr<reader> reader_sptr;
1674 /// The DWARF reader used to build the ABI corpus from debug info in
1678 /// abigail::dwarf::reader::create().
1679 class reader : public elf_based_reader
1741 /// @param rdr the DWARF reader to consider.
1749 get_container(const reader& rdr, const Dwarf_Die *die)
1758 /// @param rdr the DWARF reader to consider.
1766 get_container(const reader& rdr, const Dwarf_Die *die) const
1865 reader() = delete;
1867 /// Constructor of reader.
1878 /// This environment contains resources needed by the DWARF reader and by
1885 /// reader the context uses resources that are allocated in
1896 reader(const string& elf_path,
1910 /// Initializer of reader.
1912 /// Resets the reader so that it can be re-used to read another binary.
1970 /// Initializer of reader.
1972 /// Resets the reader so that it can be re-used to read another binary.
2004 /// @param environment the environment to be used by the reader.
2021 reader_sptr result(new reader(elf_path, debug_info_root_paths,
2027 /// Destructor of the @ref reader type.
2028 ~reader()
2045 elf::reader::read_corpus(status);
2085 /// This is a sub-routine of abigail::dwarf::reader::read_corpus().
2349 {return const_cast<reader*>(this)->env();}
2379 /// This can be the same as reader::elf_handle() above, if the
2499 ? const_cast<reader*>(this)->canonical_type_die_offsets_.
2501 : const_cast<reader*>(this)->canonical_decl_die_offsets_.
2566 ? (const_cast<reader*>(this)->
2568 : (const_cast<reader*>(this)->
2648 ? const_cast<reader*>(this)->canonical_type_die_offsets_.
2650 : const_cast<reader*>(this)->canonical_decl_die_offsets_.
2665 ? (const_cast<reader*>(this)->
2667 : (const_cast<reader*>(this)->
2693 if (compare_dies_during_canonicalization(const_cast<reader&>(*this),
2740 ? const_cast<reader*>(this)->canonical_type_die_offsets_.
2742 : const_cast<reader*>(this)->canonical_decl_die_offsets_.
2762 ? (const_cast<reader*>(this)->
2764 : (const_cast<reader*>(this)->
2800 if (compare_dies_during_canonicalization(const_cast<reader&>(*this),
3018 reader& rdr = *const_cast<reader*>(this);
3043 return const_cast<reader*>(this)->
3074 die_qualified_name_maps_.get_container(*const_cast<reader*>(this),
3083 reader& rdr = *const_cast<reader*>(this);
3129 die_pretty_type_repr_maps_.get_container(*const_cast<reader*>(this),
3137 reader& rdr = *const_cast<reader*>(this);
3166 die_pretty_repr_maps_.get_container(*const_cast<reader*>(this),
3174 reader& rdr = *const_cast<reader*>(this);
3550 ? const_cast<reader*>(this)->canonical_type_die_offsets_.
3552 : const_cast<reader*>(this)->canonical_decl_die_offsets_.
3620 ? const_cast<reader*>(this)->canonical_type_die_offsets_.
3622 : const_cast<reader*>(this)->canonical_decl_die_offsets_.
3646 ? const_cast<reader*>(this)->canonical_type_die_offsets_.
3648 : const_cast<reader*>(this)->canonical_decl_die_offsets_.
3687 /// reader::associate_die_to_type().
3708 /// reader::associate_die_to_type().
3764 {return const_cast<reader*>(this)->die_wip_classes_map(source);}
3801 {return const_cast<reader*>(this)->die_wip_function_types_map(source);}
4504 /// reader::perform_late_type_canonicalizing().
4636 {return const_cast<reader*>(this)->tu_die_imported_unit_points_map(source);}
4678 {return const_cast<reader*>(this)->die_parent_map(source);}
4783 {return const_cast<Elf_Scn*>(abigail::elf::reader::find_symbol_table_section());}
5405 };// end class reader.
5419 // The DWARF DWARF reader that is useful for so many things.
5420 const reader& rdr_;
5434 offset_pairs_stack_type(const reader& rdr)
5750 build_ir_node_from_die(reader& rdr,
5759 build_ir_node_from_die(reader& rdr,
5765 add_or_update_class_type(reader& rdr,
5775 add_or_update_union_type(reader& rdr,
5784 build_ir_node_for_void_type(reader& rdr);
5787 build_ir_node_for_variadic_parameter_type(reader &rdr);
5790 build_function_decl(reader& rdr,
5796 function_is_suppressed(const reader& rdr,
5802 build_or_get_fn_decl_if_not_suppressed(reader& rdr,
5810 build_var_decl(reader& rdr,
5816 build_or_get_var_decl_if_not_suppressed(reader& rdr,
5823 variable_is_suppressed(const reader& rdr,
5832 reader& rdr);
6182 /// @param rdr the @ref reader to use.
6188 die_location(const reader& rdr, const Dwarf_Die* die)
6220 /// @param rdr the DWARF reader to use.
6230 die_loc_and_name(const reader& rdr,
6352 die_is_effectively_public_decl(const reader& rdr,
6612 maybe_cache_type_comparison_result(const reader& rdr,
6642 get_cached_type_comparison_result(const reader& rdr,
6670 maybe_get_cached_type_comparison_result(const reader& rdr,
7080 /// @param rdr the DWARF reader to use.
7094 die_is_at_class_scope(const reader& rdr,
7234 /// @param rdr the DWARF reader.
7255 die_function_type_is_method_type(const reader& rdr,
8647 /// @param rdr the DWARF reader to consider.
8654 die_member_offset(const reader& rdr,
8908 /// @param rdr the DWARF reader.
8917 die_qualified_type_name(const reader& rdr,
9082 build_subrange_type(const_cast<reader&>(rdr),
9100 build_subranges_from_array_type_die(const_cast<reader&>(rdr),
9168 /// @param rdr the DWARF reader.
9176 die_qualified_decl_name(const reader& rdr,
9229 /// @param rdr the DWARF reader.
9237 die_qualified_name(const reader& rdr, const Dwarf_Die* die, size_t where)
9253 /// @param rdr the DWARF reader.
9264 die_qualified_type_name_empty(const reader& rdr,
9317 /// @param rdr the DWARF reader.
9343 die_return_and_parm_names_from_fn_type_die(const reader& rdr,
9443 /// @param rdr the DWARF reader.
9452 die_function_signature(const reader& rdr,
9566 die_pretty_print_type(reader& rdr,
9733 die_pretty_print_decl(reader& rdr,
9781 /// @param rdr the DWARF reader.
9789 die_pretty_print(reader& rdr, const Dwarf_Die* die, size_t where_offset)
9858 /// @param rdr the DWARF reader to consider.
9867 at_least_one_decl_only_among_odr_relevant_dies(const reader &rdr,
9894 /// @param rdr the DWARF reader to consider.
9902 compare_as_type_dies(const reader& rdr,
9936 /// @param rdr the DWARF reader to consider.
9945 compare_as_decl_and_type_dies(const reader &rdr,
9965 /// @param rdr the @ref reader to consider.
9974 fn_die_equal_by_linkage_name(const reader &rdr,
10015 /// @param rdr the DWARF reader.
10038 try_canonical_die_comparison(const reader& rdr,
10276 maybe_propagate_canonical_type(const reader& rdr,
10305 propagate_canonical_type(const reader& rdr,
10532 /// @param rdr the DWARF reader used to load the DWARF information.
10554 compare_dies(const reader& rdr,
11156 /// @param rdr the DWARF reader used to load the DWARF information.
11171 compare_dies(const reader& rdr,
11183 /// This is a sub-routine of reader::get_canonical_die.
11189 /// @param rdr the DWARF reader.
11200 compare_dies_during_canonicalization(reader& rdr,
11242 /// @param rdr the dwarf reader to consider.
11274 find_import_unit_point_between_dies(const reader& rdr,
11359 /// @param rdr the dwarf reader to consider.
11377 find_import_unit_point_before_die(const reader& rdr,
11421 /// @param rdr the DWARF reader to consider.
11436 get_parent_die(const reader& rdr,
11516 /// @param rdr the DWARF reader to use.
11525 get_scope_die(const reader& rdr,
11564 /// @param rdr the dwarf reader to use.
11576 get_scope_for_die(reader& rdr,
11888 /// @param rdr the DWARF reader to use.
11897 build_translation_unit_and_add_to_ir(reader& rdr,
12038 /// @param rdr the DWARF reader to use.
12051 build_namespace_decl_and_add_to_ir(reader& rdr,
12098 /// @param rdr the DWARF reader to use.
12106 build_type_decl(reader& rdr, Dwarf_Die* die, size_t where_offset)
12161 /// @param rdr the DWARF reader to use.
12172 build_enum_underlying_type(reader& rdr,
12195 /// @param rdr the DWARF reader to use.
12208 build_enum_type(reader& rdr,
12339 reader& rdr)
12436 // reader::fixup_functions_with_no_symbols()) that will
12459 /// @param rdr the DWARF reader to use.
12470 maybe_finish_function_decl_reading(reader& rdr,
12504 /// @param rdr the DWARF reader to use.
12516 lookup_class_or_typedef_from_corpus(reader& rdr,
12591 /// @param rdr the DWARF reader.
12603 is_function_for_die_a_member_of_class(reader& rdr,
12642 /// @param rdr the DWARF reader.
12656 add_or_update_member_function(reader& rdr,
12690 /// @param rdr the DWARF reader to consider.
12716 add_or_update_class_type(reader& rdr,
12892 // reader::resolve_declaration_only_classes.
13101 /// @param rdr the DWARF reader to use.
13124 add_or_update_union_type(reader& rdr,
13351 /// @param rdr the DWARF reader to consider.
13366 build_qualified_type(reader& rdr,
13438 /// @param rdr the DWARF reader to use.
13441 reader &rdr)
13485 /// @param rdr the @ref reader to use.
13490 reader &rdr)
13567 /// @param rdr the DWARF reader to consider.
13582 build_pointer_type_def(reader& rdr,
13648 /// @param rdr the DWARF reader to consider.
13663 build_reference_type(reader& rdr,
13726 /// @param rdr the DWARF reader to consider.
13741 build_function_type(reader& rdr,
13940 /// @param rdr the DWARF reader to consider.
13961 build_subrange_type(reader& rdr,
14092 build_subranges_from_array_type_die(reader& rdr,
14136 /// @param rdr the DWARF reader to consider.
14151 build_array_type(reader& rdr,
14198 /// @param rdr the DWARF reader to consider.
14213 build_typedef_type(reader& rdr,
14274 /// specification associated to the current DWARF reader.
14280 /// @param rdr the DWARF reader to use.
14301 build_or_get_var_decl_if_not_suppressed(reader& rdr,
14325 /// @param rdr the DWARF reader to use.
14342 build_var_decl(reader& rdr,
14441 function_is_suppressed(const reader& rdr,
14493 /// specification associated to the current DWARF reader.
14509 /// @param rdr the DWARF reader to use.
14532 build_or_get_fn_decl_if_not_suppressed(reader& rdr,
14613 variable_is_suppressed(const reader& rdr,
14666 /// to a given DWARF reader.
14668 /// @param rdr the DWARF reader to consider.
14681 /// specifications associated to the current DWARF reader.
14683 type_is_suppressed(const reader& rdr,
14709 /// to a given DWARF reader.
14711 /// @param rdr the DWARF reader to consider.
14719 /// specifications associated to the current DWARF reader.
14721 type_is_suppressed(const reader& rdr,
14736 /// @param rdr the DWARF reader in use.
14750 get_opaque_version_of_type(reader &rdr,
14865 /// @param rdr the DWARF reader to use
14877 build_function_decl(reader& rdr,
14992 /// @param rdr the @ref reader to use.
14995 reader& rdr)
15089 /// IR being build and held in the DWARF reader. Doing that is called
15092 /// @param rdr the DWARF reader.
15121 build_ir_node_from_die(reader& rdr,
15701 /// @param rdr the DWARF reader to use.
15705 build_ir_node_for_void_type(reader& rdr)
15720 /// @param rdr the DWARF reader to use.
15724 build_ir_node_for_variadic_parameter_type(reader &rdr)
15739 /// IR being build and held in the DWARF reader. Doing that is called
15742 /// @param rdr the DWARF reader.
15761 build_ir_node_from_die(reader& rdr,
15797 /// Create a dwarf::reader.
15799 /// @param elf_path the path to the elf file the reader is to be used
15808 /// This environment contains resources needed by the DWARF reader and by
15815 /// reader the context uses resources that are allocated in the
15827 /// @return a smart pointer to the resulting dwarf::reader.
15836 reader_sptr r = reader::create(elf_path,
15844 /// Re-initialize a reader so that it can re-used to read
15858 /// This environment contains resources needed by the DWARF reader and by
15865 /// reader the context uses resources that are allocated in the
15877 /// @return a smart pointer to the resulting dwarf::reader.
15885 reader& r = dynamic_cast<reader&>(rdr);
15906 /// This environment contains resources needed by the DWARF reader and by
15930 dwarf::reader::create(elf_path, debug_info_root_paths,