ยปCore Development>Code coverage>Lib/compiler/misc.py

Python code coverage for Lib/compiler/misc.py

#countcontent
1n/a
22def flatten(tup):
30 elts = []
40 for elt in tup:
50 if isinstance(elt, tuple):
60 elts = elts + flatten(elt)
7n/a else:
80 elts.append(elt)
90 return elts
10n/a
114class Set:
122 def __init__(self):
133159 self.elts = {}
142 def __len__(self):
150 return len(self.elts)
162 def __contains__(self, elt):
170 return elt in self.elts
182 def add(self, elt):
196814 self.elts[elt] = elt
202 def elements(self):
212109 return self.elts.keys()
222 def has_elt(self, elt):
2311 return elt in self.elts
242 def remove(self, elt):
2511 del self.elts[elt]
262 def copy(self):
270 c = Set()
280 c.elts.update(self.elts)
290 return c
30n/a
314class Stack:
322 def __init__(self):
332118 self.stack = []
342118 self.pop = self.stack.pop
352 def __len__(self):
363 return len(self.stack)
372 def push(self, elt):
381327 self.stack.append(elt)
392 def top(self):
403 return self.stack[-1]
412 def __getitem__(self, index): # needed by visitContinue()
420 return self.stack[index]
43n/a
442MANGLE_LEN = 256 # magic constant from compile.c
45n/a
462def mangle(name, klass):
4720712 if not name.startswith('__'):
4818898 return name
491814 if len(name) + 2 >= MANGLE_LEN:
500 return name
511814 if name.endswith('__'):
521750 return name
5364 try:
5464 i = 0
5564 while klass[i] == '_':
560 i = i + 1
570 except IndexError:
580 return name
5964 klass = klass[i:]
60n/a
6164 tlen = len(klass) + len(name)
6264 if tlen > MANGLE_LEN:
630 klass = klass[:MANGLE_LEN-tlen]
64n/a
6564 return "_%s%s" % (klass, name)
66n/a
672def set_filename(filename, tree):
68n/a """Set the filename attribute to filename on every node in tree"""
6931 worklist = [tree]
7024869 while worklist:
7124838 node = worklist.pop(0)
7224838 node.filename = filename
7324838 worklist.extend(node.getChildNodes())