From 9fa311bf570157cc8a09d1bb2cf0a1bd60b4faac Mon Sep 17 00:00:00 2001
From: Etienne Kneuss <ekneuss@gmail.com>
Date: Tue, 23 Oct 2012 03:29:55 +0200
Subject: [PATCH] Prettyprint choose in ScalaPrinter

---
 .../scala/leon/purescala/ScalaPrinter.scala   | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/main/scala/leon/purescala/ScalaPrinter.scala b/src/main/scala/leon/purescala/ScalaPrinter.scala
index 501096c45..e7ce49521 100644
--- a/src/main/scala/leon/purescala/ScalaPrinter.scala
+++ b/src/main/scala/leon/purescala/ScalaPrinter.scala
@@ -315,6 +315,25 @@ object ScalaPrinter {
       nsb
     }
 
+    case Choose(ids, pred) => {
+      var nsb = sb
+      nsb.append("(choose { (")
+      for (((id, tpe), i) <- ids.map(id => (id, id.getType)).zipWithIndex) {
+          nsb.append(id.toString+": ")
+          nsb = pp(tpe, nsb, lvl)
+          if (i != ids.size-1) {
+              nsb.append(", ")
+          }
+      }
+      nsb.append(") =>\n")
+      ind(nsb, lvl+1)
+      nsb = pp(pred, nsb, lvl+1)
+      nsb.append("\n")
+      ind(nsb, lvl)
+      nsb.append("})")
+      nsb
+    }
+
     case mex @ MatchExpr(s, csc) => {
       def ppc(sb: StringBuffer, p: Pattern): StringBuffer = p match {
         //case InstanceOfPattern(None,     ctd) =>
-- 
GitLab