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