Changeset 58
- Timestamp:
- 04/05/07 11:23:46
- Files:
-
- trunk/geniusql/codewalk.py (modified) (5 diffs)
- trunk/geniusql/test/test_codewalk.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/geniusql/codewalk.py
r57 r58 700 700 701 701 def __repr__(self): 702 return "{%s}" % ", ".join([": ".join((k, v)) 703 for k, v in self.iteritems()]) 702 atoms = [] 703 for k, v in self.iteritems(): 704 atoms.append("%s: %s" % (k, v)) 705 return "{%s}" % ", ".join(atoms) 704 706 705 707 … … 777 779 778 780 def visit_BUILD_LIST(self, lo, hi): 779 terms = [s elf.stack.pop() for i in range(lo + (hi << 8))]781 terms = [str(self.stack.pop()) for i in range(lo + (hi << 8))] 780 782 terms.reverse() 781 783 self.stack.append("[%s]" % ", ".join(terms)) … … 787 789 788 790 def visit_BUILD_TUPLE(self, lo, hi): 789 terms = [s elf.stack.pop() for i in range(lo + (hi << 8))]791 terms = [str(self.stack.pop()) for i in range(lo + (hi << 8))] 790 792 terms.reverse() 791 793 self.stack.append("(%s)" % ", ".join(terms)) … … 797 799 key = self.stack.pop() 798 800 kwargs[key] = val 799 kwargs = ", ".join([ k + "=" + vfor k, v in kwargs.iteritems()])801 kwargs = ", ".join(["%s=%s" % (k, v) for k, v in kwargs.iteritems()]) 800 802 801 803 args = [] … … 804 806 args.append(arg) 805 807 args.reverse() 806 args = ", ".join( args)808 args = ", ".join([str(x) for x in args]) 807 809 808 810 if kwargs: trunk/geniusql/test/test_codewalk.py
r57 r58 220 220 self.assertEqual(codewalk.LambdaDecompiler(builder).code(), 221 221 "lambda a, b, c: (c, [b.next(), a], c.ID)") 222 223 # Test MapStackObject 224 e = lambda t: {'x': 3, 'y': 5} 225 ld = codewalk.LambdaDecompiler(e) 226 c = ld.code() 227 self.assertEqual(c, "lambda t: {'y': 5, 'x': 3}", (c, ld.stack)) 228 229 e = lambda t:{'x':{'a':10}, 'y':5} 230 ld = codewalk.LambdaDecompiler(e) 231 c = ld.code() 232 self.assertEqual(c, "lambda t: {'y': 5, 'x': {'a': 10}}", (c, ld.stack)) 233 234 e = lambda t:{'x':str({'a':10}), 'y':5} 235 ld = codewalk.LambdaDecompiler(e) 236 c = ld.code() 237 self.assertEqual(c, "lambda t: {'y': 5, 'x': str({'a': 10})}", (c, ld.stack)) 238 239 e = lambda t: [{'x': 10}, {'y': 5}] 240 ld = codewalk.LambdaDecompiler(e) 241 c = ld.code() 242 self.assertEqual(c, "lambda t: [{'x': 10}, {'y': 5}]", (c, ld.stack)) 222 243 223 244 def test_BranchTracker(self):
