From 971da4cd49f9b7ca1e3ee880e17050dfeee1bb3c Mon Sep 17 00:00:00 2001 From: Etienne Kneuss <colder@php.net> Date: Mon, 26 Aug 2013 16:39:44 +0200 Subject: [PATCH] Terminate more gracefully when manual serach is interrupted --- src/main/scala/leon/synthesis/ManualSearch.scala | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/scala/leon/synthesis/ManualSearch.scala b/src/main/scala/leon/synthesis/ManualSearch.scala index b64a83403..8e74793d6 100644 --- a/src/main/scala/leon/synthesis/ManualSearch.scala +++ b/src/main/scala/leon/synthesis/ManualSearch.scala @@ -84,6 +84,14 @@ class ManualSearch(synth: Synthesizer, println("-"*80) } + override def stop() { + super.stop() + cmdQueue = "q" :: Nil + continue = false + } + + var continue = true + override def nextLeaf(): Option[g.Leaf] = { g.tree match { @@ -92,7 +100,7 @@ class ManualSearch(synth: Synthesizer, case _ => var res: Option[g.Leaf] = None - var continue = true + continue = true while(continue) { printGraph() @@ -157,6 +165,11 @@ class ManualSearch(synth: Synthesizer, } } } catch { + case e: java.lang.NumberFormatException => + + case e: java.io.IOException => + continue = false + case e: Throwable => error("Woops: "+e.getMessage()) e.printStackTrace() -- GitLab