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

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

Issue 10697080: Split backend.AddMembers call into series of backend.AddAtribute/backend.AddOperation calls. (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/systemnative.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/dom/scripts/systemhtml.py
diff --git a/lib/dom/scripts/systemhtml.py b/lib/dom/scripts/systemhtml.py
index d432c32d5b5b3ac0a0fb5bc49be66af91542568e..26ae38d23342fc93a716f0b7ee0454f4f38d6abc 100644
--- a/lib/dom/scripts/systemhtml.py
+++ b/lib/dom/scripts/systemhtml.py
@@ -932,17 +932,23 @@ class HtmlDartInterfaceGenerator(BaseGenerator):
self._GenerateEvents()
+ backend = self._backend
Anton Muhin 2012/07/04 20:03:17 nit: backend -> old_backend
podivilov 2012/07/05 09:13:43 Done.
+ self._backend = backend.MergedMembersGenerator()
for merged_interface in _merged_html_interfaces:
if _merged_html_interfaces[merged_interface] == self._interface.id:
merged_interface = self._database.GetInterface(merged_interface)
self.AddMembers(merged_interface)
- self._backend.AddMergedMembers(merged_interface)
+ self._backend = backend
Anton Muhin 2012/07/04 20:03:17 I am slightly uneasy that you mutate internal stat
podivilov 2012/07/05 09:13:43 Why HtmlDartInterfaceGenerator shouldn't mutate it
- self._backend.AddMembers(self._interface)
- self._backend.AddSecondaryMembers(self._interface)
- self._backend.FinishInterface()
+ def AddIndexer(self, element_type):
+ self._backend.AddIndexer(element_type)
+
+ def AmendIndexer(self, element_type):
+ self._backend.AmendIndexer(element_type)
def AddAttribute(self, attribute):
+ self._backend.AddAttribute(attribute)
+
getter = attribute
setter = attribute if not IsReadOnly(attribute) else None
dom_name = DartDomNameOfAttribute(getter)
@@ -998,9 +1004,14 @@ class HtmlDartInterfaceGenerator(BaseGenerator):
NAME=html_name,
PARAMS=info.ParametersInterfaceDeclaration(
self._shared.DartType))
+ self._backend.AddOperation(info)
+
+ def AddStaticOperation(self, info):
+ self._backend.AddStaticOperation(info)
def FinishInterface(self):
- pass
+ self._backend.AddSecondaryMembers(self._interface)
+ self._backend.FinishInterface()
def AddConstant(self, constant):
type = TypeOrNothing(DartType(constant.type.id), constant.type.id)
@@ -1008,6 +1019,7 @@ class HtmlDartInterfaceGenerator(BaseGenerator):
NAME=constant.id,
TYPE=type,
VALUE=constant.value)
+ self._backend.AddConstant(constant)
def _GenerateEvents(self):
emit_events, event_attrs = self._shared.GetEventAttributes(self._interface)
@@ -1107,8 +1119,8 @@ class HtmlFrogClassGenerator(FrogInterfaceGenerator):
def SetImplementationEmitter(self, implementation_emitter):
self._dart_code = implementation_emitter
- def AddMergedMembers(self, merged_interface):
- self.AddMembers(merged_interface)
+ def MergedMembersGenerator(self):
+ return self
def _ImplClassName(self, type_name):
return self._shared._ImplClassName(type_name)
« no previous file with comments | « no previous file | lib/dom/scripts/systemnative.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698