Lines Matching refs:reader
28 #include "abg-symtab-reader.h"
34 #include "abg-reader.h"
47 /// The namespace for the native XML file format reader.
58 class reader;
77 static void maybe_set_naming_typedef(reader& rdr,
80 class reader;
82 static int advance_cursor(reader& rdr);
85 handle_version_attribute(xml::reader_sptr& reader, corpus& corp);
88 walk_xml_node_to_map_type_ids(reader& rdr, xmlNodePtr node);
91 read_elf_needed_from_input(reader& rdr, vector<string>& needed);
94 read_symbol_db_from_input(reader& rdr,
101 /// The ABIXML reader object.
108 class reader : public fe_iface
132 friend vector<type_base_sptr>* get_types_from_type_id(reader&,
136 get_artifact_used_by_relation_map(reader& rdr);
155 reader();
158 reader(xml::reader_sptr reader,
161 m_reader(reader),
219 /// Getter for the environment of this reader.
221 /// @return the environment of this reader.
226 /// Getter for the environment of this reader.
228 /// @return the environment of this reader.
231 {return const_cast<reader*>(this)->get_environment();}
833 /// reader and that has just been canonicalized.
1266 };// end class reader
1268 typedef shared_ptr<reader> reader_sptr;
1270 static int advance_cursor(reader&);
1272 static translation_unit_sptr get_or_read_and_add_translation_unit(reader&, xmlNodePtr);
1274 static bool read_symbol_db_from_input(reader&,
1277 static bool read_location(const reader&, xmlNodePtr, location&);
1278 static bool read_artificial_location(const reader&,
1280 static bool maybe_set_artificial_location(const reader&,
1299 build_namespace_decl(reader&, const xmlNodePtr, bool);
1309 build_elf_symbol(reader&, const xmlNodePtr, bool);
1312 build_elf_symbol_from_reference(reader&, const xmlNodePtr);
1315 build_elf_symbol_db(reader&, const xmlNodePtr, bool);
1318 build_function_parameter (reader&, const xmlNodePtr);
1321 build_function_decl(reader&, const xmlNodePtr,
1325 build_function_decl_if_not_suppressed(reader&, const xmlNodePtr,
1329 function_is_suppressed(const reader& rdr,
1333 build_var_decl_if_not_suppressed(reader&, const xmlNodePtr, bool);
1336 build_var_decl(reader&, const xmlNodePtr, bool);
1339 variable_is_suppressed(const reader& rdr,
1343 build_type_decl(reader&, const xmlNodePtr, bool);
1346 build_qualified_type_decl(reader&, const xmlNodePtr, bool);
1349 build_pointer_type_def(reader&, const xmlNodePtr, bool);
1352 build_reference_type_def(reader&, const xmlNodePtr, bool);
1355 build_function_type(reader&, const xmlNodePtr, bool);
1358 build_subrange_type(reader&, const xmlNodePtr);
1361 build_array_type_def(reader&, const xmlNodePtr, bool);
1364 build_enum_type_decl(reader&, const xmlNodePtr, bool);
1367 build_typedef_decl(reader&, const xmlNodePtr, bool);
1370 build_class_decl(reader&, const xmlNodePtr, bool);
1373 build_union_decl(reader&, const xmlNodePtr, bool);
1376 build_function_tdecl(reader&, const xmlNodePtr, bool);
1379 build_class_tdecl(reader&, const xmlNodePtr, bool);
1382 build_type_tparameter(reader&, const xmlNodePtr,
1386 build_type_composition(reader&, const xmlNodePtr,
1390 build_non_type_tparameter(reader&, const xmlNodePtr,
1394 build_template_tparameter(reader&, const xmlNodePtr,
1398 build_template_parameter(reader&, const xmlNodePtr,
1406 build_type(reader&, const xmlNodePtr, bool);
1409 static type_or_decl_base_sptr handle_element_node(reader&, xmlNodePtr, bool);
1410 static decl_base_sptr handle_type_decl(reader&, xmlNodePtr, bool);
1411 static decl_base_sptr handle_namespace_decl(reader&, xmlNodePtr, bool);
1412 static decl_base_sptr handle_qualified_type_decl(reader&,
1414 static decl_base_sptr handle_pointer_type_def(reader&,
1416 static decl_base_sptr handle_reference_type_def(reader&,
1418 static type_base_sptr handle_function_type(reader&,
1420 static decl_base_sptr handle_array_type_def(reader&,
1422 static decl_base_sptr handle_enum_type_decl(reader&, xmlNodePtr, bool);
1423 static decl_base_sptr handle_typedef_decl(reader&, xmlNodePtr, bool);
1424 static decl_base_sptr handle_var_decl(reader&, xmlNodePtr, bool);
1425 static decl_base_sptr handle_function_decl(reader&, xmlNodePtr, bool);
1426 static decl_base_sptr handle_class_decl(reader&, xmlNodePtr, bool);
1427 static decl_base_sptr handle_union_decl(reader&, xmlNodePtr, bool);
1428 static decl_base_sptr handle_function_tdecl(reader&, xmlNodePtr, bool);
1429 static decl_base_sptr handle_class_tdecl(reader&, xmlNodePtr, bool);
1458 reader::get_scope_for_node(xmlNodePtr node,
1512 reader::build_or_get_type_decl(const string& id,
1563 /// @param rdr the ABIXML reader
1566 advance_cursor(reader& rdr)
1568 xml::reader_sptr reader = rdr.get_libxml_reader();
1569 return xmlTextReaderRead(reader.get());
1576 /// @param rdr the context of the reader.
1581 walk_xml_node_to_map_type_ids(reader& rdr,
1602 abixml::reader& rdr = dynamic_cast<abixml::reader&>(iface);
1647 xml::reader_sptr reader = rdr.get_libxml_reader();
1648 if (!reader)
1664 /// @param rdr the ABIXML reader.
1670 get_or_read_and_add_translation_unit(reader& rdr, xmlNodePtr node)
1713 abixml::reader& rdr = dynamic_cast<abixml::reader&>(iface);
1718 xml::reader_sptr reader = rdr.get_libxml_reader();
1719 if (!reader)
1725 && XML_READER_GET_NODE_TYPE(reader) != XML_READER_TYPE_ELEMENT)
1728 if (status != 1 || !xmlStrEqual (XML_READER_GET_NODE_NAME(reader).get(),
1732 node = xmlTextReaderExpand(reader.get());
1776 /// @param rdr the reader to use for the parsing.
1786 read_symbol_db_from_input(reader& rdr,
1790 xml::reader_sptr reader = rdr.get_libxml_reader();
1791 if (!reader)
1799 && XML_READER_GET_NODE_TYPE(reader) != XML_READER_TYPE_ELEMENT)
1806 if (xmlStrEqual (XML_READER_GET_NODE_NAME(reader).get(),
1809 else if (xmlStrEqual (XML_READER_GET_NODE_NAME(reader).get(),
1815 xmlNodePtr node = xmlTextReaderExpand(reader.get());
1824 xmlTextReaderNext(reader.get());
1889 /// @param rdr the ABIXML reader used to the xml reading.
1895 read_elf_needed_from_input(reader& rdr,
1898 xml::reader_sptr reader = rdr.get_libxml_reader();
1899 if (!reader)
1908 && XML_READER_GET_NODE_TYPE(reader) != XML_READER_TYPE_ELEMENT)
1914 if (!xmlStrEqual (XML_READER_GET_NODE_NAME(reader).get(),
1918 node = xmlTextReaderExpand(reader.get());
1972 add_reader_suppressions(reader& rdr,
1982 /// Configure the @ref reader so that types not reachable from
1986 /// @param rdr the @reader to consider.
1994 abixml::reader& rdr = dynamic_cast<abixml::reader&>(iface);
2004 /// @param rdr the abixml text reader context to use.
2010 xml_reader::reader& rdr = dynamic_cast<xml_reader::reader&>(iface);
2022 /// @param rdr the abixml text reader context to use.
2026 xml_reader::reader& rdr = dynamic_cast<xml_reader::reader&>(iface);
2038 /// @param reader the XML reader to consider. That reader must be
2045 handle_version_attribute(xml::reader_sptr& reader, corpus& corp)
2048 if (xml_char_sptr s = XML_READER_GET_ATTRIBUTE(reader, "version"))
2075 abixml::reader& rdr = dynamic_cast<abixml::reader&>(iface);
2076 xml::reader_sptr reader = rdr.get_libxml_reader();
2077 if (!reader)
2083 && XML_READER_GET_NODE_TYPE(reader) != XML_READER_TYPE_ELEMENT)
2086 if (status != 1 || !xmlStrEqual (XML_READER_GET_NODE_NAME(reader).get(),
2100 handle_version_attribute(reader, *group);
2102 xml::xml_char_sptr path_str = XML_READER_GET_ATTRIBUTE(reader, "path");
2106 xmlNodePtr node = xmlTextReaderExpand(reader.get());
2118 xmlTextReaderNext(reader.get());
2179 reader rdr(xml::new_reader_from_file(input_file), env);
2201 reader rdr(xml::new_reader_from_buffer(buffer), env);
2212 /// @param rdr the @ref reader to consider.
2219 abixml::reader& rdr = dynamic_cast<abixml::reader&>(iface);
2236 handle_element_node(reader& rdr, xmlNodePtr node,
2296 read_location(const reader& rdr,
2317 reader& c = const_cast<reader&>(rdr);
2335 read_artificial_location(const reader& rdr,
2350 reader& c = const_cast<reader&>(rdr);
2374 maybe_set_artificial_location(const reader& rdr,
2952 /// @param rdr the current ABIXML reader.
2958 maybe_set_naming_typedef(reader& rdr,
2978 /// @param rdr the ABIXML reader to use.
2989 build_namespace_decl(reader& rdr,
3039 build_elf_symbol(reader& rdr, const xmlNodePtr node,
3142 build_elf_symbol_from_reference(reader& rdr, const xmlNodePtr node)
3184 build_elf_symbol_db(reader& rdr,
3266 build_function_parameter(reader& rdr, const xmlNodePtr node)
3332 build_function_decl(reader& rdr,
3455 build_function_decl_if_not_suppressed(reader& rdr,
3464 // specification associated to the current ABIXML reader. So
3485 function_is_suppressed(const reader& rdr, xmlNodePtr node)
3504 /// to a given ABIXML reader.
3506 /// @param rdr the ABIXML reader to consider.
3512 /// ABIXML reader.
3514 type_is_suppressed(const reader& rdr, xmlNodePtr node)
3535 /// suppression specification associated to the current ABIXML reader.
3537 /// @param rdr the ABIXML reader to use.
3546 build_var_decl_if_not_suppressed(reader& rdr,
3557 /// suppression specification that is present in a given ABIXML reader.
3559 /// @param rdr the ABIXML reader to consider.
3565 variable_is_suppressed(const reader& rdr, xmlNodePtr node)
3583 /// suppression specification that is present in a given ABIXML reader.
3585 /// @parm rdr the ABIXML reader to consider.
3593 variable_is_suppressed(const reader& rdr,
3611 build_var_decl(reader& rdr,
3679 build_type_decl(reader& rdr,
3761 build_qualified_type_decl(reader& rdr,
3849 build_pointer_type_def(reader& rdr,
3925 build_reference_type_def(reader& rdr,
4005 build_function_type(reader& rdr,
4090 build_subrange_type(reader& rdr,
4205 build_array_type_def(reader& rdr,
4355 /// the current reader.
4357 /// @param rdr the reader to take into account.
4368 build_enum_type_decl_if_not_suppressed(reader& rdr,
4390 build_enum_type_decl(reader& rdr,
4502 build_typedef_decl(reader& rdr,
4555 /// suppression specification that is present in the ABIXML reader.
4557 /// @param rdr the ABIXML reader to consider.
4566 build_class_decl_if_not_suppressed(reader& rdr,
4580 /// @param rdr the ABIXML reader to consider.
4589 build_union_decl_if_not_suppressed(reader& rdr,
4612 build_class_decl(reader& rdr,
5040 build_union_decl(reader& rdr,
5387 build_function_tdecl(reader& rdr,
5453 build_class_tdecl(reader& rdr,
5523 build_type_tparameter(reader& rdr,
5583 build_type_composition(reader& rdr,
5641 build_non_type_tparameter(reader& rdr,
5689 build_template_tparameter(reader& rdr,
5763 build_template_parameter(reader& rdr,
5786 build_type(reader& rdr,
5829 handle_type_decl(reader& rdr,
5846 handle_namespace_decl(reader& rdr,
5861 handle_qualified_type_decl(reader& rdr,
5880 handle_pointer_type_def(reader& rdr,
5898 handle_reference_type_def(reader& rdr,
5916 handle_function_type(reader& rdr,
5933 handle_array_type_def(reader& rdr,
5948 handle_enum_type_decl(reader& rdr,
5965 handle_typedef_decl(reader& rdr,
5986 handle_var_decl(reader& rdr,
6003 handle_function_decl(reader& rdr,
6018 handle_class_decl(reader& rdr,
6037 handle_union_decl(reader& rdr,
6056 handle_function_tdecl(reader& rdr,
6071 handle_class_tdecl(reader& rdr,
6092 reader read_rdr(xml::new_reader_from_istream(in), env);
6106 /// Create an xml_reader::reader to read a native XML ABI file.
6116 reader_sptr result(new reader(xml::new_reader_from_file(path),
6128 /// Create an xml_reader::reader to read a native XML ABI from
6139 reader_sptr result(new reader(xml::new_reader_from_istream(in),
6208 /// @param rdr the ABIXML reader to use.
6217 xml_reader::reader& rdr = dynamic_cast<xml_reader::reader&>(iface)