Index: Source/bindings/scripts/v8_methods.py |
diff --git a/Source/bindings/scripts/v8_methods.py b/Source/bindings/scripts/v8_methods.py |
index 9c1f7c3f6db106426a22089c65db923fc68f063d..2e314626fa9e4ada22421acfb57acaf255ac261f 100644 |
--- a/Source/bindings/scripts/v8_methods.py |
+++ b/Source/bindings/scripts/v8_methods.py |
@@ -344,6 +344,8 @@ def v8_set_return_value(interface_name, method, cpp_value, for_main_world=False) |
if idl_type.is_explicit_nullable: |
# result is of type Nullable<T> |
cpp_value = 'result.get()' |
+ elif idl_type.is_union_type: |
+ cpp_value = 'result{index}.get()' |
else: |
cpp_value = 'result' |
release = idl_type.release |
@@ -401,10 +403,9 @@ def property_attributes(method): |
def union_arguments(idl_type): |
- """Return list of ['result0Enabled', 'result0', 'result1Enabled', ...] for union types, for use in setting return value""" |
- return [arg |
- for i in range(len(idl_type.member_types)) |
- for arg in ['result%sEnabled' % i, 'result%s' % i]] |
+ """Return list of ['result0', 'result1', ...] for union types, for use in setting return value""" |
+ return ['result%d' % i |
+ for i in range(len(idl_type.member_types))] |
def argument_default_cpp_value(argument): |