diff --git a/src/main/scala/leon/Main.scala b/src/main/scala/leon/Main.scala index 5ba9bfa5357d69d3715b7e24276d3b90700cd151..8be3134c793355df9d6c3ab0d7213b4345e298a7 100644 --- a/src/main/scala/leon/Main.scala +++ b/src/main/scala/leon/Main.scala @@ -17,7 +17,7 @@ object Main { xlang.ImperativeCodeElimination, xlang.FixReportLabels, xlang.XLangDesugaringPhase, - purescala.FunctionClosure, + new purescala.FunctionClosure, synthesis.SynthesisPhase, termination.TerminationPhase, verification.AnalysisPhase, @@ -190,12 +190,12 @@ object Main { else if (synthesisF) SynthesisPhase else if (repairF) RepairPhase else if (analysisF) Pipeline.both( - FunctionClosure andThen analysis, + (new FunctionClosure) andThen analysis, TerminationPhase ) else if (terminationF) TerminationPhase else if (evalF) EvaluationPhase - else FunctionClosure andThen analysis + else (new FunctionClosure) andThen analysis } pipeBegin andThen diff --git a/src/main/scala/leon/purescala/FunctionClosure.scala b/src/main/scala/leon/purescala/FunctionClosure.scala index 96ef8e2b05568dc9c19e5c5874351452d24d2689..4ac11044d1898de0bcfe9309d132745be47d168e 100644 --- a/src/main/scala/leon/purescala/FunctionClosure.scala +++ b/src/main/scala/leon/purescala/FunctionClosure.scala @@ -10,7 +10,7 @@ import Extractors._ import ExprOps._ import Constructors._ -object FunctionClosure extends TransformationPhase { +class FunctionClosure extends TransformationPhase { val name = "Function Closure" val description = "Closing function with its scoping variables" @@ -175,5 +175,4 @@ object FunctionClosure extends TransformationPhase { } while(newVars != Set()) (filteredConstraints, allVars) } - } diff --git a/src/main/scala/leon/xlang/XLangDesugaringPhase.scala b/src/main/scala/leon/xlang/XLangDesugaringPhase.scala index f891b212e7c5c2b87c9646df3b1509755f464f39..6b06991c7aefb20cc7585a1c58a51f40df6bddaa 100644 --- a/src/main/scala/leon/xlang/XLangDesugaringPhase.scala +++ b/src/main/scala/leon/xlang/XLangDesugaringPhase.scala @@ -16,7 +16,7 @@ object XLangDesugaringPhase extends TransformationPhase { ArrayTransformation andThen EpsilonElimination andThen ImperativeCodeElimination andThen - FunctionClosure + (new FunctionClosure) phases.run(ctx)(pgm) } diff --git a/src/test/scala/leon/regression/synthesis/StablePrintingSuite.scala b/src/test/scala/leon/regression/synthesis/StablePrintingSuite.scala index 99f8bcfa8b093518220a8444dd259245f443edca..9cd16293f9bf6d95b57290bec6f94a412629be96 100644 --- a/src/test/scala/leon/regression/synthesis/StablePrintingSuite.scala +++ b/src/test/scala/leon/regression/synthesis/StablePrintingSuite.scala @@ -33,7 +33,7 @@ class StablePrintingSuite extends LeonRegressionSuite { val pipeline = leon.utils.TemporaryInputPhase andThen frontends.scalac.ExtractionPhase andThen leon.utils.PreprocessingPhase andThen - purescala.FunctionClosure + (new purescala.FunctionClosure) val program = pipeline.run(ctx)((List(content), Nil))