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

Side by Side Diff: client/dom/scripts/generator.py

Issue 9814012: Proper include forms. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | client/dom/scripts/systemnative.py » ('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 systems to generate 6 """This module provides shared functionality for systems to generate
7 Dart APIs from the IDL database.""" 7 Dart APIs from the IDL database."""
8 8
9 import re 9 import re
10 10
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after
494 return self._native_type 494 return self._native_type
495 return self._idl_type 495 return self._idl_type
496 496
497 def parameter_adapter_info(self): 497 def parameter_adapter_info(self):
498 native_type = self.native_type() 498 native_type = self.native_type()
499 if self._ref_counted: 499 if self._ref_counted:
500 native_type = 'RefPtr< %s >' % native_type 500 native_type = 'RefPtr< %s >' % native_type
501 if self._has_dart_wrapper: 501 if self._has_dart_wrapper:
502 wrapper_type = 'Dart%s' % self.idl_type() 502 wrapper_type = 'Dart%s' % self.idl_type()
503 adapter_type = 'ParameterAdapter<%s, %s>' % (native_type, wrapper_type) 503 adapter_type = 'ParameterAdapter<%s, %s>' % (native_type, wrapper_type)
504 return (adapter_type, wrapper_type) 504 return (adapter_type, '"%s.h"' % wrapper_type)
505 return ('ParameterAdapter< %s >' % native_type, self._idl_type) 505 return ('ParameterAdapter< %s >' % native_type, '"%s.h"' % self._idl_type)
506 506
507 def parameter_type(self): 507 def parameter_type(self):
508 return '%s*' % self.native_type() 508 return '%s*' % self.native_type()
509 509
510 def webcore_includes(self): 510 def webcore_includes(self):
511 WTF_INCLUDES = [
512 'ArrayBuffer',
513 'ArrayBufferView',
514 'Float32Array',
515 'Float64Array',
516 'Int8Array',
517 'Int16Array',
518 'Int32Array',
519 'Uint8Array',
520 'Uint16Array',
521 'Uint32Array',
522 'Uint8ClampedArray',
523 ]
524
525 if self._idl_type in WTF_INCLUDES:
526 return ['<wtf/%s.h>' % self._idl_type]
527
511 if not self._idl_type.startswith('SVG'): 528 if not self._idl_type.startswith('SVG'):
512 return [self._idl_type] 529 return ['"%s.h"' % self._idl_type]
513 530
514 if self._idl_type in ['SVGNumber', 'SVGPoint']: 531 if self._idl_type in ['SVGNumber', 'SVGPoint']:
515 return [] 532 return []
516 if self._idl_type.startswith('SVGPathSeg'): 533 if self._idl_type.startswith('SVGPathSeg'):
517 include = self._idl_type.replace('Abs', '').replace('Rel', '') 534 include = self._idl_type.replace('Abs', '').replace('Rel', '')
518 else: 535 else:
519 include = self._idl_type 536 include = self._idl_type
520 return [include] + _svg_supplemental_includes 537 return ['"%s.h"' % include] + _svg_supplemental_includes
521 538
522 def receiver(self): 539 def receiver(self):
523 return 'receiver->' 540 return 'receiver->'
524 541
525 def conversion_includes(self): 542 def conversion_includes(self):
526 return ['Dart%s' % include for include in [self.dart_type()] + self._convers ion_includes] 543 return ['"Dart%s.h"' % include for include in [self.dart_type()] + self._con version_includes]
527 544
528 def conversion_cast(self, expression): 545 def conversion_cast(self, expression):
529 if self._conversion_template: 546 if self._conversion_template:
530 return self._conversion_template % expression 547 return self._conversion_template % expression
531 return expression 548 return expression
532 549
533 def custom_to_dart(self): 550 def custom_to_dart(self):
534 return self._custom_to_dart 551 return self._custom_to_dart
535 552
536 class PrimitiveIDLTypeInfo(IDLTypeInfo): 553 class PrimitiveIDLTypeInfo(IDLTypeInfo):
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
649 'SVGPoint': SVGTearOffIDLTypeInfo('SVGPoint', native_type='SVGPropertyTearOf f<FloatPoint>'), 666 'SVGPoint': SVGTearOffIDLTypeInfo('SVGPoint', native_type='SVGPropertyTearOf f<FloatPoint>'),
650 'SVGPointList': SVGTearOffIDLTypeInfo('SVGPointList', ref_counted=False), 667 'SVGPointList': SVGTearOffIDLTypeInfo('SVGPointList', ref_counted=False),
651 'SVGPreserveAspectRatio': SVGTearOffIDLTypeInfo('SVGPreserveAspectRatio'), 668 'SVGPreserveAspectRatio': SVGTearOffIDLTypeInfo('SVGPreserveAspectRatio'),
652 'SVGRect': SVGTearOffIDLTypeInfo('SVGRect', native_type='SVGPropertyTearOff< FloatRect>'), 669 'SVGRect': SVGTearOffIDLTypeInfo('SVGRect', native_type='SVGPropertyTearOff< FloatRect>'),
653 'SVGStringList': SVGTearOffIDLTypeInfo('SVGStringList', native_type='SVGStat icListPropertyTearOff<SVGStringList>', ref_counted=False), 670 'SVGStringList': SVGTearOffIDLTypeInfo('SVGStringList', native_type='SVGStat icListPropertyTearOff<SVGStringList>', ref_counted=False),
654 'SVGTransform': SVGTearOffIDLTypeInfo('SVGTransform'), 671 'SVGTransform': SVGTearOffIDLTypeInfo('SVGTransform'),
655 'SVGTransformList': SVGTearOffIDLTypeInfo('SVGTransformList', native_type='S VGTransformListPropertyTearOff', ref_counted=False) 672 'SVGTransformList': SVGTearOffIDLTypeInfo('SVGTransformList', native_type='S VGTransformListPropertyTearOff', ref_counted=False)
656 } 673 }
657 674
658 _svg_supplemental_includes = [ 675 _svg_supplemental_includes = [
659 'SVGAnimatedPropertyTearOff', 676 '"SVGAnimatedPropertyTearOff.h"',
660 'SVGAnimatedListPropertyTearOff', 677 '"SVGAnimatedListPropertyTearOff.h"',
661 'SVGStaticListPropertyTearOff', 678 '"SVGStaticListPropertyTearOff.h"',
662 'SVGAnimatedListPropertyTearOff', 679 '"SVGAnimatedListPropertyTearOff.h"',
663 'SVGTransformListPropertyTearOff', 680 '"SVGTransformListPropertyTearOff.h"',
664 'SVGPathSegListPropertyTearOff', 681 '"SVGPathSegListPropertyTearOff.h"',
665 ] 682 ]
666 683
667 def GetIDLTypeInfo(idl_type_name): 684 def GetIDLTypeInfo(idl_type_name):
668 return _idl_type_registry.get(idl_type_name, IDLTypeInfo(idl_type_name)) 685 return _idl_type_registry.get(idl_type_name, IDLTypeInfo(idl_type_name))
OLDNEW
« no previous file with comments | « no previous file | client/dom/scripts/systemnative.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698