OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # | 2 # |
3 # Copyright (C) 2013 Google Inc. All rights reserved. | 3 # Copyright (C) 2013 Google Inc. All rights reserved. |
4 # | 4 # |
5 # Redistribution and use in source and binary forms, with or without | 5 # Redistribution and use in source and binary forms, with or without |
6 # modification, are permitted provided that the following conditions are | 6 # modification, are permitted provided that the following conditions are |
7 # met: | 7 # met: |
8 # | 8 # |
9 # * Redistributions of source code must retain the above copyright | 9 # * Redistributions of source code must retain the above copyright |
10 # notice, this list of conditions and the following disclaimer. | 10 # notice, this list of conditions and the following disclaimer. |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 from collections import defaultdict | 84 from collections import defaultdict |
85 import cPickle as pickle | 85 import cPickle as pickle |
86 import optparse | 86 import optparse |
87 import sys | 87 import sys |
88 | 88 |
89 from utilities import idl_filename_to_component, read_pickle_files, write_pickle
_file, merge_dict_recursively | 89 from utilities import idl_filename_to_component, read_pickle_files, write_pickle
_file, merge_dict_recursively |
90 | 90 |
91 INHERITED_EXTENDED_ATTRIBUTES = set([ | 91 INHERITED_EXTENDED_ATTRIBUTES = set([ |
92 'ActiveScriptWrappable', | 92 'ActiveScriptWrappable', |
93 'DependentLifetime', | 93 'DependentLifetime', |
94 'GarbageCollected', | |
95 ]) | 94 ]) |
96 | 95 |
97 # Main variable (filled in and exported) | 96 # Main variable (filled in and exported) |
98 interfaces_info = {} | 97 interfaces_info = {} |
99 | 98 |
100 # Auxiliary variables (not visible to future build steps) | 99 # Auxiliary variables (not visible to future build steps) |
101 partial_interface_files = defaultdict(lambda: { | 100 partial_interface_files = defaultdict(lambda: { |
102 'full_paths': [], | 101 'full_paths': [], |
103 'include_paths': [], | 102 'include_paths': [], |
104 }) | 103 }) |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 if interface_info['ancestors']: | 176 if interface_info['ancestors']: |
178 ancestors[interface_name] = interface_info['ancestors'] | 177 ancestors[interface_name] = interface_info['ancestors'] |
179 if interface_info['is_callback_interface']: | 178 if interface_info['is_callback_interface']: |
180 callback_interfaces.add(interface_name) | 179 callback_interfaces.add(interface_name) |
181 if interface_info['is_dictionary']: | 180 if interface_info['is_dictionary']: |
182 dictionaries[interface_name] = interface_info['is_dictionary'] | 181 dictionaries[interface_name] = interface_info['is_dictionary'] |
183 if interface_info['implemented_as']: | 182 if interface_info['implemented_as']: |
184 implemented_as_interfaces[interface_name] = interface_info['implemen
ted_as'] | 183 implemented_as_interfaces[interface_name] = interface_info['implemen
ted_as'] |
185 | 184 |
186 inherited_extended_attributes = interface_info['inherited_extended_attri
butes'] | 185 inherited_extended_attributes = interface_info['inherited_extended_attri
butes'] |
187 if 'GarbageCollected' in inherited_extended_attributes: | 186 garbage_collected_interfaces.add(interface_name) |
188 garbage_collected_interfaces.add(interface_name) | |
189 | 187 |
190 interfaces_info['ancestors'] = ancestors | 188 interfaces_info['ancestors'] = ancestors |
191 interfaces_info['callback_interfaces'] = callback_interfaces | 189 interfaces_info['callback_interfaces'] = callback_interfaces |
192 interfaces_info['dictionaries'] = dictionaries | 190 interfaces_info['dictionaries'] = dictionaries |
193 interfaces_info['implemented_as_interfaces'] = implemented_as_interfaces | 191 interfaces_info['implemented_as_interfaces'] = implemented_as_interfaces |
194 interfaces_info['garbage_collected_interfaces'] = garbage_collected_interfac
es | 192 interfaces_info['garbage_collected_interfaces'] = garbage_collected_interfac
es |
195 interfaces_info['component_dirs'] = component_dirs | 193 interfaces_info['component_dirs'] = component_dirs |
196 | 194 |
197 | 195 |
198 def compute_interfaces_info_overall(info_individuals): | 196 def compute_interfaces_info_overall(info_individuals): |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 info_individuals = read_pickle_files(args) | 320 info_individuals = read_pickle_files(args) |
323 | 321 |
324 compute_interfaces_info_overall(info_individuals) | 322 compute_interfaces_info_overall(info_individuals) |
325 write_pickle_file(interfaces_info_filename, | 323 write_pickle_file(interfaces_info_filename, |
326 interfaces_info, | 324 interfaces_info, |
327 options.write_file_only_if_changed) | 325 options.write_file_only_if_changed) |
328 | 326 |
329 | 327 |
330 if __name__ == '__main__': | 328 if __name__ == '__main__': |
331 sys.exit(main()) | 329 sys.exit(main()) |
OLD | NEW |