def collect_interfaces_info(idl_path_list): info_collector = InterfaceInfoCollector() for idl_path in idl_path_list: info_collector.collect_info(idl_path) info = info_collector.get_info_as_dict() # TestDictionary.{h,cpp} are placed under # Source/bindings/tests/idls/core. However, IdlCompiler generates # TestDictionary.{h,cpp} by using relative_dir. # So the files will be generated under # output_dir/core/bindings/tests/idls/core. # To avoid this issue, we need to clear relative_dir here. for value in info['interfaces_info'].itervalues(): value['relative_dir'] = '' component_info = info_collector.get_component_info_as_dict() return info, component_info
def __init__(self, database): """DatabaseBuilder is used for importing and merging interfaces into the Database""" self._info_collector = InterfaceInfoCollector() self._database = database self._imported_interfaces = [] self._impl_stmts = [] self.conditionals_met = set() # Spin up the new IDL parser. self.build = Build(self) # Global typedef to mapping. self.global_type_defs = monitored.Dict( 'databasebuilder.global_type_defs', { 'Transferable': 'MessagePort', })