| Index: bindings/dart/scripts/dart_utilities.py
|
| diff --git a/bindings/dart/scripts/dart_utilities.py b/bindings/dart/scripts/dart_utilities.py
|
| index f67437b159195cc78bc0d4cd404ad6071b156c64..38e3899aac92a7ebddcfe4231d999960652017b8 100644
|
| --- a/bindings/dart/scripts/dart_utilities.py
|
| +++ b/bindings/dart/scripts/dart_utilities.py
|
| @@ -132,6 +132,39 @@ def _measure_as(definition_or_member):
|
| return extended_attributes['MeasureAs']
|
|
|
|
|
| +def _generate_native_entry(interface_name, thing, name, kind,
|
| + optional_index, args, types):
|
| + index = thing.get('overload_index') or optional_index
|
| + is_static = bool(thing.get('is_static'))
|
| + tag = ""
|
| + if kind == 'Getter':
|
| + tag = "%s_Getter" % name
|
| + blink_entry = tag
|
| + elif kind == 'Setter':
|
| + tag = "%s_Setter" % name
|
| + blink_entry = tag
|
| + elif kind == 'Constructor':
|
| + tag = "constructorCallback"
|
| + blink_entry = tag
|
| + if index is not None:
|
| + blink_entry = "_create_%s%s" % (index, blink_entry)
|
| + elif kind == 'Method':
|
| + tag = "%s_Callback" % name
|
| + if index is None:
|
| + blink_entry = tag
|
| + else:
|
| + blink_entry = "_%s_%d_Callback" % (name, index)
|
| + native_entry = "%s_%s" % (interface_name, tag)
|
| + if types is not None:
|
| + count = len(types)
|
| + types = "_".join(types)
|
| + native_entry = "%s_RESOLVER_STRING_%d_%s" % (native_entry, count, types)
|
| + if not is_static and kind != 'Constructor':
|
| + args.insert(0, "mthis")
|
| + return {'blink_entry': "$" + blink_entry,
|
| + 'argument_names': args,
|
| + 'resolver_string': native_entry}
|
| +
|
| ################################################################################
|
| # This is the monkey patched methods most delegate to v8_utilities but some are
|
| # overridden in dart_utilities.
|
| @@ -153,6 +186,7 @@ DartUtilities.cpp_name = v8_utilities.cpp_name
|
| DartUtilities.deprecate_as = _deprecate_as
|
| DartUtilities.extended_attribute_value_contains = v8_utilities.extended_attribute_value_contains
|
| DartUtilities.gc_type = v8_utilities.gc_type
|
| +DartUtilities.generate_native_entry = _generate_native_entry
|
| DartUtilities.has_extended_attribute = v8_utilities.has_extended_attribute
|
| DartUtilities.has_extended_attribute_value = v8_utilities.has_extended_attribute_value
|
| DartUtilities.measure_as = _measure_as
|
|
|