Index: Source/bindings/scripts/v8_interface.py |
diff --git a/Source/bindings/scripts/v8_interface.py b/Source/bindings/scripts/v8_interface.py |
index fe2fda5b2f5fe0e46cfbfec58757501bfd3f56f8..73498435a679bae64fb6e698e69b42e350d8b1e8 100644 |
--- a/Source/bindings/scripts/v8_interface.py |
+++ b/Source/bindings/scripts/v8_interface.py |
@@ -472,10 +472,15 @@ def Counter(iterable): |
# [Constructor] |
def generate_constructor(interface, constructor): |
+ generated_arguments = [v8_methods.generate_argument(interface, constructor, argument, index) |
+ for index, argument in enumerate(constructor.arguments)] |
+ |
return { |
'argument_list': constructor_argument_list(interface, constructor), |
- 'arguments': [v8_methods.generate_argument(interface, constructor, argument, index) |
- for index, argument in enumerate(constructor.arguments)], |
+ 'arguments': generated_arguments, |
+ 'arguments_need_try_catch': any( |
+ v8_methods.argument_needs_try_catch(argument) |
+ for argument in generated_arguments), |
'cpp_type': cpp_template_type( |
cpp_ptr_type('RefPtr', 'RawPtr', gc_type(interface)), |
cpp_name(interface)), |