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

Unified Diff: client/dom/scripts/idlnode.py

Issue 9403004: Wrapperless dart:html generator (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Cleanup Created 8 years, 10 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
Index: client/dom/scripts/idlnode.py
diff --git a/client/dom/scripts/idlnode.py b/client/dom/scripts/idlnode.py
index 356c77f1f262fc4081501e1b353e35bc9dae8acf..4f05bfddc33531fb2dd509623ae1a5b463d0435e 100755
--- a/client/dom/scripts/idlnode.py
+++ b/client/dom/scripts/idlnode.py
@@ -16,6 +16,7 @@ class IDLNode(object):
def __init__(self, ast):
"""Initializes an IDLNode from a PegParser AST output."""
self.id = self._find_first(ast, 'Id') if ast is not None else None
+ # TODO(jacobr): move back to native_name
def __repr__(self):
"""Generates string of the form <class id extra extra ... 0x12345678>."""
@@ -351,7 +352,21 @@ class IDLInterface(IDLNode):
self.is_supplemental = 'Supplemental' in self.ext_attrs
self.is_no_interface_object = 'NoInterfaceObject' in self.ext_attrs
self.is_fc_suppressed = 'Suppressed' in self.ext_attrs
+ self.native_name = self.id
+ def has_attribute(self, candidate):
sra1 2012/02/16 04:43:28 This is pretty much _FindMatchingAttribute
+ for attribute in self.attributes:
+ if attribute.id == candidate.id and attribute.is_fc_getter == candidate.is_fc_getter and attribute.is_fc_setter == candidate.is_fc_setter:
+ return True
+ return False
+
+ def merge(self, other):
sra1 2012/02/16 04:43:28 Please move the merge logic, including above funct
+ self.operations.extend(other.operations)
+ for attribute in other.attributes:
+ if not self.has_attribute(attribute):
+ self.attributes.append(attribute)
+
+ self.constants.extend(other.constants)
class IDLParentInterface(IDLNode):
"""This IDLNode specialization is for 'Interface Child : Parent {}'

Powered by Google App Engine
This is Rietveld 408576698