def setter_expression(interface, attribute, context): extended_attributes = attribute.extended_attributes arguments = DartUtilities.call_with_arguments( extended_attributes.get('SetterCallWith') or extended_attributes.get('CallWith')) this_setter_base_name = v8_attributes.setter_base_name(interface, attribute, arguments) setter_name = DartUtilities.scoped_name(interface, attribute, this_setter_base_name) if ('PartialInterfaceImplementedAs' in extended_attributes and not attribute.is_static): arguments.append('*receiver') idl_type = attribute.idl_type if idl_type.base_type == 'EventHandler': getter_name = DartUtilities.scoped_name(interface, attribute, DartUtilities.cpp_name(attribute)) context['event_handler_getter_expression'] = '%s(%s)' % ( getter_name, ', '.join(arguments)) # FIXME(vsm): Do we need to support this? If so, what's our analogue of # V8EventListenerList? arguments.append('nullptr') else: attribute_name = dart_types.check_reserved_name(attribute.name) arguments.append(attribute_name) if context['is_setter_raises_exception']: arguments.append('es') return '%s(%s)' % (setter_name, ', '.join(arguments))
def setter_expression(interface, attribute, context): extended_attributes = attribute.extended_attributes arguments = DartUtilities.call_with_arguments( extended_attributes.get('SetterCallWith') or extended_attributes.get('CallWith')) this_setter_base_name = v8_attributes.setter_base_name(interface, attribute, arguments) setter_name = DartUtilities.scoped_name(interface, attribute, this_setter_base_name) if ('PartialInterfaceImplementedAs' in extended_attributes and not attribute.is_static): arguments.append('*receiver') idl_type = attribute.idl_type attribute_name = dart_types.check_reserved_name(attribute.name) arguments.append(attribute_name) if context['is_setter_raises_exception']: arguments.append('es') return '%s(%s)' % (setter_name, ', '.join(arguments))
def setter_expression(interface, attribute, context): extended_attributes = attribute.extended_attributes arguments = DartUtilities.call_with_arguments( extended_attributes.get('SetterCallWith') or extended_attributes.get('CallWith')) this_setter_base_name = v8_attributes.setter_base_name( interface, attribute, arguments) setter_name = DartUtilities.scoped_name(interface, attribute, this_setter_base_name) if ('PartialInterfaceImplementedAs' in extended_attributes and not attribute.is_static): arguments.append('*receiver') idl_type = attribute.idl_type attribute_name = dart_types.check_reserved_name(attribute.name) arguments.append(attribute_name) if context['is_setter_raises_exception']: arguments.append('es') return '%s(%s)' % (setter_name, ', '.join(arguments))
def setter_expression(interface, attribute, context): extended_attributes = attribute.extended_attributes arguments = DartUtilities.call_with_arguments( extended_attributes.get('SetterCallWith') or extended_attributes.get('CallWith')) this_setter_base_name = v8_attributes.setter_base_name( interface, attribute, arguments) setter_name = DartUtilities.scoped_name(interface, attribute, this_setter_base_name) if ('PartialInterfaceImplementedAs' in extended_attributes and not attribute.is_static): arguments.append('*receiver') idl_type = attribute.idl_type if idl_type.base_type == 'EventHandler': getter_name = DartUtilities.scoped_name( interface, attribute, DartUtilities.cpp_name(attribute)) context['event_handler_getter_expression'] = '%s(%s)' % ( getter_name, ', '.join(arguments)) # FIXME(vsm): Do we need to support this? If so, what's our analogue of # V8EventListenerList? arguments.append('nullptr') # if (interface.name in ['Window', 'WorkerGlobalScope'] and # attribute.name == 'onerror'): # includes.add('bindings/core/v8/V8ErrorHandler.h') # arguments.append('V8EventListenerList::findOrCreateWrapper<V8ErrorHandler>(jsValue, true, info.GetIsolate())') # else: # arguments.append('V8EventListenerList::getEventListener(jsValue, true, ListenerFindOrCreate)') else: attribute_name = dart_types.check_reserved_name(attribute.name) arguments.append(attribute_name) if context['is_setter_raises_exception']: arguments.append('es') return '%s(%s)' % (setter_name, ', '.join(arguments))