From a0698e3e5c1e86eb376efb3475329ed63c65f3d6 Mon Sep 17 00:00:00 2001
From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch>
Date: Wed, 25 Feb 2015 17:58:00 +0100
Subject: [PATCH] Remove MutableTyped. Really this time.

---
 src/main/scala/leon/purescala/Common.scala    |  6 ------
 src/main/scala/leon/purescala/TypeTrees.scala | 19 -------------------
 2 files changed, 25 deletions(-)

diff --git a/src/main/scala/leon/purescala/Common.scala b/src/main/scala/leon/purescala/Common.scala
index fa5962176..2112689c6 100644
--- a/src/main/scala/leon/purescala/Common.scala
+++ b/src/main/scala/leon/purescala/Common.scala
@@ -13,12 +13,6 @@ object Common {
   abstract class Tree extends Positioned with Serializable {
     def copiedFrom(o: Tree): this.type = {
       setPos(o)
-      (this, o) match {
-        // do not force if already set
-        case (t1: MutableTyped, t2: Typed)  if !t1.isTyped =>
-          t1.setType(t2.getType)
-        case _ =>
-      }
       this
     }
 
diff --git a/src/main/scala/leon/purescala/TypeTrees.scala b/src/main/scala/leon/purescala/TypeTrees.scala
index 139729506..bad181324 100644
--- a/src/main/scala/leon/purescala/TypeTrees.scala
+++ b/src/main/scala/leon/purescala/TypeTrees.scala
@@ -11,30 +11,11 @@ object TypeTrees {
   import Definitions._
   import TypeTreeOps._
 
-  /**
-   * HasType indicates that structure is typed
-   *
-   * setType not necessarily defined though
-   */
   trait Typed {
     def getType: TypeTree
     def isTyped : Boolean = (getType != Untyped)
   }
 
-  trait MutableTyped extends Typed {
-    self =>
-
-    private var _type: Option[TypeTree] = None
-
-    def getType: TypeTree = _type getOrElse Untyped
-
-    def setType(tt: TypeTree): self.type = _type match {
-      case None => _type = Some(tt); this
-      case Some(o) if o != tt => scala.sys.error("Resetting type information! Type [" + o + "] is modified to [" + tt)
-      case _ => this
-    }
-  }
-
   class TypeErrorException(msg: String) extends Exception(msg)
 
   object TypeErrorException {
-- 
GitLab