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

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

Issue 551713003: Fix handling default parameters (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Cleanup Created 6 years, 3 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
« tools/dom/idl/dart/dart.idl ('K') | « tools/dom/scripts/idlnode.py ('k') | no next file » | 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 os 10 import os
(...skipping 1532 matching lines...) Expand 10 before | Expand all | Expand 10 after
1543 if argument.type.nullable: 1543 if argument.type.nullable:
1544 return True 1544 return True
1545 1545
1546 if isinstance(argument, IDLAttribute): 1546 if isinstance(argument, IDLAttribute):
1547 return (argument.type.id == 'DOMString') and \ 1547 return (argument.type.id == 'DOMString') and \
1548 ('Reflect' in argument.ext_attrs) 1548 ('Reflect' in argument.ext_attrs)
1549 1549
1550 if isinstance(argument, IDLArgument): 1550 if isinstance(argument, IDLArgument):
1551 if IsOptional(argument) and not self._IsArgumentOptionalInWebCore(node , argument): 1551 if IsOptional(argument) and not self._IsArgumentOptionalInWebCore(node , argument):
1552 return True 1552 return True
1553 if argument.ext_attrs.get('Default') == 'NullString': 1553 # argument default to null (e.g., DOMString arg = null).
1554 if argument.default_value_is_null:
1554 return True 1555 return True
1555 if _IsOptionalStringArgumentInInitEventMethod(self._interface, node, a rgument): 1556 if _IsOptionalStringArgumentInInitEventMethod(self._interface, node, a rgument):
1556 return True 1557 return True
1557 1558
1558 return False 1559 return False
1559 1560
1560 if AllowsNull(): 1561 if AllowsNull():
1561 function += 'WithNullCheck' 1562 function += 'WithNullCheck'
1562 1563
1563 argument_name = DartDomNameOfAttribute(argument) 1564 argument_name = DartDomNameOfAttribute(argument)
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
1782 else: 1783 else:
1783 return '%s::%s' % (impl_type_name, function_name) 1784 return '%s::%s' % (impl_type_name, function_name)
1784 1785
1785 def _IsArgumentOptionalInWebCore(self, operation, argument): 1786 def _IsArgumentOptionalInWebCore(self, operation, argument):
1786 if not IsOptional(argument): 1787 if not IsOptional(argument):
1787 return False 1788 return False
1788 if 'Callback' in argument.ext_attrs: 1789 if 'Callback' in argument.ext_attrs:
1789 return False 1790 return False
1790 if operation.id in ['addEventListener', 'removeEventListener'] and argument. id == 'useCapture': 1791 if operation.id in ['addEventListener', 'removeEventListener'] and argument. id == 'useCapture':
1791 return False 1792 return False
1792 if 'ForceOptional' in argument.ext_attrs: 1793 if 'DartForceOptional' in argument.ext_attrs:
1793 return False 1794 return False
1794 if argument.type.id == 'Dictionary': 1795 if argument.type.id == 'Dictionary':
1795 return False 1796 return False
1796 return True 1797 return True
1797 1798
1798 def _GenerateCPPIncludes(self, includes): 1799 def _GenerateCPPIncludes(self, includes):
1799 return ''.join(['#include %s\n' % include for include in sorted(includes)]) 1800 return ''.join(['#include %s\n' % include for include in sorted(includes)])
1800 1801
1801 def _ToWebKitName(self, name): 1802 def _ToWebKitName(self, name):
1802 name = name[0].lower() + name[1:] 1803 name = name[0].lower() + name[1:]
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
1990 e.Emit(' },\n') 1991 e.Emit(' },\n')
1991 1992
1992 e.Emit("};\n"); 1993 e.Emit("};\n");
1993 e.Emit('\n'); 1994 e.Emit('\n');
1994 e.Emit('} // namespace WebCore\n'); 1995 e.Emit('} // namespace WebCore\n');
1995 1996
1996 def _IsOptionalStringArgumentInInitEventMethod(interface, operation, argument): 1997 def _IsOptionalStringArgumentInInitEventMethod(interface, operation, argument):
1997 return ( 1998 return (
1998 interface.id.endswith('Event') and 1999 interface.id.endswith('Event') and
1999 operation.id.startswith('init') and 2000 operation.id.startswith('init') and
2000 argument.ext_attrs.get('Default') == 'Undefined' and 2001 argument.default_value == 'Undefined' and
2001 argument.type.id == 'DOMString') 2002 argument.type.id == 'DOMString')
OLDNEW
« tools/dom/idl/dart/dart.idl ('K') | « tools/dom/scripts/idlnode.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698