Commit 32092dd8 authored by Hitoshi Yoshida's avatar Hitoshi Yoshida Committed by Commit Bot

CodeGen: Use core component as default component for Union

PathManager for union types fails if a Union doesn't contain user
defined types, because its |components| is empty.

This CL makes it to set core as its default component in such cases.


Bug: 839389
Change-Id: I423f4691d0435352b0e873af5d679b898afc9465
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2004358Reviewed-by: default avatarYuki Shiino <yukishiino@chromium.org>
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#732325}
parent 7081986e
......@@ -87,6 +87,14 @@ class PathManager(object):
components = sorted(idl_definition.components) # "core" < "modules"
if len(components) == 0:
assert isinstance(idl_definition, web_idl.Union)
# Unions of built-in types, e.g. DoubleOrString, do not have a
# component.
self._is_cross_components = False
default_component = web_idl.Component("core")
self._api_component = default_component
self._impl_component = default_component
if len(components) == 1:
component = components[0]
self._is_cross_components = False
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment