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

Unified Diff: tools/dom/scripts/htmldartgenerator.py

Issue 12964003: Allowing renaming on DOM members on a per-method basis (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 9 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: tools/dom/scripts/htmldartgenerator.py
diff --git a/tools/dom/scripts/htmldartgenerator.py b/tools/dom/scripts/htmldartgenerator.py
index 30ccdd03614008e848de99e8d068467101e381d9..d0dd0f6097a7fda09a1492a3f5517f86d763fc50 100644
--- a/tools/dom/scripts/htmldartgenerator.py
+++ b/tools/dom/scripts/htmldartgenerator.py
@@ -82,16 +82,12 @@ class HtmlDartGenerator(object):
self.AmendIndexer(parent_type_info.list_item_type())
break
- # Group overloaded operations by id.
- operationsById = {}
- for operation in interface.operations:
- if operation.id not in operationsById:
- operationsById[operation.id] = []
- operationsById[operation.id].append(operation)
+ # Group overloaded operations by name.
+ operationsByName = self._OperationsByName(interface)
# Generate operations.
- for id in sorted(operationsById.keys()):
- operations = operationsById[id]
+ for id in sorted(operationsByName.keys()):
+ operations = operationsByName[id]
info = AnalyzeOperation(interface, operations)
self.AddOperation(info, declare_only)
if ('%s.%s' % (interface.id, info.declared_name) in
@@ -112,21 +108,26 @@ class HtmlDartGenerator(object):
self.SecondaryContext(parent_interface)
self.AddAttribute(attr)
- # Group overloaded operations by id.
- operationsById = {}
- for operation in parent_interface.operations:
- if operation.id not in operationsById:
- operationsById[operation.id] = []
- operationsById[operation.id].append(operation)
+ # Group overloaded operations by name.
+ operationsByName =self. _OperationsByName(parent_interface)
Anton Muhin 2013/03/21 14:03:02 nit: unnecessary space after .
blois 2013/03/21 16:55:43 Done.
# Generate operations.
- for id in sorted(operationsById.keys()):
+ for id in sorted(operationsByName.keys()):
if not any(op.id == id for op in interface.operations):
- operations = operationsById[id]
+ operations = operationsByName[id]
info = AnalyzeOperation(interface, operations)
self.SecondaryContext(parent_interface)
self.AddOperation(info)
+ def _OperationsByName(self, interface):
+ operationsByName = {}
+ for operation in interface.operations:
+ name = operation.ext_attrs.get('DartName', operation.id)
+ if name not in operationsByName:
Anton Muhin 2013/03/21 14:03:02 those three lines can be rewritten as: operations
blois 2013/03/21 16:55:43 Think it has to be: operationsByName.setdefault(na
Anton Muhin 2013/03/21 16:56:51 My bad and you're right, sorry. On 2013/03/21 16:
+ operationsByName[name] = []
+ operationsByName[name].append(operation)
+ return operationsByName
+
def AddConstant(self, constant):
const_name = self._renamer.RenameMember(
self._interface.id, constant, constant.id, 'get:', dartify_name=False)

Powered by Google App Engine
This is Rietveld 408576698