Chromium Code Reviews| Index: Source/bindings/scripts/compute_interfaces_info_overall.py |
| diff --git a/Source/bindings/scripts/compute_interfaces_info_overall.py b/Source/bindings/scripts/compute_interfaces_info_overall.py |
| index 6e311211ae92b78a02160b5ce58392bcc0f48f64..a9097333bbaa5a98b2f4fa1d15a6426265e73887 100755 |
| --- a/Source/bindings/scripts/compute_interfaces_info_overall.py |
| +++ b/Source/bindings/scripts/compute_interfaces_info_overall.py |
| @@ -66,8 +66,14 @@ Current keys are: |
| * paths: |
| 'full_path': path to the IDL file, so can lookup an IDL by interface name |
| 'include_path': path for use in C++ #include directives |
| - 'dependencies_full_paths': paths to dependencies (for merging into main) |
| - 'dependencies_include_paths': paths for use in C++ #include directives |
| + 'implemented_interfaces_full_paths': |
|
tasak
2014/10/17 07:38:17
Need to fix this comment.
|
| + paths to dependencies caused by implemented (for merging into main) |
| + 'implemented_interfaces_include_paths': |
|
tasak
2014/10/17 07:38:17
Ditto.
|
| + paths for use in C++ #include directives for implemented |
| + 'partial_interfaces_full_paths': |
| + paths to dependencies caused by partial (for merging into main) |
|
haraken
2014/10/16 04:24:07
partial => partial interfaces
tasak
2014/10/17 07:38:17
Done.
|
| + 'partial_interfaces_include_paths': |
| + paths for use in C++ #include directives for partial interface |
|
haraken
2014/10/16 04:24:07
partial interface => partial interfaces
tasak
2014/10/17 07:38:17
Done.
|
| Note that all of these are stable information, unlikely to change without |
| moving or deleting files (hence requiring a full rebuild anyway) or significant |
| @@ -268,13 +274,36 @@ def compute_interfaces_info_overall(info_individuals): |
| for implemented_interface_info in implemented_interfaces_info: |
| if (implemented_interface_info['is_legacy_treat_as_partial_interface'] and |
| implemented_interface_info['include_path']): |
| - implemented_interfaces_include_paths.append(implemented_interface_info['include_path']) |
| + implemented_interfaces_include_paths.append( |
| + implemented_interface_info['include_path']) |
| + |
| + dependencies_full_paths = implemented_interfaces_full_paths |
| + dependencies_include_paths = implemented_interfaces_include_paths |
| + partial_interface_dependencies_full_paths = [] |
| + partial_interface_dependencies_include_paths = [] |
| + |
| + component = idl_filename_to_component(interface_info['full_path']) |
| + for full_path in partial_interfaces_full_paths: |
| + partial_interface_component = idl_filename_to_component(full_path) |
| + if component == partial_interface_component: |
| + dependencies_full_paths.append(full_path) |
| + else: |
| + partial_interface_dependencies_full_paths.append(full_path) |
|
haraken
2014/10/16 04:24:07
This naming is a bit confusing because some partia
tasak
2014/10/17 07:38:17
Done.
|
| + |
| + for include_path in partial_interfaces_include_paths: |
| + partial_interface_component = idl_filename_to_component(include_path) |
| + if component == partial_interface_component: |
| + dependencies_include_paths.append(include_path) |
| + else: |
| + partial_interface_dependencies_include_paths.append(include_path) |
|
haraken
2014/10/16 04:24:07
Ditto.
- include_paths
- other_component_include_
tasak
2014/10/17 07:38:17
Done.
|
| interface_info.update({ |
| - 'dependencies_full_paths': (partial_interfaces_full_paths + |
| - implemented_interfaces_full_paths), |
| - 'dependencies_include_paths': (partial_interfaces_include_paths + |
| - implemented_interfaces_include_paths), |
| + 'dependencies_full_paths': dependencies_full_paths, |
| + 'dependencies_include_paths': dependencies_include_paths, |
| + 'partial_interface_dependencies_full_paths': |
| + partial_interface_dependencies_full_paths, |
| + 'partial_interface_dependencies_include_paths': |
| + partial_interface_dependencies_include_paths, |
| }) |
| # Clean up temporary private information |