| Index: bindings/dart/scripts/dart_methods.py
|
| diff --git a/bindings/dart/scripts/dart_methods.py b/bindings/dart/scripts/dart_methods.py
|
| index 0a59338bc4db6b4893d546b9cfe37e83209bc72c..aac8f5efe4b0cf1ac3b9218bfacc48f84f98784c 100644
|
| --- a/bindings/dart/scripts/dart_methods.py
|
| +++ b/bindings/dart/scripts/dart_methods.py
|
| @@ -86,10 +86,23 @@ def generate_method(interface, method):
|
| this_cpp_type = idl_type.cpp_type
|
|
|
| is_auto_scope = not 'DartNoAutoScope' in extended_attributes
|
| +
|
| + number_of_arguments = len(arguments)
|
| +
|
| + number_of_required_arguments = \
|
| + len([
|
| + argument for argument in arguments
|
| + if not ((argument.is_optional and not ('Default' in argument.extended_attributes or argument.default_value)) or
|
| + argument.is_variadic)])
|
| +
|
| + arguments_data = [generate_argument(interface, method, argument, index)
|
| + for index, argument in enumerate(arguments)]
|
| +
|
| + is_custom = 'Custom' in extended_attributes or 'DartCustom' in extended_attributes
|
| +
|
| method_data = {
|
| 'activity_logging_world_list': DartUtilities.activity_logging_world_list(method), # [ActivityLogging]
|
| - 'arguments': [generate_argument(interface, method, argument, index)
|
| - for index, argument in enumerate(arguments)],
|
| + 'arguments': arguments_data,
|
| 'conditional_string': DartUtilities.conditional_string(method),
|
| 'cpp_type': this_cpp_type,
|
| 'cpp_value': this_cpp_value,
|
| @@ -116,7 +129,7 @@ def generate_method(interface, method):
|
| 'is_call_with_script_state': is_call_with_script_state,
|
| 'is_check_security_for_frame': is_check_security_for_frame,
|
| 'is_check_security_for_node': is_check_security_for_node,
|
| - 'is_custom': 'Custom' in extended_attributes or 'DartCustom' in extended_attributes,
|
| + 'is_custom': is_custom,
|
| 'is_custom_dart': 'DartCustom' in extended_attributes,
|
| 'is_custom_dart_new': DartUtilities.has_extended_attribute_value(method, 'DartCustom', 'New'),
|
| 'is_custom_element_callbacks': is_custom_element_callbacks,
|
| @@ -135,11 +148,8 @@ def generate_method(interface, method):
|
| 'is_variadic': arguments and arguments[-1].is_variadic,
|
| 'measure_as': DartUtilities.measure_as(method), # [MeasureAs]
|
| 'name': name,
|
| - 'number_of_arguments': len(arguments),
|
| - 'number_of_required_arguments': len([
|
| - argument for argument in arguments
|
| - if not ((argument.is_optional and not ('Default' in argument.extended_attributes or argument.default_value)) or
|
| - argument.is_variadic)]),
|
| + 'number_of_arguments': number_of_arguments,
|
| + 'number_of_required_arguments': number_of_required_arguments,
|
| 'number_of_required_or_variadic_arguments': len([
|
| argument for argument in arguments
|
| if not argument.is_optional]),
|
|
|