OLD | NEW |
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 import logging | 10 import logging |
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
646 return self._type_registry.DartType(type_name) | 646 return self._type_registry.DartType(type_name) |
647 | 647 |
648 | 648 |
649 # ------------------------------------------------------------------------------ | 649 # ------------------------------------------------------------------------------ |
650 | 650 |
651 class Dart2JSBackend(HtmlDartGenerator): | 651 class Dart2JSBackend(HtmlDartGenerator): |
652 """Generates a dart2js class for the dart:html library from a DOM IDL | 652 """Generates a dart2js class for the dart:html library from a DOM IDL |
653 interface. | 653 interface. |
654 """ | 654 """ |
655 | 655 |
656 def __init__(self, interface, options): | 656 def __init__(self, interface, options, logging_level=logging.WARNING): |
657 super(Dart2JSBackend, self).__init__(interface, options, False) | 657 super(Dart2JSBackend, self).__init__(interface, options, False) |
658 | 658 |
659 self._database = options.database | 659 self._database = options.database |
660 self._template_loader = options.templates | 660 self._template_loader = options.templates |
661 self._type_registry = options.type_registry | 661 self._type_registry = options.type_registry |
662 self._renamer = options.renamer | 662 self._renamer = options.renamer |
663 self._metadata = options.metadata | 663 self._metadata = options.metadata |
664 self._interface_type_info = self._type_registry.TypeInfo(self._interface.id) | 664 self._interface_type_info = self._type_registry.TypeInfo(self._interface.id) |
665 self._current_secondary_parent = None | 665 self._current_secondary_parent = None |
666 self._library_name = self._renamer.GetLibraryName(self._interface) | 666 self._library_name = self._renamer.GetLibraryName(self._interface) |
667 | 667 |
| 668 _logger.setLevel(logging_level) |
| 669 |
668 def ImplementsMergedMembers(self): | 670 def ImplementsMergedMembers(self): |
669 return True | 671 return True |
670 | 672 |
671 def GenerateCallback(self, info): | 673 def GenerateCallback(self, info): |
672 pass | 674 pass |
673 | 675 |
674 def AdditionalImplementedInterfaces(self): | 676 def AdditionalImplementedInterfaces(self): |
675 implements = super(Dart2JSBackend, self).AdditionalImplementedInterfaces() | 677 implements = super(Dart2JSBackend, self).AdditionalImplementedInterfaces() |
676 if self._interface_type_info.list_item_type() and self.HasIndexedGetter(): | 678 if self._interface_type_info.list_item_type() and self.HasIndexedGetter(): |
677 implements.append('JavaScriptIndexingBehavior') | 679 implements.append('JavaScriptIndexingBehavior') |
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1266 | 1268 |
1267 def AddFile(self, basename, library_name, path): | 1269 def AddFile(self, basename, library_name, path): |
1268 self._libraries[library_name].AddFile(path) | 1270 self._libraries[library_name].AddFile(path) |
1269 | 1271 |
1270 def AddTypeEntry(self, library_name, idl_name, dart_name): | 1272 def AddTypeEntry(self, library_name, idl_name, dart_name): |
1271 self._libraries[library_name].AddTypeEntry(idl_name, dart_name) | 1273 self._libraries[library_name].AddTypeEntry(idl_name, dart_name) |
1272 | 1274 |
1273 def Emit(self, emitter, auxiliary_dir): | 1275 def Emit(self, emitter, auxiliary_dir): |
1274 for lib in self._libraries.values(): | 1276 for lib in self._libraries.values(): |
1275 lib.Emit(emitter, auxiliary_dir) | 1277 lib.Emit(emitter, auxiliary_dir) |
OLD | NEW |