From 5a3a65c9e6a20ff093b0acf8d89c7bb3495f8ff7 Mon Sep 17 00:00:00 2001
From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch>
Date: Tue, 17 Mar 2015 12:37:57 +0100
Subject: [PATCH] Even more fixes

---
 src/main/scala/leon/purescala/Common.scala    |  5 +++--
 .../scala/leon/purescala/Constructors.scala   | 13 ++++++------
 .../scala/leon/purescala/Definitions.scala    | 11 +++++-----
 src/main/scala/leon/purescala/ExprOps.scala   | 20 +++++++++----------
 .../scala/leon/purescala/Expressions.scala    | 15 ++++++--------
 .../scala/leon/purescala/Extractors.scala     | 12 +++++------
 .../scala/leon/purescala/RestoreMethods.scala | 16 +++++++--------
 .../scala/leon/purescala/Transformer.scala    |  1 -
 .../leon/purescala/TreeNormalizations.scala   |  9 +++++----
 src/main/scala/leon/purescala/TypeOps.scala   |  1 -
 .../scala/leon/synthesis/rules/CEGLESS.scala  |  4 ++--
 .../scala/leon/synthesis/rules/TEGLESS.scala  |  2 +-
 .../leon/verification/AnalysisPhase.scala     |  6 +++---
 .../leon/test/purescala/WithLikelyEq.scala    |  4 ++--
 14 files changed, 56 insertions(+), 63 deletions(-)

diff --git a/src/main/scala/leon/purescala/Common.scala b/src/main/scala/leon/purescala/Common.scala
index 6da84692b..8cb2b732e 100644
--- a/src/main/scala/leon/purescala/Common.scala
+++ b/src/main/scala/leon/purescala/Common.scala
@@ -4,11 +4,12 @@ package leon
 package purescala
 
 import utils._
+import Expressions.Variable
+import Types._
 import Definitions.Definition
 
 object Common {
-  import Expressions.Variable
-  import Types._
+
 
   abstract class Tree extends Positioned with Serializable {
     def copiedFrom(o: Tree): this.type = {
diff --git a/src/main/scala/leon/purescala/Constructors.scala b/src/main/scala/leon/purescala/Constructors.scala
index dcca26675..24f43d756 100644
--- a/src/main/scala/leon/purescala/Constructors.scala
+++ b/src/main/scala/leon/purescala/Constructors.scala
@@ -3,13 +3,14 @@
 package leon
 package purescala
 
+import Expressions._
+import ExprOps._
+import Definitions._
+import TypeOps._
+import Common._
+import Types._
+
 object Constructors {
-  import Expressions._
-  import ExprOps._
-  import Definitions._
-  import TypeOps._
-  import Common._
-  import Types._
 
   // If isTuple, the whole expression is returned. This is to avoid a situation
   // like tupleSelect(tupleWrap(Seq(Tuple(x,y))),1) -> x, which is not expected.
diff --git a/src/main/scala/leon/purescala/Definitions.scala b/src/main/scala/leon/purescala/Definitions.scala
index 680e7c099..e7dd7e202 100644
--- a/src/main/scala/leon/purescala/Definitions.scala
+++ b/src/main/scala/leon/purescala/Definitions.scala
@@ -3,15 +3,14 @@
 package leon
 package purescala
 
-import scala.collection.generic.CanBuildFrom
 import utils.Library
+import Common._
+import Expressions._
+import ExprOps._
+import Types._
+import TypeOps._
 
 object Definitions {
-  import Common._
-  import Expressions._
-  import ExprOps._
-  import Types._
-  import TypeOps._
 
   sealed abstract class Definition extends Tree {
     
diff --git a/src/main/scala/leon/purescala/ExprOps.scala b/src/main/scala/leon/purescala/ExprOps.scala
index 2f7f2ab35..fe049f5af 100644
--- a/src/main/scala/leon/purescala/ExprOps.scala
+++ b/src/main/scala/leon/purescala/ExprOps.scala
@@ -3,21 +3,19 @@
 package leon
 package purescala
 
+import Common._
+import Types._
+import Definitions._
+import Expressions._
+import TypeOps._
+import Extractors._
+import Constructors._
+import DefOps._
 import utils.Simplifiers
-
-import leon.solvers._
-
+import solvers._
 import scala.collection.concurrent.TrieMap
 
 object ExprOps {
-  import Common._
-  import Types._
-  import Definitions._
-  import Expressions._
-  import TypeOps._
-  import Extractors._
-  import Constructors._
-  import DefOps._
 
   /**
    * Core API
diff --git a/src/main/scala/leon/purescala/Expressions.scala b/src/main/scala/leon/purescala/Expressions.scala
index 32e56f1da..ec4038abc 100644
--- a/src/main/scala/leon/purescala/Expressions.scala
+++ b/src/main/scala/leon/purescala/Expressions.scala
@@ -3,21 +3,18 @@
 package leon
 package purescala
 
-import utils._
+import Common._
+import Types._
+import TypeOps._
+import Definitions._
+import Extractors._
+import Constructors._
 
 /** AST definitions for Pure Scala. */
 object Expressions {
-  import Common._
-  import Types._
-  import TypeOps._
-  import Definitions._
-  import Extractors._
-  import Constructors._
-
 
   /* EXPRESSIONS */
   abstract class Expr extends Tree with Typed with Serializable {
-    // All Expr's have constant type
     override val getType: TypeTree
   }
 
diff --git a/src/main/scala/leon/purescala/Extractors.scala b/src/main/scala/leon/purescala/Extractors.scala
index 9f705f388..8cde59fe8 100644
--- a/src/main/scala/leon/purescala/Extractors.scala
+++ b/src/main/scala/leon/purescala/Extractors.scala
@@ -4,15 +4,13 @@ package leon
 package purescala
 
 import Expressions._
+import Common._
+import Types._
+import Definitions._
+import Constructors._
+import ExprOps._
 
 object Extractors {
-  import Common._
-  import Types._
-  import TypeOps._
-  import Definitions._
-  import Extractors._
-  import Constructors._
-  import ExprOps._
 
   object UnaryOperator {
     def unapply(expr: Expr) : Option[(Expr,(Expr)=>Expr)] = expr match {
diff --git a/src/main/scala/leon/purescala/RestoreMethods.scala b/src/main/scala/leon/purescala/RestoreMethods.scala
index 353bb8697..64eb74bfa 100644
--- a/src/main/scala/leon/purescala/RestoreMethods.scala
+++ b/src/main/scala/leon/purescala/RestoreMethods.scala
@@ -1,12 +1,12 @@
-package leon.purescala
+package leon
+package purescala
 
-import leon._
-import leon.purescala.Definitions._
-import leon.purescala.Common._
-import leon.purescala.Expressions._
-import leon.purescala.ExprOps.{replaceFromIDs,functionCallsOf}
-import leon.purescala.DefOps.{applyOnFunDef,preMapOnFunDef}
-import leon.purescala.Types._
+import Definitions._
+import Common._
+import Expressions._
+import ExprOps.{replaceFromIDs,functionCallsOf}
+import DefOps.{applyOnFunDef,preMapOnFunDef}
+import Types._
 import utils.GraphOps._
 
 object RestoreMethods extends TransformationPhase {
diff --git a/src/main/scala/leon/purescala/Transformer.scala b/src/main/scala/leon/purescala/Transformer.scala
index 46314714f..d4a307d99 100644
--- a/src/main/scala/leon/purescala/Transformer.scala
+++ b/src/main/scala/leon/purescala/Transformer.scala
@@ -5,7 +5,6 @@ package purescala
 
 import purescala.Expressions._
 
-
 trait Transformer {
   def transform(e: Expr): Expr
 }
diff --git a/src/main/scala/leon/purescala/TreeNormalizations.scala b/src/main/scala/leon/purescala/TreeNormalizations.scala
index 7b80083e4..755b2c784 100644
--- a/src/main/scala/leon/purescala/TreeNormalizations.scala
+++ b/src/main/scala/leon/purescala/TreeNormalizations.scala
@@ -3,11 +3,12 @@
 package leon
 package purescala
 
+import Common._
+import Types._
+import Expressions._
+import ExprOps._
+
 object TreeNormalizations {
-  import Common._
-  import Types._
-  import Expressions._
-  import ExprOps._
 
   /* TODO: we should add CNF and DNF at least */
 
diff --git a/src/main/scala/leon/purescala/TypeOps.scala b/src/main/scala/leon/purescala/TypeOps.scala
index 14eba4fe9..2fca2ea89 100644
--- a/src/main/scala/leon/purescala/TypeOps.scala
+++ b/src/main/scala/leon/purescala/TypeOps.scala
@@ -3,7 +3,6 @@
 package leon
 package purescala
 
-import ExprOps.postMap
 import Types._
 import Definitions._
 import Common._
diff --git a/src/main/scala/leon/synthesis/rules/CEGLESS.scala b/src/main/scala/leon/synthesis/rules/CEGLESS.scala
index 893657d4c..a746dcfdd 100644
--- a/src/main/scala/leon/synthesis/rules/CEGLESS.scala
+++ b/src/main/scala/leon/synthesis/rules/CEGLESS.scala
@@ -4,8 +4,8 @@ package leon
 package synthesis
 package rules
 
-import purescala.TreeOps._
-import purescala.TypeTrees._
+import purescala.ExprOps._
+import purescala.Types._
 import purescala.Extractors._
 import utils._
 import utils.ExpressionGrammars._
diff --git a/src/main/scala/leon/synthesis/rules/TEGLESS.scala b/src/main/scala/leon/synthesis/rules/TEGLESS.scala
index f182305ac..c2a4cc4c6 100644
--- a/src/main/scala/leon/synthesis/rules/TEGLESS.scala
+++ b/src/main/scala/leon/synthesis/rules/TEGLESS.scala
@@ -4,7 +4,7 @@ package leon
 package synthesis
 package rules
 
-import purescala.TypeTrees._
+import purescala.Types._
 import purescala.Extractors._
 import utils._
 import utils.ExpressionGrammars._
diff --git a/src/main/scala/leon/verification/AnalysisPhase.scala b/src/main/scala/leon/verification/AnalysisPhase.scala
index c849441e0..143f6a5cd 100644
--- a/src/main/scala/leon/verification/AnalysisPhase.scala
+++ b/src/main/scala/leon/verification/AnalysisPhase.scala
@@ -117,7 +117,7 @@ object AnalysisPhase extends LeonPhase[Program,VerificationReport] {
         reporter.synchronized {
           def title(s : String) = s"   => $s"
           solverResult match {
-            case _ if interruptManager.isInterrupted() =>
+            case _ if interruptManager.isInterrupted =>
               reporter.warning(title("CANCELLED"))
               vcInfo.time = Some(dt)
               false
@@ -158,14 +158,14 @@ object AnalysisPhase extends LeonPhase[Program,VerificationReport] {
     
     if (checkInParallel) {
       val allVCsPar = (for {(_, vcs) <- vcs.toSeq; vcInfo <- vcs} yield vcInfo).par
-      for (vc <- allVCsPar if !interruptManager.isInterrupted() && !interrupt) {
+      for (vc <- allVCsPar if !interruptManager.isInterrupted && !interrupt) {
         checkVC(vc)
         interrupt = interruptOn(vc)
       }
     } else {
       for {
         (funDef, vcs) <- vcs.toSeq.sortWith((a,b) => a._1.getPos < b._1.getPos)
-        vc <- vcs if !interruptManager.isInterrupted() && !interrupt
+        vc <- vcs if !interruptManager.isInterrupted && !interrupt
       } {
         checkVC(vc)
         interrupt = interruptOn(vc)
diff --git a/src/test/scala/leon/test/purescala/WithLikelyEq.scala b/src/test/scala/leon/test/purescala/WithLikelyEq.scala
index 7fd034123..988247a59 100644
--- a/src/test/scala/leon/test/purescala/WithLikelyEq.scala
+++ b/src/test/scala/leon/test/purescala/WithLikelyEq.scala
@@ -7,8 +7,8 @@ import leon.test._
 import leon.evaluators._
 import leon.purescala.Common._
 import leon.purescala.Definitions._
-import leon.purescala.TreeOps.replace
-import leon.purescala.Trees._
+import leon.purescala.ExprOps.replace
+import leon.purescala.Expressions._
 
 /*
  * Determine if two expressions over arithmetic variables are likely to be equal.
-- 
GitLab