! Copyright (C) 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: assocs debugger io kernel sequences source-files.errors summary accessors continuations make math.parser io.styles namespaces ; IN: tools.errors #! Tools for source-files.errors. Used by tools.tests and others #! for error reporting M: source-file-error compute-restarts error>> compute-restarts ; M: source-file-error error-help error>> error-help ; M: source-file-error summary [ [ file>> [ % ": " % ] [ "" % ] if* ] [ line#>> [ # ] when* ] bi ] "" make ; M: source-file-error error. [ summary print nl ] [ error>> error. ] bi ; : errors. ( errors -- ) group-by-source-file sort-errors [ [ nl "==== " write print nl ] [ [ nl ] [ error. ] interleave ] bi* ] assoc-each ;