diff --git a/src/main/scala/leon/purescala/PrinterHelpers.scala b/src/main/scala/leon/purescala/PrinterHelpers.scala index b0fb6e7226a349ec138e09be4f88c743ebfc5fea..46ca1ae30ca1a814127206cbf0c640410de16101 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 =>