From 04f248daf266a130712aceb0d915c2b12f72b7b8 Mon Sep 17 00:00:00 2001 From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch> Date: Wed, 18 May 2016 16:04:04 +0200 Subject: [PATCH] Search can be passed problem once - make it public --- src/main/scala/leon/synthesis/Search.scala | 4 +++- src/main/scala/leon/synthesis/Synthesizer.scala | 6 ++---- .../scala/leon/integration/solvers/StringRenderSuite.scala | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/scala/leon/synthesis/Search.scala b/src/main/scala/leon/synthesis/Search.scala index e9501009d..15efbc18f 100644 --- a/src/main/scala/leon/synthesis/Search.scala +++ b/src/main/scala/leon/synthesis/Search.scala @@ -11,7 +11,9 @@ import scala.annotation.tailrec import leon.utils.Interruptible import java.util.concurrent.atomic.AtomicBoolean -class Search(val ctx: LeonContext, ci: SourceInfo, p: Problem, val strat: Strategy) extends Interruptible { +class Search(val ctx: LeonContext, ci: SourceInfo, val strat: Strategy) extends Interruptible { + + val p: Problem = ci.problem val g = new Graph(p) val interrupted = new AtomicBoolean(false) diff --git a/src/main/scala/leon/synthesis/Synthesizer.scala b/src/main/scala/leon/synthesis/Synthesizer.scala index 8baabbe25..c9be0bf70 100644 --- a/src/main/scala/leon/synthesis/Synthesizer.scala +++ b/src/main/scala/leon/synthesis/Synthesizer.scala @@ -20,8 +20,6 @@ class Synthesizer(val context : LeonContext, val ci: SourceInfo, val settings: SynthesisSettings) { - val problem = ci.problem - val reporter = context.reporter lazy val sctx = new SynthesisContext(context, settings, ci.fd, program) @@ -44,14 +42,14 @@ class Synthesizer(val context : LeonContext, strat1 } - new Search(context, ci, problem, strat2) + new Search(context, ci, strat2) } private var lastTime: Long = 0 def synthesize(): (Search, Stream[Solution]) = { reporter.ifDebug { printer => - printer(problem.eb.asString("Tests available for synthesis")(context)) + printer(ci.problem.eb.asString("Tests available for synthesis")(context)) } val s = getSearch diff --git a/src/test/scala/leon/integration/solvers/StringRenderSuite.scala b/src/test/scala/leon/integration/solvers/StringRenderSuite.scala index 72bc14f65..681ac6287 100644 --- a/src/test/scala/leon/integration/solvers/StringRenderSuite.scala +++ b/src/test/scala/leon/integration/solvers/StringRenderSuite.scala @@ -85,7 +85,7 @@ class StringRenderSuite extends LeonTestSuiteWithProgram with Matchers with Scal def applyStringRenderOn(functionName: String): (FunDef, Program) = { val ci = synthesisInfos(functionName) - val search = new Search(ctx, ci, ci.problem, new CostBasedStrategy(ctx, CostModels.default)) + val search = new Search(ctx, ci, new CostBasedStrategy(ctx, CostModels.default)) val synth = new Synthesizer(ctx, program, ci, SynthesisSettings(rules = Seq(StringRender))) val orNode = search.g.root if (!orNode.isExpanded) { -- GitLab