From 2f4b69c9ce5e348cbcd84631a367a7db1b9772ab Mon Sep 17 00:00:00 2001 From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch> Date: Fri, 5 Aug 2016 18:36:17 +0200 Subject: [PATCH] SolverPoolFactory --- .../inox/solvers/combinators/SolverPoolFactory.scala | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/scala/inox/solvers/combinators/SolverPoolFactory.scala b/src/main/scala/inox/solvers/combinators/SolverPoolFactory.scala index 4df3a27b8..c82db1cdd 100644 --- a/src/main/scala/inox/solvers/combinators/SolverPoolFactory.scala +++ b/src/main/scala/inox/solvers/combinators/SolverPoolFactory.scala @@ -1,6 +1,6 @@ /* Copyright 2009-2016 EPFL, Lausanne */ -package leon +package inox package solvers package combinators @@ -17,7 +17,9 @@ import scala.reflect.runtime.universe._ * growing/shrinking pool size... */ -class SolverPoolFactory[+S <: Solver](ctx: LeonContext, sf: SolverFactory[S]) extends SolverFactory[S] { +trait SolverPoolFactory extends SolverFactory { self => + + val sf: SolverFactory { val program: self.program.type; type S = self.S } val name = "Pool(" + sf.name + ")" @@ -25,7 +27,7 @@ class SolverPoolFactory[+S <: Solver](ctx: LeonContext, sf: SolverFactory[S]) ex val poolMaxSize = 5 private[this] val availables = Queue[S]() - private[this] var inUse = Set[Solver]() + private[this] var inUse = Set[S]() def getNewSolver(): S = { if (availables.isEmpty) { @@ -38,7 +40,7 @@ class SolverPoolFactory[+S <: Solver](ctx: LeonContext, sf: SolverFactory[S]) ex s } - override def reclaim(s: Solver) = { + override def reclaim(s: S) = { try { s.reset() inUse -= s -- GitLab