From bf159267759cc088cf9941fe8e2d3a4a4758e8d8 Mon Sep 17 00:00:00 2001 From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch> Date: Wed, 4 Mar 2015 18:10:06 +0100 Subject: [PATCH] Make terminating per phase optional --- src/main/scala/leon/Pipeline.scala | 2 +- src/main/scala/leon/Settings.scala | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/scala/leon/Pipeline.scala b/src/main/scala/leon/Pipeline.scala index 64a618129..124f79e9f 100644 --- a/src/main/scala/leon/Pipeline.scala +++ b/src/main/scala/leon/Pipeline.scala @@ -8,7 +8,7 @@ abstract class Pipeline[-F, +T] { def andThen[G](thenn: Pipeline[T, G]): Pipeline[F, G] = new Pipeline[F,G] { def run(ctx : LeonContext)(v : F) : G = { val s = self.run(ctx)(v) - ctx.reporter.terminateIfError() + if(ctx.settings.terminateAfterEachPhase) ctx.reporter.terminateIfError() thenn.run(ctx)(s) } } diff --git a/src/main/scala/leon/Settings.scala b/src/main/scala/leon/Settings.scala index ef9cdf7b0..ad77182a8 100644 --- a/src/main/scala/leon/Settings.scala +++ b/src/main/scala/leon/Settings.scala @@ -6,6 +6,7 @@ import utils.DebugSection case class Settings( val strictCompilation: Boolean = true, // Terminates Leon in case an error occured during extraction + val terminateAfterEachPhase: Boolean = true, // Terminates Leon after each phase if an error occured val debugSections: Set[DebugSection] = Set(), // Enables debug message for the following sections val termination: Boolean = false, val repair: Boolean = false, -- GitLab