From 16c5eabe30990473834cd21ff77db76c7c18da1e Mon Sep 17 00:00:00 2001 From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch> Date: Mon, 31 Aug 2015 13:35:06 +0200 Subject: [PATCH] Pretty print Raw Array --- src/main/scala/leon/solvers/RawArray.scala | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/scala/leon/solvers/RawArray.scala b/src/main/scala/leon/solvers/RawArray.scala index e63dbad12..05ec28a86 100644 --- a/src/main/scala/leon/solvers/RawArray.scala +++ b/src/main/scala/leon/solvers/RawArray.scala @@ -3,13 +3,23 @@ package leon package solvers +import leon.purescala.{PrinterContext, PrettyPrintable} +import leon.purescala.PrinterHelpers._ import purescala.Types._ import purescala.Expressions._ // Corresponds to a smt map, not a leon/scala array -private[solvers] case class RawArrayType(from: TypeTree, to: TypeTree) extends TypeTree +private[solvers] case class RawArrayType(from: TypeTree, to: TypeTree) extends TypeTree with PrettyPrintable { + override def printWith(implicit pctx: PrinterContext): Unit = { + p"RawArrayType[$from, $to]" + } +} // Corresponds to a raw array value, which is coerced to a Leon expr depending on target type (set/array) -private[solvers] case class RawArrayValue(keyTpe: TypeTree, elems: Map[Expr, Expr], default: Expr) extends Expr { +private[solvers] case class RawArrayValue(keyTpe: TypeTree, elems: Map[Expr, Expr], default: Expr) extends Expr with PrettyPrintable{ val getType = RawArrayType(keyTpe, default.getType) + + override def printWith(implicit pctx: PrinterContext): Unit = { + p"RawArrayValue[$keyTpe](${nary(elems.toSeq, ", ")}, default = $default)" + } } -- GitLab