From 28f52708e044e68b0586ee1cc198cbaaa1da840a Mon Sep 17 00:00:00 2001 From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch> Date: Thu, 27 Aug 2015 16:13:12 +0200 Subject: [PATCH] Make sure a Tree is not its own parent --- src/main/scala/leon/purescala/PrinterHelpers.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/scala/leon/purescala/PrinterHelpers.scala b/src/main/scala/leon/purescala/PrinterHelpers.scala index b0fb6e722..46ca1ae30 100644 --- a/src/main/scala/leon/purescala/PrinterHelpers.scala +++ b/src/main/scala/leon/purescala/PrinterHelpers.scala @@ -54,7 +54,12 @@ object PrinterHelpers { nary(ts).print(nctx) case t: Tree => - val nctx2 = nctx.copy(parents = nctx.current :: nctx.parents, current = t) + val parents = if (nctx.current == t) { + nctx.parents + } else { + nctx.current :: nctx.parents + } + val nctx2 = nctx.copy(parents = parents, current = t) printer.pp(t)(nctx2) case p: Printable => -- GitLab