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

Unified Diff: lib/dom/scripts/dartdomgenerator.py

Issue 10702202: Introduce TypeRegistry class. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: . Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | lib/dom/scripts/dartgenerator.py » ('j') | lib/dom/scripts/dartgenerator.py » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/dom/scripts/dartdomgenerator.py
diff --git a/lib/dom/scripts/dartdomgenerator.py b/lib/dom/scripts/dartdomgenerator.py
index d3b96669fd1fc0bf91ba89a563b3b3bfe5774962..341a8a6ef113f6a9cb74861bca51059da34b8675 100755
--- a/lib/dom/scripts/dartdomgenerator.py
+++ b/lib/dom/scripts/dartdomgenerator.py
@@ -14,6 +14,8 @@ import os
import shutil
import subprocess
import sys
+from generator import TypeRegistry
+from systembase import GeneratorOptions
from systemfrog import FrogSystem
from systemhtml import HtmlInterfacesSystem, HtmlFrogSystem
from systeminterface import InterfacesSystem
@@ -60,6 +62,11 @@ def Generate(system_names, database_dir, use_database_cache, dom_output_dir,
generator.RenameTypes(webkit_database, _webkit_renames, True)
generator.FixEventTargets(webkit_database)
+ def CreateGeneratorOptions(template_paths, conditions, output_dir):
+ return GeneratorOptions(
+ TemplateLoader(template_dir, template_paths, conditions),
+ webkit_database, emitters, TypeRegistry(), output_dir)
+
def Generate(system):
generator.Generate(webkit_database, system,
super_database=common_database,
@@ -69,37 +76,35 @@ def Generate(system_names, database_dir, use_database_cache, dom_output_dir,
for system_name in system_names:
if system_name in ['htmlfrog', 'htmldartium']:
- output_dir = html_output_dir
if system_name == 'htmlfrog':
- backend = HtmlFrogSystem(
- TemplateLoader(template_dir,
- ['html/frog', 'html/impl', 'html', ''],
- {'DARTIUM': False, 'FROG': True}),
- webkit_database, emitters, output_dir)
+ options = CreateGeneratorOptions(
+ ['html/frog', 'html/impl', 'html', ''],
+ {'DARTIUM': False, 'FROG': True},
+ html_output_dir)
+ backend = HtmlFrogSystem(options)
else:
- backend = NativeImplementationSystem(
- TemplateLoader(template_dir, ['dom/native', 'html/dartium',
- 'html/impl', ''],
- {'DARTIUM': True, 'FROG': False}),
- webkit_database, emitters, output_dir, auxiliary_dir)
- html_system = HtmlInterfacesSystem(
- TemplateLoader(template_dir, ['html/interface', 'html/impl', 'html',
- '']),
- webkit_database, emitters, output_dir, backend)
+ options = CreateGeneratorOptions(
+ ['dom/native', 'html/dartium', 'html/impl', ''],
+ {'DARTIUM': True, 'FROG': False},
+ html_output_dir)
+ backend = NativeImplementationSystem(options, auxiliary_dir)
+ options = CreateGeneratorOptions(
+ ['html/interface', 'html/impl', 'html', ''], {}, html_output_dir)
+ html_system = HtmlInterfacesSystem(options, backend)
Generate(html_system)
else:
- output_dir = dom_output_dir
- interface_system = InterfacesSystem(
- TemplateLoader(template_dir, ['dom/interface', 'dom', '']),
- webkit_database, emitters, output_dir)
+ options = CreateGeneratorOptions(
+ ['dom/interface', 'dom', ''], {}, dom_output_dir)
+ interface_system = InterfacesSystem(options)
if system_name == 'dummy':
+ options = CreateGeneratorOptions(
+ ['dom/dummy', 'dom', ''], {}, dom_output_dir)
implementation_system = dartgenerator.DummyImplementationSystem(
- TemplateLoader(template_dir, ['dom/dummy', 'dom', '']),
- webkit_database, emitters, output_dir)
+ options)
elif system_name == 'frog':
- implementation_system = FrogSystem(
- TemplateLoader(template_dir, ['dom/frog', 'dom', '']),
- webkit_database, emitters, output_dir)
+ options = CreateGeneratorOptions(
+ ['dom/frog', 'dom', ''], {}, dom_output_dir)
+ implementation_system = FrogSystem(options)
else:
raise Exception('Unsupported system_name %s' % system_name)
« no previous file with comments | « no previous file | lib/dom/scripts/dartgenerator.py » ('j') | lib/dom/scripts/dartgenerator.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698