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

Side by Side Diff: lib/html/scripts/systemhtml.py

Issue 10982053: Reapply FooList -> List<Foo> with Gamepad fix for dartium. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 2 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 | « lib/html/scripts/systemdart2js.py ('k') | lib/html/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 the system to generate 6 """This module provides shared functionality for the system to generate
7 Dart:html APIs from the IDL database.""" 7 Dart:html APIs from the IDL database."""
8 8
9 import emitter 9 import emitter
10 10
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 'webkitSpeechChange': 'speechChange', 214 'webkitSpeechChange': 'speechChange',
215 'webkitsourceclose': 'sourceClose', 215 'webkitsourceclose': 'sourceClose',
216 'webkitsourceended': 'sourceEnded', 216 'webkitsourceended': 'sourceEnded',
217 'webkitsourceopen': 'sourceOpen', 217 'webkitsourceopen': 'sourceOpen',
218 'webkitTransitionEnd': 'transitionEnd', 218 'webkitTransitionEnd': 'transitionEnd',
219 'write': 'write', 219 'write': 'write',
220 'writeend': 'writeEnd', 220 'writeend': 'writeEnd',
221 'writestart': 'writeStart' 221 'writestart': 'writeStart'
222 } 222 }
223 223
224
225
226 # Information for generating element constructors. 224 # Information for generating element constructors.
227 # 225 #
228 # TODO(sra): maybe remove all the argument complexity and use cascades. 226 # TODO(sra): maybe remove all the argument complexity and use cascades.
229 # 227 #
230 # var c = new CanvasElement(width: 100, height: 70); 228 # var c = new CanvasElement(width: 100, height: 70);
231 # var c = new CanvasElement()..width = 100..height = 70; 229 # var c = new CanvasElement()..width = 100..height = 70;
232 # 230 #
233 class ElementConstructorInfo(object): 231 class ElementConstructorInfo(object):
234 def __init__(self, name=None, tag=None, 232 def __init__(self, name=None, tag=None,
235 params=[], opt_params=[], 233 params=[], opt_params=[],
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 470
473 def __init__(self, system, interface): 471 def __init__(self, system, interface):
474 super(HtmlDartInterfaceGenerator, self).__init__( 472 super(HtmlDartInterfaceGenerator, self).__init__(
475 system._database, interface) 473 system._database, interface)
476 self._system = system 474 self._system = system
477 self._shared = system._shared 475 self._shared = system._shared
478 self._html_interface_name = system._renamer.RenameInterface(self._interface) 476 self._html_interface_name = system._renamer.RenameInterface(self._interface)
479 self._backend = system._backend.ImplementationGenerator(self._interface) 477 self._backend = system._backend.ImplementationGenerator(self._interface)
480 478
481 def StartInterface(self): 479 def StartInterface(self):
482 if not self._interface.id in _merged_html_interfaces: 480 if (not self._interface.id in _merged_html_interfaces and
481 # Don't re-generate types that have been converted to native dart types.
482 self._html_interface_name not in nativified_classes):
483 path = '%s.dart' % self._html_interface_name 483 path = '%s.dart' % self._html_interface_name
484 self._interface_emitter = self._system._CreateEmitter(path) 484 self._interface_emitter = self._system._CreateEmitter(path)
485 else: 485 else:
486 self._interface_emitter = emitter.Emitter() 486 self._interface_emitter = emitter.Emitter()
487 487
488 template_file = 'interface_%s.darttemplate' % self._html_interface_name 488 template_file = 'interface_%s.darttemplate' % self._html_interface_name
489 interface_template = (self._system._templates.TryLoad(template_file) or 489 interface_template = (self._system._templates.TryLoad(template_file) or
490 self._system._templates.Load('interface.darttemplate') ) 490 self._system._templates.Load('interface.darttemplate') )
491 491
492 typename = self._html_interface_name 492 typename = self._html_interface_name
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 self._top_level_emitter) = self._interface_emitter.Emit( 556 self._top_level_emitter) = self._interface_emitter.Emit(
557 interface_template + '$!TOP_LEVEL', 557 interface_template + '$!TOP_LEVEL',
558 ID=typename, 558 ID=typename,
559 EXTENDS=implements_str) 559 EXTENDS=implements_str)
560 560
561 self._type_comment_emitter.Emit("/// @domName $DOMNAME", 561 self._type_comment_emitter.Emit("/// @domName $DOMNAME",
562 DOMNAME=self._interface.doc_js_name) 562 DOMNAME=self._interface.doc_js_name)
563 563
564 if self._backend.HasImplementation(): 564 if self._backend.HasImplementation():
565 if not self._interface.id in _merged_html_interfaces: 565 if not self._interface.id in _merged_html_interfaces:
566 filename = '%sImpl.dart' % self._html_interface_name 566 name = self._html_interface_name
567 if self._html_interface_name in nativified_classes:
568 name = nativified_classes[self._html_interface_name]
569 filename = '%sImpl.dart' % name
567 else: 570 else:
568 filename = '%sImpl_Merged.dart' % self._html_interface_name 571 filename = '%sImpl_Merged.dart' % self._html_interface_name
569 self._implementation_emitter = self._system._CreateEmitter(filename) 572 self._implementation_emitter = self._system._CreateEmitter(filename)
570 else: 573 else:
571 self._implementation_emitter = emitter.Emitter() 574 self._implementation_emitter = emitter.Emitter()
572 self._backend.SetImplementationEmitter(self._implementation_emitter) 575 self._backend.SetImplementationEmitter(self._implementation_emitter)
573 self._implementation_members_emitter = self._backend.StartInterface() 576 self._implementation_members_emitter = self._backend.StartInterface()
574 577
575 for constructor_info in constructors: 578 for constructor_info in constructors:
576 constructor_info.GenerateFactoryInvocation( 579 constructor_info.GenerateFactoryInvocation(
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 def ImplementationClassName(self): 789 def ImplementationClassName(self):
787 return self._ImplClassName(self._html_interface_name) 790 return self._ImplClassName(self._html_interface_name)
788 791
789 def SetImplementationEmitter(self, implementation_emitter): 792 def SetImplementationEmitter(self, implementation_emitter):
790 self._dart_code = implementation_emitter 793 self._dart_code = implementation_emitter
791 794
792 def ImplementsMergedMembers(self): 795 def ImplementsMergedMembers(self):
793 return True 796 return True
794 797
795 def _ImplClassName(self, type_name): 798 def _ImplClassName(self, type_name):
796 return '_%sImpl' % type_name 799 name = type_name
800 if type_name in nativified_classes:
801 name = nativified_classes[type_name]
802 return '_%sImpl' % name
797 803
798 def StartInterface(self): 804 def StartInterface(self):
799 interface = self._interface 805 interface = self._interface
800 interface_name = interface.id 806 interface_name = interface.id
801 807
802 self._class_name = self._ImplClassName(self._html_interface_name) 808 self._class_name = self._ImplClassName(self._html_interface_name)
803 809
804 base = None 810 base = None
805 if interface.parents: 811 if interface.parents:
806 supertype = interface.parents[0].type.id 812 supertype = interface.parents[0].type.id
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
1260 1266
1261 library_emitter = self._emitters.FileEmitter(library_file_path) 1267 library_emitter = self._emitters.FileEmitter(library_file_path)
1262 library_file_dir = os.path.dirname(library_file_path) 1268 library_file_dir = os.path.dirname(library_file_path)
1263 auxiliary_dir = os.path.relpath(auxiliary_dir, library_file_dir) 1269 auxiliary_dir = os.path.relpath(auxiliary_dir, library_file_dir)
1264 imports_emitter = library_emitter.Emit( 1270 imports_emitter = library_emitter.Emit(
1265 self._template, AUXILIARY_DIR=massage_path(auxiliary_dir)) 1271 self._template, AUXILIARY_DIR=massage_path(auxiliary_dir))
1266 for path in sorted(self._dart_sources_list): 1272 for path in sorted(self._dart_sources_list):
1267 relpath = os.path.relpath(path, library_file_dir) 1273 relpath = os.path.relpath(path, library_file_dir)
1268 imports_emitter.Emit( 1274 imports_emitter.Emit(
1269 "#source('$PATH');\n", PATH=massage_path(relpath)) 1275 "#source('$PATH');\n", PATH=massage_path(relpath))
OLDNEW
« no previous file with comments | « lib/html/scripts/systemdart2js.py ('k') | lib/html/scripts/systemnative.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698