From a99ba210d43feb84782321e9375e431058036576 Mon Sep 17 00:00:00 2001 From: Etienne Kneuss <ekneuss@gmail.com> Date: Tue, 30 Oct 2012 16:45:39 +0100 Subject: [PATCH] Generate leon errors that are explicitly typed --- library/src/main/scala/leon/Utils.scala | 2 ++ src/main/scala/leon/purescala/ScalaPrinter.scala | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/library/src/main/scala/leon/Utils.scala b/library/src/main/scala/leon/Utils.scala index a6d1ea771..366cc3975 100644 --- a/library/src/main/scala/leon/Utils.scala +++ b/library/src/main/scala/leon/Utils.scala @@ -27,4 +27,6 @@ object Utils { def choose[A, B, C](predicate: (A, B, C) => Boolean): (A, B, C) = noChoose def choose[A, B, C, D](predicate: (A, B, C, D) => Boolean): (A, B, C, D) = noChoose def choose[A, B, C, D, E](predicate: (A, B, C, D, E) => Boolean): (A, B, C, D, E) = noChoose + + def error[T](reason: String): T = sys.error(reason) } diff --git a/src/main/scala/leon/purescala/ScalaPrinter.scala b/src/main/scala/leon/purescala/ScalaPrinter.scala index fb1e14785..feff130ee 100644 --- a/src/main/scala/leon/purescala/ScalaPrinter.scala +++ b/src/main/scala/leon/purescala/ScalaPrinter.scala @@ -426,7 +426,9 @@ object ScalaPrinter { case e @ Error(desc) => { var nsb = sb - nsb.append("sys.error(\"" + desc + "\")") + nsb.append("leon.Utils.error[") + nsb = pp(e.getType, nsb, lvl) + nsb.append("](\"" + desc + "\")") nsb } -- GitLab