diff --git a/src/main/scala/leon/Main.scala b/src/main/scala/leon/Main.scala index 3f6f9e9278a6504a5e465db6870b84b987e67bfa..98d9778b8c3411d574469bf807518b40179030a1 100644 --- a/src/main/scala/leon/Main.scala +++ b/src/main/scala/leon/Main.scala @@ -117,7 +117,7 @@ object Main { LeonContext(settings = settings, reporter = reporter, files = files, options = leonOptions) } - def computePipeline(settings: Settings): Pipeline[List[String], Unit] = { + def computePipeline(settings: Settings): Pipeline[List[String], Any] = { import purescala.Definitions.Program val pipeBegin : Pipeline[List[String],Program] = plugin.ExtractionPhase @@ -129,28 +129,27 @@ object Main { ImperativeCodeElimination andThen FunctionClosure } else { - NoopPhase[Program]() + NoopPhase() } val pipeSynthesis: Pipeline[Program, Program]= if (settings.synthesis) { synthesis.SynthesisPhase } else { - NoopPhase[Program]() + NoopPhase() } val pipeVerify: Pipeline[Program, Any] = if (settings.verify) { verification.AnalysisPhase } else { - NoopPhase[Program]() + NoopPhase() } pipeBegin andThen pipeTransforms andThen pipeSynthesis andThen - pipeVerify andThen - ExitPhase() + pipeVerify } def main(args : Array[String]) { diff --git a/src/main/scala/leon/Pipeline.scala b/src/main/scala/leon/Pipeline.scala index cc79495df619d9cb6ed74fb7a8fb03f628e07d6b..4cbf3dce38325928725408e07182c30da5d3a193 100644 --- a/src/main/scala/leon/Pipeline.scala +++ b/src/main/scala/leon/Pipeline.scala @@ -1,7 +1,7 @@ package leon abstract class Pipeline[-F, +T] { - self => + self => def andThen[G](then: Pipeline[T, G]): Pipeline[F, G] = new Pipeline[F,G] { def run(ctx : LeonContext)(v : F) : G = then.run(ctx)(self.run(ctx)(v))