Chromium Code Reviews| Index: lib/html/scripts/dartdomgenerator.py |
| diff --git a/lib/html/scripts/dartdomgenerator.py b/lib/html/scripts/dartdomgenerator.py |
| index b2f462ccca2b38c3040d1e5fd01a1883618759fb..d217cc3293b6baa8e7f965581804283ab3c0a6eb 100755 |
| --- a/lib/html/scripts/dartdomgenerator.py |
| +++ b/lib/html/scripts/dartdomgenerator.py |
| @@ -19,9 +19,9 @@ from htmlrenamer import HtmlRenamer |
| from systembase import GeneratorOptions |
| from systemdart2js import Dart2JSSystem |
| from systemhtml import DartLibraryEmitter, HtmlInterfacesSystem,\ |
| - HtmlDart2JSSystem |
| + Dart2JSGeneratorBackend |
| from systeminterface import InterfacesSystem |
| -from systemnative import CPPLibraryEmitter, NativeImplementationSystem |
| +from systemnative import CPPLibraryEmitter, DartiumGeneratorBackend |
| from templateloader import TemplateLoader |
| _logger = logging.getLogger('dartdomgenerator') |
| @@ -70,14 +70,15 @@ def Generate(database_dir, use_database_cache, dart2js_output_dir=None, |
| type_registry = TypeRegistry(webkit_database, renamer) |
| def RunGenerator(dart_library_template, dart_output_dir, dart_library_path, |
|
Anton Muhin
2012/09/26 14:20:36
overall logic becomes rather complicated, so, sorr
|
| - backend): |
| + create_generator_backend): |
|
Anton Muhin
2012/09/26 14:20:36
I'd rather name it generator_backend_factory.
Anton Muhin
2012/09/26 14:20:36
generator backend sounds somewhat too much, can it
podivilov
2012/09/26 15:02:04
Done.
podivilov
2012/09/26 15:02:04
Renamed to FooBackend. Backends should not extend
|
| template_loader = TemplateLoader( |
|
Anton Muhin
2012/09/26 14:20:36
cannot we lift template_loader creation out of thi
podivilov
2012/09/26 15:02:04
Done.
|
| template_dir, ['html/interface', 'html/impl', 'html', ''], {}) |
| options = GeneratorOptions( |
|
Anton Muhin
2012/09/26 14:20:36
cannot we lift options creation out of this functi
|
| template_loader, webkit_database, type_registry, renamer) |
| dart_library_emitter = DartLibraryEmitter( |
| emitters, dart_library_template, dart_output_dir) |
| - html_system = HtmlInterfacesSystem(options, dart_library_emitter, backend) |
| + html_system = HtmlInterfacesSystem( |
| + options, dart_library_emitter, create_generator_backend) |
| generator.Generate( |
| webkit_database, html_system, common_database, _webkit_renames) |
| dart_library_emitter.EmitLibrary(dart_library_path, auxiliary_dir) |
| @@ -88,14 +89,15 @@ def Generate(database_dir, use_database_cache, dart2js_output_dir=None, |
| {'DARTIUM': False, 'DART2JS': True}) |
| backend_options = GeneratorOptions( |
| template_loader, webkit_database, type_registry, renamer) |
| - backend = HtmlDart2JSSystem(backend_options) |
| + def create_generator_backend(interface): |
|
Anton Muhin
2012/09/26 14:20:36
that might be a perfect case for lambda, esp. if y
podivilov
2012/09/26 15:02:04
Done.
|
| + return Dart2JSGeneratorBackend(interface, backend_options) |
| dart_library_template = template_loader.Load('html_dart2js.darttemplate') |
| dart_output_dir = os.path.join(dart2js_output_dir, 'dart') |
| dart_library_path = os.path.join(dart2js_output_dir, 'html_dart2js.dart') |
| - RunGenerator( |
| - dart_library_template, dart_output_dir, dart_library_path, backend) |
| + RunGenerator(dart_library_template, dart_output_dir, dart_library_path, |
| + create_generator_backend) |
| if dartium_output_dir: |
| template_loader = TemplateLoader(template_dir, |
| @@ -105,14 +107,16 @@ def Generate(database_dir, use_database_cache, dart2js_output_dir=None, |
| template_loader, webkit_database, type_registry, renamer) |
| cpp_output_dir = os.path.join(dartium_output_dir, 'cpp') |
| cpp_library_emitter = CPPLibraryEmitter(emitters, cpp_output_dir) |
| - backend = NativeImplementationSystem(backend_options, cpp_library_emitter) |
| + def create_generator_backend(interface): |
| + return DartiumGeneratorBackend( |
| + interface, cpp_library_emitter, backend_options) |
| dart_library_template = template_loader.Load('html_dartium.darttemplate') |
| dart_output_dir = os.path.join(dartium_output_dir, 'dart') |
| dart_library_path = os.path.join(dartium_output_dir, 'html_dartium.dart') |
| - RunGenerator( |
| - dart_library_template, dart_output_dir, dart_library_path, backend) |
| + RunGenerator(dart_library_template, dart_output_dir, dart_library_path, |
| + create_generator_backend) |
| cpp_library_emitter.EmitDerivedSources( |
| template_loader.Load('cpp_derived_sources.template'), |
| dartium_output_dir) |