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

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

Issue 14251017: Distinguish between common and dart2js specific monitored. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 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/generator.py ('k') | tools/dom/scripts/systemhtml.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 """This module provides maps and sets that report unused elements.""" 6 """This module provides maps and sets that report unused elements."""
7 7
8 _monitored_values = [] 8 _monitored_values = []
9 9
10 10
11 def FinishMonitoring(): 11 def FinishMonitoring(includeDart2jsOnly):
12 for value in _monitored_values: 12 for value in _monitored_values:
13 if value._dart2jsOnly and not includeDart2jsOnly:
14 continue
13 value.CheckUsage() 15 value.CheckUsage()
14 16
15 class MonitoredCollection(object): 17 class MonitoredCollection(object):
16 def __init__(self, name): 18 def __init__(self, name, dart2jsOnly):
17 self.name = name 19 self.name = name
18 self._used_keys = set() 20 self._used_keys = set()
21 self._dart2jsOnly = dart2jsOnly
19 _monitored_values.append(self) 22 _monitored_values.append(self)
20 23
21 class Dict(MonitoredCollection): 24 class Dict(MonitoredCollection):
22 """Wrapper for a dict that reports unused keys.""" 25 """Wrapper for a dict that reports unused keys."""
23 26
24 def __init__(self, name, map): 27 def __init__(self, name, map, dart2jsOnly=False):
25 super(Dict, self).__init__(name) 28 super(Dict, self).__init__(name, dart2jsOnly)
26 self._map = map 29 self._map = map
27 30
28 def __getitem__(self, key): 31 def __getitem__(self, key):
29 self._used_keys.add(key) 32 self._used_keys.add(key)
30 return self._map[key] 33 return self._map[key]
31 34
32 def __setitem__(self, key, value): 35 def __setitem__(self, key, value):
33 self._map[key] = value 36 self._map[key] = value
34 37
35 def __contains__(self, key): 38 def __contains__(self, key):
36 self._used_keys.add(key) 39 self._used_keys.add(key)
37 return key in self._map 40 return key in self._map
38 41
39 def __iter__(self): 42 def __iter__(self):
40 return self._map.__iter__() 43 return self._map.__iter__()
41 44
42 def get(self, key, default=None): 45 def get(self, key, default=None):
43 self._used_keys.add(key) 46 self._used_keys.add(key)
44 return self._map.get(key, default) 47 return self._map.get(key, default)
45 48
46 def CheckUsage(self): 49 def CheckUsage(self):
47 for v in sorted(self._map.keys()): 50 for v in sorted(self._map.keys()):
48 if v not in self._used_keys: 51 if v not in self._used_keys:
49 print "dict '%s' has unused key '%s'" % (self.name, v) 52 print "dict '%s' has unused key '%s'" % (self.name, v)
50 53
51 54
52 class Set(MonitoredCollection): 55 class Set(MonitoredCollection):
53 """Wrapper for a set that reports unused keys.""" 56 """Wrapper for a set that reports unused keys."""
54 57
55 def __init__(self, name, a_set): 58 def __init__(self, name, a_set, dart2jsOnly=False):
56 super(Set, self).__init__(name) 59 super(Set, self).__init__(name, dart2jsOnly)
57 self._set = a_set 60 self._set = a_set
58 61
59 def __contains__(self, key): 62 def __contains__(self, key):
60 self._used_keys.add(key) 63 self._used_keys.add(key)
61 return key in self._set 64 return key in self._set
62 65
63 def __iter__(self): 66 def __iter__(self):
64 return self._set.__iter__() 67 return self._set.__iter__()
65 68
66 def add(self, key): 69 def add(self, key):
67 self._set += [key] 70 self._set += [key]
68 71
69 def CheckUsage(self): 72 def CheckUsage(self):
70 for v in sorted(self._set): 73 for v in sorted(self._set):
71 if v not in self._used_keys: 74 if v not in self._used_keys:
72 print "set '%s' has unused key '%s'" % (self.name, v) 75 print "set '%s' has unused key '%s'" % (self.name, v)
OLDNEW
« no previous file with comments | « tools/dom/scripts/generator.py ('k') | tools/dom/scripts/systemhtml.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698