mojo: Fix map() Python 3 compatibility
map() returns a list in Python 2. Python 3 returns an iterator. Wrapping in a list() results in the same behaviour on both. Traceback (most recent call last): File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 569, in <module> sys.exit(main()) File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 564, in main return args.func(args, remaining_args) File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 280, in _Generate processor._GenerateModule( File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 225, in _GenerateModule AddComputedData(module) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\generator.py", line 191, in AddComputedData _AddInterfaceComputedData(interface) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\generator.py", line 152, in _AddInterfaceComputedData method.param_struct = _GetStructFromMethod(method) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\generator.py", line 172, in _GetStructFromMethod _AddStructComputedData(False, struct) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\generator.py", line 126, in _AddStructComputedData struct.packed = pack.PackedStruct(struct) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\pack.py", line 141, in __init__ src_fields.append(PackedField(field, index, ordinal)) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\pack.py", line 86, in __init__ self.size = self.GetSizeForKind(field.kind) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\pack.py", line 63, in GetSizeForKind raise Exception("Undefined type: %s. Did you forget to import the file " Exception: Undefined type: x:IndexId. Did you forget to import the file containing the definition? Traceback (most recent call last): File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 565, in <module> sys.exit(main()) File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 560, in main return args.func(args, remaining_args) File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 276, in _Generate processor._GenerateModule( File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 245, in _GenerateModule generator.GenerateFiles(filtered_args) File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 491, in GenerateFiles self.WriteWithComment(self._GenerateModuleSource(), File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\template_expander.py", line 37, in GeneratorInternal return ApplyTemplate(args[0], path_to_template, parameters, **kwargs) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\template_expander.py", line 31, in ApplyTemplate return template.render(params) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\..\..\..\..\..\..\..\third_party\jinja2\asyncsupport.py", line 76, in render return original_render(self, *args, **kwargs) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\..\..\..\..\..\..\..\third_party\jinja2\environment.py", line 1008, in render return self.environment.handle_exception(exc_info, True) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\..\..\..\..\..\..\..\third_party\jinja2\environment.py", line 780, in handle_exception reraise(exc_type, exc_value, tb) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\..\..\..\..\..\..\..\third_party\jinja2\_compat.py", line 37, in reraise raise value.with_traceback(tb) File "gen\mojo\public\tools\bindings\cpp_templates.zip\tmpl_443233f41d2b3f893c5bf0eb0f069e01da908ebe.py", line 89, in <module> File "gen\mojo\public\tools\bindings\cpp_templates.zip\tmpl_c45f6ba3b78f1db0b9ac3d8f2287ed476074b615.py", line 15, in <module> File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 521, in _DefaultValue expression = self._ExpressionToText(field.default, kind=field.kind) File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 852, in _ExpressionToText return self._TranslateConstants(value, kind) File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 830, in _TranslateConstants return self._GetNameForKind(token, flatten_nested_kind=True) File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 530, in _GetNameForKind return _NameFormatter(kind, self.variant).FormatForCpp( File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 73, in FormatForCpp return self.Format( File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 68, in Format parts.extend(self._GetName(internal, flatten_nested_kind)) File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 94, in _GetName name_parts.append(self._token.name) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\module.py", line 273, in name return self.field.name AttributeError: 'EnumField' object has no attribute 'name' Traceback (most recent call last): File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 565, in <module> sys.exit(main()) File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 560, in main return args.func(args, remaining_args) File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 276, in _Generate processor._GenerateModule( File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 245, in _GenerateModule generator.GenerateFiles(filtered_args) File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 491, in GenerateFiles self.WriteWithComment(self._GenerateModuleSource(), File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\template_expander.py", line 37, in GeneratorInternal return ApplyTemplate(args[0], path_to_template, parameters, **kwargs) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\template_expander.py", line 31, in ApplyTemplate return template.render(params) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\..\..\..\..\..\..\..\third_party\jinja2\asyncsupport.py", line 76, in render return original_render(self, *args, **kwargs) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\..\..\..\..\..\..\..\third_party\jinja2\environment.py", line 1008, in render return self.environment.handle_exception(exc_info, True) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\..\..\..\..\..\..\..\third_party\jinja2\environment.py", line 780, in handle_exception reraise(exc_type, exc_value, tb) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\..\..\..\..\..\..\..\third_party\jinja2\_compat.py", line 37, in reraise raise value.with_traceback(tb) File "gen\mojo\public\tools\bindings\cpp_templates.zip\tmpl_443233f41d2b3f893c5bf0eb0f069e01da908ebe.py", line 95, in <module> File "gen\mojo\public\tools\bindings\cpp_templates.zip\tmpl_cdddecaaf43ca3c14ffb4bf4ac7c495e7415ba70.py", line 2, in <module> File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\..\..\..\..\..\..\..\third_party\jinja2\environment.py", line 430, in getattr return getattr(obj, attribute) jinja2.exceptions.UndefinedError: map object has no element 0 Traceback (most recent call last): File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 565, in <module> sys.exit(main()) File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 560, in main return args.func(args, remaining_args) File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 276, in _Generate processor._GenerateModule( File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 221, in _GenerateModule AddComputedData(module) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\generator.py", line 187, in AddComputedData _AddStructComputedData(True, struct) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\generator.py", line 126, in _AddStructComputedData struct.packed = pack.PackedStruct(struct) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\pack.py", line 141, in __init__ src_fields.append(PackedField(field, index, ordinal)) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\pack.py", line 86, in __init__ self.size = self.GetSizeForKind(field.kind) File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\pack.py", line 63, in GetSizeForKind raise Exception("Undefined type: %s. Did you forget to import the file " Exception: Undefined type: x:EnforcementLevel. Did you forget to import the file containing the definition? Bug: 941669 Change-Id: Ia19f39d4134fb063c4407eb20a4f909f693e6f27 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2081812 Auto-Submit: Raul Tambre <raul@tambre.ee> Commit-Queue: Ken Rockot <rockot@google.com> Reviewed-by:Ken Rockot <rockot@google.com> Cr-Commit-Position: refs/heads/master@{#746174}
Showing
Please register or sign in to comment