Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(624)

Side by Side Diff: tools/dom/scripts/systemnative.py

Issue 2242203002: record that Gamepad.buttons creates GamepadButtons (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: add test Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/dom/scripts/systemhtml.py ('k') | tools/dom/templates/immutable_list_mixin.darttemplate » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
3 # for details. All rights reserved. Use of this source code is governed by a 3 # for details. All rights reserved. Use of this source code is governed by a
4 # BSD-style license that can be found in the LICENSE file. 4 # BSD-style license that can be found in the LICENSE file.
5 5
6 """This module provides shared functionality for the systems to generate 6 """This module provides shared functionality for the systems to generate
7 native binding from the IDL database.""" 7 native binding from the IDL database."""
8 8
9 import emitter 9 import emitter
10 import logging 10 import logging
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 # Unwrap the type to get the JsObject if Type is: 541 # Unwrap the type to get the JsObject if Type is:
542 # 542 #
543 # - known IDL type 543 # - known IDL type
544 # - type_id is None then it's probably a union type or overloaded 544 # - type_id is None then it's probably a union type or overloaded
545 # it's a dynamic/any type 545 # it's a dynamic/any type
546 # - type is Object 546 # - type is Object
547 # 547 #
548 # JsObject maybe stored in the Dart class. 548 # JsObject maybe stored in the Dart class.
549 return_wrap_jso = wrap_return_type_blink(return_type, attr.type.id, self ._type_registry) 549 return_wrap_jso = wrap_return_type_blink(return_type, attr.type.id, self ._type_registry)
550 wrap_unwrap_list.append(return_wrap_jso) # wrap_jso the returned objec t 550 wrap_unwrap_list.append(return_wrap_jso) # wrap_jso the returned objec t
551 wrap_unwrap_list.append(self._dart_use_blink) 551 wrap_unwrap_list.append(self._dart_use_blink)
552 552
553 # This seems to have been replaced with Custom=Getter (see above), but 553 # This seems to have been replaced with Custom=Getter (see above), but
554 # check to be sure we don't see the old syntax 554 # check to be sure we don't see the old syntax
555 assert(not ('CustomGetter' in attr.ext_attrs)) 555 assert(not ('CustomGetter' in attr.ext_attrs))
556 native_suffix = 'Getter' 556 native_suffix = 'Getter'
557 auto_scope_setup = self._GenerateAutoSetupScope(attr.id, native_suffix) 557 auto_scope_setup = self._GenerateAutoSetupScope(attr.id, native_suffix)
558 native_entry = \ 558 native_entry = \
559 self.DeriveNativeEntry(attr.id, 'Getter', None) 559 self.DeriveNativeEntry(attr.id, 'Getter', None)
560 output_conversion = self._OutputConversion(attr.type.id, attr.id) 560 output_conversion = self._OutputConversion(attr.type.id, attr.id)
561 561
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 attr_name = attr.id 631 attr_name = attr.id
632 webcore_function_name = re.sub(r'^(xml|css|(?=[A-Z])|\w)', 632 webcore_function_name = re.sub(r'^(xml|css|(?=[A-Z])|\w)',
633 lambda s: s.group(1).upper(), 633 lambda s: s.group(1).upper(),
634 attr_name) 634 attr_name)
635 webcore_function_name = 'set%s' % webcore_function_name 635 webcore_function_name = 'set%s' % webcore_function_name
636 636
637 function_expression = self._GenerateWebCoreFunctionExpression(webcore_functi on_name, attr) 637 function_expression = self._GenerateWebCoreFunctionExpression(webcore_functi on_name, attr)
638 raises = ('RaisesException' in attr.ext_attrs and 638 raises = ('RaisesException' in attr.ext_attrs and
639 attr.ext_attrs['RaisesException'] != 'Getter') 639 attr.ext_attrs['RaisesException'] != 'Getter')
640 640
641 def AddIndexer(self, element_type): 641 def AddIndexer(self, element_type, nullable):
642 """Adds all the methods required to complete implementation of List.""" 642 """Adds all the methods required to complete implementation of List."""
643 # We would like to simply inherit the implementation of everything except 643 # We would like to simply inherit the implementation of everything except
644 # length, [], and maybe []=. It is possible to extend from a base 644 # length, [], and maybe []=. It is possible to extend from a base
645 # array implementation class only when there is no other implementation 645 # array implementation class only when there is no other implementation
646 # inheritance. There might be no implementation inheritance other than 646 # inheritance. There might be no implementation inheritance other than
647 # DOMBaseWrapper for many classes, but there might be some where the 647 # DOMBaseWrapper for many classes, but there might be some where the
648 # array-ness is introduced by a non-root interface: 648 # array-ness is introduced by a non-root interface:
649 # 649 #
650 # interface Y extends X, List<T> ... 650 # interface Y extends X, List<T> ...
651 # 651 #
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 if self._HasNativeIndexSetter(): 702 if self._HasNativeIndexSetter():
703 self._EmitNativeIndexSetter(dart_element_type) 703 self._EmitNativeIndexSetter(dart_element_type)
704 else: 704 else:
705 self._members_emitter.Emit( 705 self._members_emitter.Emit(
706 '\n' 706 '\n'
707 ' void operator[]=(int index, $TYPE value) {\n' 707 ' void operator[]=(int index, $TYPE value) {\n'
708 ' throw new UnsupportedError("Cannot assign element of immutable Li st.");\n' 708 ' throw new UnsupportedError("Cannot assign element of immutable Li st.");\n'
709 ' }\n', 709 ' }\n',
710 TYPE=dart_element_type) 710 TYPE=dart_element_type)
711 711
712 self.EmitListMixin(dart_element_type) 712 self.EmitListMixin(dart_element_type, nullable)
713 713
714 def AmendIndexer(self, element_type): 714 def AmendIndexer(self, element_type):
715 # If interface is marked as having native indexed 715 # If interface is marked as having native indexed
716 # getter or setter, we must emit overrides as it's not 716 # getter or setter, we must emit overrides as it's not
717 # guaranteed that the corresponding methods in C++ would be 717 # guaranteed that the corresponding methods in C++ would be
718 # virtual. For example, as of time of writing, even though 718 # virtual. For example, as of time of writing, even though
719 # Uint8ClampedArray inherits from Uint8Array, ::set method 719 # Uint8ClampedArray inherits from Uint8Array, ::set method
720 # is not virtual and accessing it through Uint8Array pointer 720 # is not virtual and accessing it through Uint8Array pointer
721 # would lead to wrong semantics (modulo vs. clamping.) 721 # would lead to wrong semantics (modulo vs. clamping.)
722 dart_element_type = self._DartType(element_type) 722 dart_element_type = self._DartType(element_type)
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after
1248 1248
1249 def _IsCustom(op_or_attr): 1249 def _IsCustom(op_or_attr):
1250 assert(isinstance(op_or_attr, IDLMember)) 1250 assert(isinstance(op_or_attr, IDLMember))
1251 return 'Custom' in op_or_attr.ext_attrs or 'DartCustom' in op_or_attr.ext_attr s 1251 return 'Custom' in op_or_attr.ext_attrs or 'DartCustom' in op_or_attr.ext_attr s
1252 1252
1253 def _IsCustomValue(op_or_attr, value): 1253 def _IsCustomValue(op_or_attr, value):
1254 if _IsCustom(op_or_attr): 1254 if _IsCustom(op_or_attr):
1255 return op_or_attr.ext_attrs.get('Custom') == value \ 1255 return op_or_attr.ext_attrs.get('Custom') == value \
1256 or op_or_attr.ext_attrs.get('DartCustom') == value 1256 or op_or_attr.ext_attrs.get('DartCustom') == value
1257 return False 1257 return False
OLDNEW
« no previous file with comments | « tools/dom/scripts/systemhtml.py ('k') | tools/dom/templates/immutable_list_mixin.darttemplate » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698