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

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

Issue 589253002: Revert "Chrome 38 script changes from integration branch" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: 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
« no previous file with comments | « tools/dom/scripts/databasebuilder.py ('k') | tools/dom/scripts/htmlrenamer.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 copy 9 import copy
10 import json 10 import json
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 # Nodes with different tags in different browsers can be listed as multiple 107 # Nodes with different tags in different browsers can be listed as multiple
108 # tags here provided there is not conflict in usage (e.g. browser X has tag 108 # tags here provided there is not conflict in usage (e.g. browser X has tag
109 # T and no other browser has tag T). 109 # T and no other browser has tag T).
110 110
111 'AnalyserNode': 'AnalyserNode,RealtimeAnalyserNode', 111 'AnalyserNode': 'AnalyserNode,RealtimeAnalyserNode',
112 'AudioContext': 'AudioContext,webkitAudioContext', 112 'AudioContext': 'AudioContext,webkitAudioContext',
113 113
114 'ChannelMergerNode': 'ChannelMergerNode,AudioChannelMerger', 114 'ChannelMergerNode': 'ChannelMergerNode,AudioChannelMerger',
115 'ChannelSplitterNode': 'ChannelSplitterNode,AudioChannelSplitter', 115 'ChannelSplitterNode': 'ChannelSplitterNode,AudioChannelSplitter',
116 116
117 'ClientRect': 'ClientRect,DOMRect',
117 'ClientRectList': 'ClientRectList,DOMRectList', 118 'ClientRectList': 'ClientRectList,DOMRectList',
118 119
119 'CSSStyleDeclaration': 120 'CSSStyleDeclaration':
120 # IE Firefox 121 # IE Firefox
121 'CSSStyleDeclaration,MSStyleCSSProperties,CSS2Properties', 122 'CSSStyleDeclaration,MSStyleCSSProperties,CSS2Properties',
122 123
123 'Clipboard': 'Clipboard,DataTransfer', 124 'Clipboard': 'Clipboard,DataTransfer',
124 125
125 'ApplicationCache': 126 'ApplicationCache':
126 'ApplicationCache,DOMApplicationCache,OfflineResourceList', 127 'ApplicationCache,DOMApplicationCache,OfflineResourceList',
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 return argument.optional 232 return argument.optional
232 if 'DartForceOptional' in argument.ext_attrs: 233 if 'DartForceOptional' in argument.ext_attrs:
233 return True 234 return True
234 return False 235 return False
235 236
236 # Given a list of overloaded arguments, choose a suitable name. 237 # Given a list of overloaded arguments, choose a suitable name.
237 def OverloadedName(args): 238 def OverloadedName(args):
238 return '_OR_'.join(sorted(set(arg.id for arg in args))) 239 return '_OR_'.join(sorted(set(arg.id for arg in args)))
239 240
240 def DartType(idl_type_name): 241 def DartType(idl_type_name):
241 if idl_type_name in _idl_type_registry: 242 if idl_type_name in _idl_type_registry:
242 return _idl_type_registry[idl_type_name].dart_type or idl_type_name 243 return _idl_type_registry[idl_type_name].dart_type or idl_type_name
243 return idl_type_name 244 return idl_type_name
244 245
245 # Given a list of overloaded arguments, choose a suitable type. 246 # Given a list of overloaded arguments, choose a suitable type.
246 def OverloadedType(args): 247 def OverloadedType(args):
247 type_ids = sorted(set(arg.type.id for arg in args)) 248 type_ids = sorted(set(arg.type.id for arg in args))
248 if len(set(DartType(arg.type.id) for arg in args)) == 1: 249 if len(set(DartType(arg.type.id) for arg in args)) == 1:
249 return type_ids[0] 250 return type_ids[0]
250 else: 251 else:
251 return None 252 return None
252 253
253 result = [] 254 result = []
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 dart_type = rename_type(param.type_id) if param.type_id else 'dynamic' 443 dart_type = rename_type(param.type_id) if param.type_id else 'dynamic'
443 return (TypeOrNothing(dart_type, param.type_id), param.name) 444 return (TypeOrNothing(dart_type, param.type_id), param.name)
444 required = [] 445 required = []
445 optional = [] 446 optional = []
446 for param_info in self.param_infos: 447 for param_info in self.param_infos:
447 if param_info.is_optional: 448 if param_info.is_optional:
448 optional.append(FormatParam(param_info)) 449 optional.append(FormatParam(param_info))
449 else: 450 else:
450 if optional: 451 if optional:
451 raise Exception('Optional parameters cannot precede required ones: ' 452 raise Exception('Optional parameters cannot precede required ones: '
452 + str(param_info)) 453 + str(params))
453 required.append(FormatParam(param_info)) 454 required.append(FormatParam(param_info))
454 needs_named = optional and self.requires_named_arguments and not force_optio nal 455 needs_named = optional and self.requires_named_arguments and not force_optio nal
455 return (required, optional, needs_named) 456 return (required, optional, needs_named)
456 457
457 def ParametersAsDecStringList(self, rename_type, force_optional=False): 458 def ParametersAsDecStringList(self, rename_type, force_optional=False):
458 """Returns a list of strings where each string corresponds to a parameter 459 """Returns a list of strings where each string corresponds to a parameter
459 declaration. All of the optional/named parameters if any will appear as 460 declaration. All of the optional/named parameters if any will appear as
460 a single entry at the end of the list. 461 a single entry at the end of the list.
461 """ 462 """
462 (required, optional, needs_named) = \ 463 (required, optional, needs_named) = \
(...skipping 859 matching lines...) Expand 10 before | Expand all | Expand 10 after
1322 if type_data.clazz == 'BasicTypedList': 1323 if type_data.clazz == 'BasicTypedList':
1323 if type_name == 'ArrayBuffer': 1324 if type_name == 'ArrayBuffer':
1324 dart_interface_name = 'ByteBuffer' 1325 dart_interface_name = 'ByteBuffer'
1325 else: 1326 else:
1326 dart_interface_name = self._renamer.RenameInterfaceId(type_name) 1327 dart_interface_name = self._renamer.RenameInterfaceId(type_name)
1327 return BasicTypedListIDLTypeInfo( 1328 return BasicTypedListIDLTypeInfo(
1328 type_name, type_data, dart_interface_name, self) 1329 type_name, type_data, dart_interface_name, self)
1329 1330
1330 class_name = '%sIDLTypeInfo' % type_data.clazz 1331 class_name = '%sIDLTypeInfo' % type_data.clazz
1331 return globals()[class_name](type_name, type_data) 1332 return globals()[class_name](type_name, type_data)
OLDNEW
« no previous file with comments | « tools/dom/scripts/databasebuilder.py ('k') | tools/dom/scripts/htmlrenamer.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698