• Raul Tambre's avatar
    mojo: Fix map() Python 3 incompatibility · 66995237
    Raul Tambre authored
    map() returns a list in Python 2. Python 3 returns an iterator and if a list is needed it's necessary to call list().
    Calling list() results in the same behaviour in both.
    There should be no behavioural changes.
    
    Ran "git cl format".
    
    Fixes the following errors:
    Traceback (most recent call last):
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 556, in <module>
        sys.exit(main())
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 551, in main
        return args.func(args, remaining_args)
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 267, in _Generate
        processor._GenerateModule(args, remaining_args, generator_modules,
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 238, in _GenerateModule
        generator.GenerateFiles(filtered_args)
      File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 461, in GenerateFiles
        self.WriteWithComment(self._GenerateModuleSharedMessageIdsHeader(),
      File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\template_expander.py", line 36, in GeneratorInternal
        parameters = generator(*args, **kwargs2)
      File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 438, in _GenerateModuleSharedMessageIdsHeader
        return self._GetJinjaExports()
      File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 330, in _GetJinjaExports
        "extra_public_headers": self._GetExtraPublicHeaders(),
      File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 276, in _GetExtraPublicHeaders
        self.module.structs + all_enums + self.module.unions)
    TypeError: unsupported operand type(s) for +: 'map' and 'list'
    
    Traceback (most recent call last):
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 556, in <module>
        sys.exit(main())
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 551, in main
        return args.func(args, remaining_args)
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 267, in _Generate
        processor._GenerateModule(args, remaining_args, generator_modules,
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 238, in _GenerateModule
        generator.GenerateFiles(filtered_args)
      File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 461, in GenerateFiles
        self.WriteWithComment(self._GenerateModuleSharedMessageIdsHeader(),
      File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\template_expander.py", line 36, in GeneratorInternal
        parameters = generator(*args, **kwargs2)
      File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 438, in _GenerateModuleSharedMessageIdsHeader
        return self._GetJinjaExports()
      File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 342, in _GetJinjaExports
        "uses_interfaces": self._ReferencesAnyHandleOrInterfaceType(),
      File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 289, in _ReferencesAnyHandleOrInterfaceType
        if len(self.module.interfaces) > 0:
    TypeError: object of type 'map' has no len()
    
    Traceback (most recent call last):
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 556, in <module>
        sys.exit(main())
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 551, in main
        return args.func(args, remaining_args)
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 267, in _Generate
        processor._GenerateModule(args, remaining_args, generator_modules,
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 238, in _GenerateModule
        generator.GenerateFiles(filtered_args)
      File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 461, in GenerateFiles
        self.WriteWithComment(self._GenerateModuleSharedMessageIdsHeader(),
      File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\template_expander.py", line 36, in GeneratorInternal
        parameters = generator(*args, **kwargs2)
      File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 438, in _GenerateModuleSharedMessageIdsHeader
        return self._GetJinjaExports()
      File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 343, in _GetJinjaExports
        "uses_native_types": self._ReferencesAnyNativeType(),
      File "C:\Google\chromium\src\mojo\public\tools\bindings\generators\mojom_cpp_generator.py", line 303, in _ReferencesAnyNativeType
        m.enums + m.structs + m.interfaces))
    TypeError: unsupported operand type(s) for +: 'map' and 'list'
    
    Traceback (most recent call last):
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 556, in <module>
        sys.exit(main())
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 551, in main
        return args.func(args, remaining_args)
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 267, in _Generate
        processor._GenerateModule(args, remaining_args, generator_modules,
      File "../../mojo/public/tools/bindings/mojom_bindings_generator.py", line 215, in _GenerateModule
        AddComputedData(module)
      File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\generator.py", line 184, in AddComputedData
        _AddStructComputedData(True, struct)
      File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\generator.py", line 123, in _AddStructComputedData
        struct.packed = pack.PackedStruct(struct)
      File "C:\Google\chromium\src\mojo\public\tools\bindings\pylib\mojom\generate\pack.py", line 130, in __init__
        if (len(struct.fields) == 0):
    TypeError: object of type 'map' has no len()
    
    Bug: 941669
    Change-Id: I8f7d3fa25a610db32446ad6b2baa6edac1723601
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1995335Reviewed-by: default avatarKen Rockot <rockot@google.com>
    Commit-Queue: Raul Tambre <raul@tambre.ee>
    Auto-Submit: Raul Tambre <raul@tambre.ee>
    Cr-Commit-Position: refs/heads/master@{#732389}
    66995237
translate.py 25.7 KB