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

Side by Side Diff: tools/dom/scripts/monitored.py

Issue 554853002: "Reverting 39948" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/dom/scripts/idlnode_test.py ('k') | tools/dom/scripts/multiemitter.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 2 # Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
3 # for details. All rights reserved. Use of this source code is governed by a 3 # for details. All rights reserved. Use of this source code is governed by a
4 # BSD-style license that can be found in the LICENSE file. 4 # BSD-style license that can be found in the LICENSE file.
5 5
6
7 """This module provides maps and sets that report unused elements.""" 6 """This module provides maps and sets that report unused elements."""
8 7
9 _monitored_values = [] 8 _monitored_values = []
10 9
11 10
12 def FinishMonitoring(includeDart2jsOnly, logger): 11 def FinishMonitoring(includeDart2jsOnly):
13 for value in _monitored_values: 12 for value in _monitored_values:
14 if value._dart2jsOnly and not includeDart2jsOnly: 13 if value._dart2jsOnly and not includeDart2jsOnly:
15 continue 14 continue
16 value.CheckUsage(logger) 15 value.CheckUsage()
17 16
18 class MonitoredCollection(object): 17 class MonitoredCollection(object):
19 def __init__(self, name, dart2jsOnly): 18 def __init__(self, name, dart2jsOnly):
20 self.name = name 19 self.name = name
21 self._used_keys = set() 20 self._used_keys = set()
22 self._dart2jsOnly = dart2jsOnly 21 self._dart2jsOnly = dart2jsOnly
23 _monitored_values.append(self) 22 _monitored_values.append(self)
24 23
25 class Dict(MonitoredCollection): 24 class Dict(MonitoredCollection):
26 """Wrapper for a dict that reports unused keys.""" 25 """Wrapper for a dict that reports unused keys."""
(...skipping 16 matching lines...) Expand all
43 def __iter__(self): 42 def __iter__(self):
44 return self._map.__iter__() 43 return self._map.__iter__()
45 44
46 def get(self, key, default=None): 45 def get(self, key, default=None):
47 self._used_keys.add(key) 46 self._used_keys.add(key)
48 return self._map.get(key, default) 47 return self._map.get(key, default)
49 48
50 def keys(self): 49 def keys(self):
51 return self._map.keys() 50 return self._map.keys()
52 51
53 def CheckUsage(self, logger): 52 def CheckUsage(self):
54 for v in sorted(self._map.keys()): 53 for v in sorted(self._map.keys()):
55 if v not in self._used_keys: 54 if v not in self._used_keys:
56 logger.warn('dict \'%s\' has unused key \'%s\'' % (self.name, v)) 55 print "dict '%s' has unused key '%s'" % (self.name, v)
57 56
58 57
59 class Set(MonitoredCollection): 58 class Set(MonitoredCollection):
60 """Wrapper for a set that reports unused keys.""" 59 """Wrapper for a set that reports unused keys."""
61 60
62 def __init__(self, name, a_set, dart2jsOnly=False): 61 def __init__(self, name, a_set, dart2jsOnly=False):
63 super(Set, self).__init__(name, dart2jsOnly) 62 super(Set, self).__init__(name, dart2jsOnly)
64 self._set = a_set 63 self._set = a_set
65 64
66 def __contains__(self, key): 65 def __contains__(self, key):
67 self._used_keys.add(key) 66 self._used_keys.add(key)
68 return key in self._set 67 return key in self._set
69 68
70 def __iter__(self): 69 def __iter__(self):
71 return self._set.__iter__() 70 return self._set.__iter__()
72 71
73 def add(self, key): 72 def add(self, key):
74 self._set += [key] 73 self._set += [key]
75 74
76 def CheckUsage(self, logger): 75 def CheckUsage(self):
77 for v in sorted(self._set): 76 for v in sorted(self._set):
78 if v not in self._used_keys: 77 if v not in self._used_keys:
79 logger.warn('set \'%s\' has unused key \'%s\'' % (self.name, v)) 78 print "set '%s' has unused key '%s'" % (self.name, v)
OLDNEW
« no previous file with comments | « tools/dom/scripts/idlnode_test.py ('k') | tools/dom/scripts/multiemitter.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698