Beispiel #1
0
 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
Beispiel #2
0
    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',
            })