From 7086277b2811bb8b44967422a2e7cce1f1a2a6a3 Mon Sep 17 00:00:00 2001 From: Tim Vieira Date: Thu, 11 Jul 2013 12:08:17 -0400 Subject: [PATCH] stabilize error dump. --- src/Dyna/Backend/Python/interpreter.py | 8 ++++---- test/repl/error.dynadoc | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Dyna/Backend/Python/interpreter.py b/src/Dyna/Backend/Python/interpreter.py index 2a3da45..ffaedfc 100644 --- a/src/Dyna/Backend/Python/interpreter.py +++ b/src/Dyna/Backend/Python/interpreter.py @@ -217,16 +217,16 @@ class Interpreter(object): for item, (val, es) in self.error.items(): for e, h in es: if h is None: - I[item.fn][type(e)].append((e, item, val)) + I[item.fn][type(e)].append((item, val, e)) else: - E[h.rule][type(e)].append((e, item, val)) + E[h.rule][type(e)].append((item, val, e)) # aggregation errors for r in sorted(I, key=lambda r: r.index): print >> out, 'Error(s) aggregating %s:' % r for etype in I[r]: print >> out, ' %s:' % etype.__name__ - for i, (e, item, value) in enumerate(sorted(I[r][etype])): # todo: probably don't want to show ten million errors + for i, (item, value, e) in enumerate(sorted(I[r][etype])): if i >= 5: print >> out, ' %s more ...' % (len(I[r][etype]) - i) break @@ -242,7 +242,7 @@ class Interpreter(object): print >> out for etype in E[r]: print >> out, ' %s:' % etype.__name__ - for i, (e, item, value) in enumerate(sorted(E[r][etype])): # todo: probably don't want to show ten million errors + for i, (item, value, e) in enumerate(sorted(E[r][etype])): if i >= 5: print >> out, ' %s more ...' % (len(E[r][etype]) - i) break diff --git a/test/repl/error.dynadoc b/test/repl/error.dynadoc index 09e3e53..e86fb24 100644 --- a/test/repl/error.dynadoc +++ b/test/repl/error.dynadoc @@ -56,8 +56,8 @@ Errors ====== Error(s) aggregating a/1: AggregatorError: - `a(2)`: `:=` got conflicting values [1, 2] for rule index 8 `a(1)`: `:=` got conflicting values [1, 2] for rule index 8 + `a(2)`: `:=` got conflicting values [1, 2] for rule index 8 Error(s) aggregating d/0: TypeError: `d`: unsupported operand type(s) for *: 'NoneType' and 'int' -- 2.50.1