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

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

Issue 1022483002: Added more diag info (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fixed typo Created 5 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/dom/scripts/databasebuilder.py
diff --git a/tools/dom/scripts/databasebuilder.py b/tools/dom/scripts/databasebuilder.py
index 458f570ae888ed06fe73aba728d79a56ef0f13c8..f61b81be78f37e4118e6720526bae91d2e3440e5 100755
--- a/tools/dom/scripts/databasebuilder.py
+++ b/tools/dom/scripts/databasebuilder.py
@@ -817,6 +817,15 @@ class DatabaseBuilder(object):
print ' (GET/SET) - attribute has relationship'
print ' RETURN - operation\'s returned value has relationship'
print ' (ARGUMENT) - operation\'s argument(s) has relationship'
+ print ''
+ print ' (New) - After dictionary name if constructor(s) exist'
+ print ' (Ops,Props,New) after a NoInterfaceObject name is defined as:'
+ print ' Ops - number of operations for a NoInterfaceObject'
+ print ' Props - number of properties for a NoInterfaceObject'
+ print ' New - T(#) number constructors for a NoInterfaceObject'
+ print ' F no constructors for a NoInterfaceObject'
+ print ' e.g., an interface 5 operations, 3 properties and 2'
+ print ' constructors would display (5,3,T(2))'
print '\n\nExamination Complete\n'
@@ -825,11 +834,26 @@ class DatabaseBuilder(object):
# | Dictionary | Used In Interface | Usage Operation/Attribute |
print '\n\n'
title_bar = ['Dictionary', 'Used In Interface', 'Usage Operation/Attribute'] if check_dictionaries \
- else ['NoInterfaceObject', 'Used In Interface', 'Usage Operation/Attribute']
+ else ['NoInterfaceObject (Ops,Props,New)', 'Used In Interface', 'Usage Operation/Attribute']
self._tabulate_title(title_bar)
diags = self._diag_dictionaries if check_dictionaries else self._diag_no_interfaces
for diag in diags:
- self._tabluate([diag['dictionary' if check_dictionaries else 'no_interface_object'].id, '', ''])
+ if not(check_dictionaries):
+ interface = diag['no_interface_object']
+ ops_count = len(interface.operations)
+ properties_count = len(interface.attributes)
+ any_constructors = 'Constructor' in interface.ext_attrs
+ constructors = 'T(%s)' % len(interface.ext_attrs['Constructor']) if any_constructors else 'F'
+ interface_detail = '%s (%s,%s,%s)' % \
+ (diag['no_interface_object'].id,
+ ops_count,
+ properties_count,
+ constructors)
+ self._tabulate([interface_detail, '', ''])
+ else:
+ dictionary = diag['dictionary']
+ any_constructors = 'Constructor' in dictionary.ext_attrs
+ self._tabulate(['%s%s' % (dictionary.id, ' (New)' if any_constructors else ''), '', ''])
for usage in diag['usages']:
detail = ''
if 'attribute' in usage:
@@ -839,7 +863,7 @@ class DatabaseBuilder(object):
detail = '%s %s%s' % ('RETURN' if usage['result'] else '',
usage['operation'],
'(ARGUMENT)' if usage['argument'] else '')
- self._tabluate([None, usage['interface'], detail])
+ self._tabulate([None, usage['interface'], detail])
self._tabulate_break()
# operation_or_attribute either IDLOperation or IDLAttribute if None then
@@ -967,15 +991,15 @@ class DatabaseBuilder(object):
def _tabulate_title(self, row_title):
title_separator = "=" * self._TABULATE_WIDTH()
- self._tabluate([title_separator, title_separator, title_separator])
- self._tabluate(row_title)
- self._tabluate([title_separator, title_separator, title_separator])
+ self._tabulate([title_separator, title_separator, title_separator])
+ self._tabulate(row_title)
+ self._tabulate([title_separator, title_separator, title_separator])
def _tabulate_break(self):
break_separator = "-" * self._TABULATE_WIDTH()
- self._tabluate([break_separator, break_separator, break_separator])
+ self._tabulate([break_separator, break_separator, break_separator])
- def _tabluate(self, columns):
+ def _tabulate(self, columns):
"""Tabulate a list of columns for a row. Each item in columns is a column
value each column will be padded up to _TABULATE_WIDTH. Each
column starts/ends with a vertical bar '|' the format a row:
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698