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 928a911cd9c49fa7ec90f5ebb48ab0ed5d9ad3aa..d24161f0e6e4b29770bd684cc629d96bfc976b01 100755 |
| --- a/Source/bindings/scripts/compute_interfaces_info_overall.py |
| +++ b/Source/bindings/scripts/compute_interfaces_info_overall.py |
| @@ -86,7 +86,7 @@ import cPickle as pickle |
| import optparse |
| import sys |
| -from utilities import idl_filename_to_component, read_pickle_files, write_pickle_file |
| +from utilities import idl_filename_to_component, read_pickle_files, write_pickle_file, merge_dict_recursively |
| INHERITED_EXTENDED_ATTRIBUTES = set([ |
| 'ActiveDOMObject', |
| @@ -207,9 +207,13 @@ def compute_interfaces_info_overall(info_individuals): |
| Information is stored in global interfaces_info. |
| """ |
| + is_first_info = True |
| for info in info_individuals: |
| - # No overlap between interface names, so ok to use dict.update |
| - interfaces_info.update(info['interfaces_info']) |
| + if is_first_info: |
|
bashi
2015/07/28 00:38:47
Could you explain what you want to do by this chan
Yuki
2015/07/29 08:16:24
It turned out that it's totally unnecessary. Remo
|
| + is_first_info = False |
| + interfaces_info.update(info['interfaces_info']) |
| + else: |
| + merge_dict_recursively(interfaces_info, info['interfaces_info']) |
| # Interfaces in one component may have partial interfaces in |
| # another component. This is ok (not a layering violation), since |
| # partial interfaces are used to *extend* interfaces. |
| @@ -315,7 +319,6 @@ def compute_interfaces_info_overall(info_individuals): |
| del interface_info['extended_attributes'] |
| del interface_info['has_union_types'] |
| del interface_info['is_legacy_treat_as_partial_interface'] |
| - del interface_info['parent'] |
| # Compute global_type_info to interfaces_info so that idl_compiler does |
| # not need to always calculate the info in __init__. |