| Index: Source/bindings/scripts/compute_interfaces_info_individual.py
|
| diff --git a/Source/bindings/scripts/compute_interfaces_info_individual.py b/Source/bindings/scripts/compute_interfaces_info_individual.py
|
| index 9876b028a180389f04f3e2d1a90aa096d0bd333e..8f10a4a5f2c6c82bf67c05ed0d71282de5a0f7a5 100755
|
| --- a/Source/bindings/scripts/compute_interfaces_info_individual.py
|
| +++ b/Source/bindings/scripts/compute_interfaces_info_individual.py
|
| @@ -168,6 +168,7 @@ class InterfaceInfoCollector(object):
|
| 'full_paths': [],
|
| 'include_paths': [],
|
| })
|
| + self.enumerations = set()
|
| self.union_types = set()
|
| self.typedefs = {}
|
|
|
| @@ -207,8 +208,13 @@ class InterfaceInfoCollector(object):
|
|
|
| this_union_types = collect_union_types_from_definitions(definitions)
|
| self.union_types.update(this_union_types)
|
| -
|
| self.typedefs.update(definitions.typedefs)
|
| + # Check enum duplication.
|
| + for enum_name in definitions.enumerations.keys():
|
| + for defined_enum in self.enumerations:
|
| + if defined_enum.name == enum_name:
|
| + raise Exception('Enumeration %s has multiple definitions' % enum_name)
|
| + self.enumerations.update(definitions.enumerations.values())
|
|
|
| extended_attributes = definition.extended_attributes
|
| implemented_as = extended_attributes.get('ImplementedAs')
|
| @@ -262,6 +268,8 @@ class InterfaceInfoCollector(object):
|
| def get_component_info_as_dict(self):
|
| """Returns component wide information as a dict."""
|
| return {
|
| + 'enumerations': dict((enum.name, enum.values)
|
| + for enum in self.enumerations),
|
| 'typedefs': self.typedefs,
|
| 'union_types': self.union_types,
|
| }
|
|
|