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__. |