From d29cb8bc0f62bed8d8b76987f7bfef7d1fa4dc18 Mon Sep 17 00:00:00 2001
From: Etienne Kneuss <ekneuss@gmail.com>
Date: Wed, 24 Oct 2012 18:46:49 +0200
Subject: [PATCH] Move phase business out of plugin

---
 src/main/scala/leon/Analysis.scala                  | 2 +-
 src/main/scala/leon/ArrayTransformation.scala       | 2 +-
 src/main/scala/leon/EpsilonElimination.scala        | 2 +-
 src/main/scala/leon/FunctionClosure.scala           | 2 +-
 src/main/scala/leon/FunctionHoisting.scala          | 2 +-
 src/main/scala/leon/ImperativeCodeElimination.scala | 2 +-
 src/main/scala/leon/{plugin => }/LeonContext.scala  | 1 -
 src/main/scala/leon/{plugin => }/LeonPhase.scala    | 1 -
 src/main/scala/leon/Simplificator.scala             | 2 +-
 src/main/scala/leon/TypeChecking.scala              | 2 +-
 src/main/scala/leon/UnitElimination.scala           | 2 +-
 src/main/scala/leon/synthesis/SynthesisPhase.scala  | 3 +--
 12 files changed, 10 insertions(+), 13 deletions(-)
 rename src/main/scala/leon/{plugin => }/LeonContext.scala (89%)
 rename src/main/scala/leon/{plugin => }/LeonPhase.scala (96%)

diff --git a/src/main/scala/leon/Analysis.scala b/src/main/scala/leon/Analysis.scala
index 2ba7a69ad..da85f2438 100644
--- a/src/main/scala/leon/Analysis.scala
+++ b/src/main/scala/leon/Analysis.scala
@@ -328,7 +328,7 @@ object Analysis {
   }
 }
 
-object AnalysisPhase extends plugin.UnitPhase {
+object AnalysisPhase extends UnitPhase {
   val name = "Analysis"
   val description = "Leon Analyses"
 
diff --git a/src/main/scala/leon/ArrayTransformation.scala b/src/main/scala/leon/ArrayTransformation.scala
index 0dab75817..e4ce14c31 100644
--- a/src/main/scala/leon/ArrayTransformation.scala
+++ b/src/main/scala/leon/ArrayTransformation.scala
@@ -5,7 +5,7 @@ import purescala.Definitions._
 import purescala.Trees._
 import purescala.TypeTrees._
 
-object ArrayTransformation extends plugin.TransformationPhase {
+object ArrayTransformation extends TransformationPhase {
 
   val name = "Array Transformation"
   val description = "Add bound checking for array access and remove array update with side effect"
diff --git a/src/main/scala/leon/EpsilonElimination.scala b/src/main/scala/leon/EpsilonElimination.scala
index 5cc7645d5..e624c47f6 100644
--- a/src/main/scala/leon/EpsilonElimination.scala
+++ b/src/main/scala/leon/EpsilonElimination.scala
@@ -5,7 +5,7 @@ import purescala.Definitions._
 import purescala.Trees._
 import purescala.TypeTrees._
 
-object EpsilonElimination extends plugin.TransformationPhase {
+object EpsilonElimination extends TransformationPhase {
 
   val name = "Epsilon Elimination"
   val description = "Remove all epsilons from the program"
diff --git a/src/main/scala/leon/FunctionClosure.scala b/src/main/scala/leon/FunctionClosure.scala
index 64c0c123f..7ce87d90b 100644
--- a/src/main/scala/leon/FunctionClosure.scala
+++ b/src/main/scala/leon/FunctionClosure.scala
@@ -5,7 +5,7 @@ import purescala.Definitions._
 import purescala.Trees._
 import purescala.TypeTrees._
 
-object FunctionClosure extends plugin.TransformationPhase{
+object FunctionClosure extends TransformationPhase{
 
   val name = "Function Closure"
   val description = "Closing function with its scoping variables"
diff --git a/src/main/scala/leon/FunctionHoisting.scala b/src/main/scala/leon/FunctionHoisting.scala
index e467f3f20..813afd9ed 100644
--- a/src/main/scala/leon/FunctionHoisting.scala
+++ b/src/main/scala/leon/FunctionHoisting.scala
@@ -5,7 +5,7 @@ import purescala.Definitions._
 import purescala.Trees._
 import purescala.TypeTrees._
 
-object FunctionHoisting extends plugin.TransformationPhase {
+object FunctionHoisting extends TransformationPhase {
 
   val name = "Function Hoisting"
   val description = "Hoist function at the top level"
diff --git a/src/main/scala/leon/ImperativeCodeElimination.scala b/src/main/scala/leon/ImperativeCodeElimination.scala
index bb770ba8e..6f27fc3b4 100644
--- a/src/main/scala/leon/ImperativeCodeElimination.scala
+++ b/src/main/scala/leon/ImperativeCodeElimination.scala
@@ -5,7 +5,7 @@ import purescala.Definitions._
 import purescala.Trees._
 import purescala.TypeTrees._
 
-object ImperativeCodeElimination extends plugin.TransformationPhase {
+object ImperativeCodeElimination extends TransformationPhase {
 
   val name = "Imperative Code Elimination"
   val description = "Transform imperative constructs into purely functional code"
diff --git a/src/main/scala/leon/plugin/LeonContext.scala b/src/main/scala/leon/LeonContext.scala
similarity index 89%
rename from src/main/scala/leon/plugin/LeonContext.scala
rename to src/main/scala/leon/LeonContext.scala
index 0c6ebabdd..584fd333e 100644
--- a/src/main/scala/leon/plugin/LeonContext.scala
+++ b/src/main/scala/leon/LeonContext.scala
@@ -1,5 +1,4 @@
 package leon
-package plugin
 
 import purescala.Definitions.Program
 
diff --git a/src/main/scala/leon/plugin/LeonPhase.scala b/src/main/scala/leon/LeonPhase.scala
similarity index 96%
rename from src/main/scala/leon/plugin/LeonPhase.scala
rename to src/main/scala/leon/LeonPhase.scala
index 13f437ea4..1ab05c16f 100644
--- a/src/main/scala/leon/plugin/LeonPhase.scala
+++ b/src/main/scala/leon/LeonPhase.scala
@@ -1,5 +1,4 @@
 package leon
-package plugin
 
 import purescala.Definitions.Program
 
diff --git a/src/main/scala/leon/Simplificator.scala b/src/main/scala/leon/Simplificator.scala
index c9de13922..6fb6f9ef3 100644
--- a/src/main/scala/leon/Simplificator.scala
+++ b/src/main/scala/leon/Simplificator.scala
@@ -5,7 +5,7 @@ import purescala.Definitions._
 import purescala.Trees._
 import purescala.TypeTrees._
 
-object Simplificator extends plugin.TransformationPhase {
+object Simplificator extends TransformationPhase {
 
   val name = "Simplificator"
   val description = "Some safe and minimal simplification"
diff --git a/src/main/scala/leon/TypeChecking.scala b/src/main/scala/leon/TypeChecking.scala
index 67a2e1baf..d0fd72316 100644
--- a/src/main/scala/leon/TypeChecking.scala
+++ b/src/main/scala/leon/TypeChecking.scala
@@ -5,7 +5,7 @@ import purescala.Definitions._
 import purescala.Trees._
 import purescala.TypeTrees._
 
-object TypeChecking extends plugin.UnitPhase {
+object TypeChecking extends UnitPhase {
 
   val name = "Type Checking"
   val description = "Type check the AST"
diff --git a/src/main/scala/leon/UnitElimination.scala b/src/main/scala/leon/UnitElimination.scala
index f653b8b7c..9604c3a4d 100644
--- a/src/main/scala/leon/UnitElimination.scala
+++ b/src/main/scala/leon/UnitElimination.scala
@@ -5,7 +5,7 @@ import purescala.Definitions._
 import purescala.Trees._
 import purescala.TypeTrees._
 
-object UnitElimination extends plugin.TransformationPhase {
+object UnitElimination extends TransformationPhase {
 
   val name = "Unit Elimination"
   val description = "Remove all usage of the Unit type and value"
diff --git a/src/main/scala/leon/synthesis/SynthesisPhase.scala b/src/main/scala/leon/synthesis/SynthesisPhase.scala
index 5666d15c8..bc9613c48 100644
--- a/src/main/scala/leon/synthesis/SynthesisPhase.scala
+++ b/src/main/scala/leon/synthesis/SynthesisPhase.scala
@@ -1,10 +1,9 @@
 package leon
 package synthesis
 
-import plugin.LeonContext
 import purescala.Definitions.Program
 
-object SynthesisPhase extends plugin.LeonPhase {
+object SynthesisPhase extends LeonPhase {
   val name        = "Synthesis"
   val description = "Synthesis"
 
-- 
GitLab