From be404ffceabde9c6cffaa5bf5efb09f5e266a451 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ali=20Sinan=20K=C3=B6ksal?= <alisinan@gmail.com>
Date: Mon, 23 May 2011 08:29:39 +0000
Subject: [PATCH] move code around

---
 src/purescala/FairZ3Solver.scala | 96 ++++++++++++++++----------------
 1 file changed, 48 insertions(+), 48 deletions(-)

diff --git a/src/purescala/FairZ3Solver.scala b/src/purescala/FairZ3Solver.scala
index c93a7f7ea..4822702df 100644
--- a/src/purescala/FairZ3Solver.scala
+++ b/src/purescala/FairZ3Solver.scala
@@ -38,54 +38,6 @@ class FairZ3Solver(val reporter: Reporter) extends Solver(reporter) with Abstrac
   private var toCheckAgainstModels: Expr = BooleanLiteral(true)
   private var varsInVC: Set[Identifier] = Set.empty
 
-  private val mapRangeSorts: MutableMap[TypeTree, Z3Sort] = MutableMap.empty
-  private val mapRangeSomeConstructors: MutableMap[TypeTree, Z3FuncDecl] = MutableMap.empty
-  private val mapRangeNoneConstructors: MutableMap[TypeTree, Z3FuncDecl] = MutableMap.empty
-  private val mapRangeSomeTesters: MutableMap[TypeTree, Z3FuncDecl] = MutableMap.empty
-  private val mapRangeNoneTesters: MutableMap[TypeTree, Z3FuncDecl] = MutableMap.empty
-  private val mapRangeValueSelectors: MutableMap[TypeTree, Z3FuncDecl] = MutableMap.empty
-
-  private def mapRangeSort(toType : TypeTree) : Z3Sort = mapRangeSorts.get(toType) match {
-    case Some(z3sort) => z3sort
-    case None => {
-      import Z3Context.{ADTSortReference, RecursiveType, RegularSort}
-      intSort = z3.mkIntSort
-      boolSort = z3.mkBoolSort
-
-      def typeToSortRef(tt: TypeTree): ADTSortReference = tt match {
-        case BooleanType => RegularSort(boolSort)
-        case Int32Type => RegularSort(intSort)
-        case AbstractClassType(d) => RegularSort(adtSorts(d))
-        case CaseClassType(d) => RegularSort(adtSorts(d))
-        case _ => throw UntranslatableTypeException("Can't handle type " + tt)
-      }
-
-      val z3info = z3.mkADTSorts(
-        Seq(
-          (
-            toType.toString + "Option",
-            Seq(toType.toString + "Some", toType.toString + "None"),
-            Seq(
-              Seq(("value", typeToSortRef(toType))),
-              Seq()
-            )
-          )
-        )
-      )
-
-      z3info match {
-        case Seq((optionSort, Seq(someCons, noneCons), Seq(someTester, noneTester), Seq(Seq(valueSelector), Seq()))) =>
-          mapRangeSorts += ((toType, optionSort))
-          mapRangeSomeConstructors += ((toType, someCons))
-          mapRangeNoneConstructors += ((toType, noneCons))
-          mapRangeSomeTesters += ((toType, someTester))
-          mapRangeNoneTesters += ((toType, noneTester))
-          mapRangeValueSelectors += ((toType, valueSelector))
-          optionSort
-      }
-    }
-  }
-
   override def setProgram(prog: Program): Unit = {
     program = prog
   }
@@ -148,6 +100,54 @@ class FairZ3Solver(val reporter: Reporter) extends Solver(reporter) with Abstrac
   private var reverseADTConstructors: Map[Z3FuncDecl, CaseClassDef] = Map.empty
   private var reverseADTFieldSelectors: Map[Z3FuncDecl, (CaseClassDef,Identifier)] = Map.empty
 
+  private val mapRangeSorts: MutableMap[TypeTree, Z3Sort] = MutableMap.empty
+  private val mapRangeSomeConstructors: MutableMap[TypeTree, Z3FuncDecl] = MutableMap.empty
+  private val mapRangeNoneConstructors: MutableMap[TypeTree, Z3FuncDecl] = MutableMap.empty
+  private val mapRangeSomeTesters: MutableMap[TypeTree, Z3FuncDecl] = MutableMap.empty
+  private val mapRangeNoneTesters: MutableMap[TypeTree, Z3FuncDecl] = MutableMap.empty
+  private val mapRangeValueSelectors: MutableMap[TypeTree, Z3FuncDecl] = MutableMap.empty
+
+  private def mapRangeSort(toType : TypeTree) : Z3Sort = mapRangeSorts.get(toType) match {
+    case Some(z3sort) => z3sort
+    case None => {
+      import Z3Context.{ADTSortReference, RecursiveType, RegularSort}
+      intSort = z3.mkIntSort
+      boolSort = z3.mkBoolSort
+
+      def typeToSortRef(tt: TypeTree): ADTSortReference = tt match {
+        case BooleanType => RegularSort(boolSort)
+        case Int32Type => RegularSort(intSort)
+        case AbstractClassType(d) => RegularSort(adtSorts(d))
+        case CaseClassType(d) => RegularSort(adtSorts(d))
+        case _ => throw UntranslatableTypeException("Can't handle type " + tt)
+      }
+
+      val z3info = z3.mkADTSorts(
+        Seq(
+          (
+            toType.toString + "Option",
+            Seq(toType.toString + "Some", toType.toString + "None"),
+            Seq(
+              Seq(("value", typeToSortRef(toType))),
+              Seq()
+            )
+          )
+        )
+      )
+
+      z3info match {
+        case Seq((optionSort, Seq(someCons, noneCons), Seq(someTester, noneTester), Seq(Seq(valueSelector), Seq()))) =>
+          mapRangeSorts += ((toType, optionSort))
+          mapRangeSomeConstructors += ((toType, someCons))
+          mapRangeNoneConstructors += ((toType, noneCons))
+          mapRangeSomeTesters += ((toType, someTester))
+          mapRangeNoneTesters += ((toType, noneTester))
+          mapRangeValueSelectors += ((toType, valueSelector))
+          optionSort
+      }
+    }
+  }
+
   case class UntranslatableTypeException(msg: String) extends Exception(msg)
   private def prepareSorts: Unit = {
     import Z3Context.{ADTSortReference, RecursiveType, RegularSort}
-- 
GitLab