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 |