| Index: Source/bindings/scripts/interface_dependency_resolver.py
|
| diff --git a/Source/bindings/scripts/interface_dependency_resolver.py b/Source/bindings/scripts/interface_dependency_resolver.py
|
| index 5fe6ddae85acf292de890543363c56f17a8d5418..fb858a14562c186f1f59bc70159712e1cd558a9f 100644
|
| --- a/Source/bindings/scripts/interface_dependency_resolver.py
|
| +++ b/Source/bindings/scripts/interface_dependency_resolver.py
|
| @@ -106,6 +106,7 @@ class InterfaceDependencyResolver(object):
|
| interface_info['inherited_extended_attributes'])
|
|
|
| merge_interface_dependencies(target_interface,
|
| + definitions,
|
| interface_info['dependencies_full_paths'],
|
| self.reader)
|
|
|
| @@ -115,17 +116,19 @@ class InterfaceDependencyResolver(object):
|
| definitions.interfaces.update(referenced_definitions.interfaces)
|
|
|
|
|
| -def merge_interface_dependencies(target_interface, dependency_idl_filenames, reader):
|
| - """Merge dependencies ('partial interface' and 'implements') in dependency_idl_filenames into target_interface.
|
| +def merge_interface_dependencies(target_interface, definitions, dependency_idl_filenames, reader):
|
| + """Merge dependencies ('partial interface' and 'implements') in dependency_idl_filenames into target_interface and definitions.
|
|
|
| - No return: modifies target_interface in place.
|
| + No return: modifies target_interface and definitions in place.
|
| """
|
| # Sort so order consistent, so can compare output from run to run.
|
| for dependency_idl_filename in sorted(dependency_idl_filenames):
|
| dependency_interface_basename, _ = os.path.splitext(os.path.basename(dependency_idl_filename))
|
| - definitions = reader.read_idl_file(dependency_idl_filename)
|
| + dependency_definitions = reader.read_idl_file(dependency_idl_filename)
|
| +
|
| + definitions.merge(dependency_definitions)
|
|
|
| - for dependency_interface in definitions.interfaces.itervalues():
|
| + for dependency_interface in dependency_definitions.interfaces.itervalues():
|
| # Dependency files contain either partial interfaces for
|
| # the (single) target interface, in which case the interface names
|
| # must agree, or interfaces that are implemented by the target
|
|
|