Skip to content
Snippets Groups Projects
Commit f812df22 authored by Etienne Kneuss's avatar Etienne Kneuss
Browse files

Remove unused duplicates

parent e89165c6
Branches
Tags
No related merge requests found
......@@ -84,10 +84,6 @@ object Definitions {
case ccd: CaseClassDef if ccd.id.name == name => ccd
}.headOption.getOrElse(throw LeonFatalError("Unknown case class '"+name+"'"))
def duplicate = {
copy(units = units.map{_.duplicate})
}
def lookupAll(name: String) = DefOps.searchWithin(name, this)
def lookup(name: String) = lookupAll(name).headOption
}
......@@ -174,14 +170,6 @@ object Definitions {
}
}
def duplicate = {
copy(defs = defs map {
case cd: ClassDef => cd.duplicate
case m: ModuleDef => m.duplicate
case d => d
})
}
def modules = defs.collect {
case md: ModuleDef => md
}
......@@ -213,12 +201,7 @@ object Definitions {
lazy val singleCaseClasses : Seq[CaseClassDef] = defs.collect {
case c @ CaseClassDef(_, _, None, _) => c
}
def duplicate = copy(defs = defs map {
case f: FunDef => f.duplicate
case cd: ClassDef => cd.duplicate
case other => other
})
}
/** Useful because case classes and classes are somewhat unified in some
......@@ -271,26 +254,11 @@ object Definitions {
val isAbstract: Boolean
val isCaseObject: Boolean
def duplicate = this match {
case ab : AbstractClassDef => {
val ab2 = ab.copy()
ab.knownChildren foreach ab2.registerChildren
ab.methods foreach { m => ab2.registerMethod(m.duplicate) }
ab2
}
case cc : CaseClassDef => {
val cc2 = cc.copy()
cc.methods foreach { m => cc2.registerMethod(m.duplicate) }
cc2.setFields(cc.fields map { _.copy() })
cc2
}
}
lazy val definedFunctions : Seq[FunDef] = methods
lazy val definedClasses = Seq(this)
lazy val classHierarchyRoots = if (this.hasParent) Seq(this) else Nil
}
/** Abstract classes. */
......
......@@ -1933,9 +1933,7 @@ object ExprOps {
import synthesis.Witnesses.Terminating
val res1 = preMap({
case LetDef(fd, b) =>
val nfd = new FunDef(fd.id.freshen, fd.tparams, fd.returnType, fd.params)
nfd.copyContentFrom(fd)
nfd.copiedFrom(fd)
val nfd = fd.duplicate
fds += fd -> nfd
......
......@@ -43,14 +43,11 @@ object RestoreMethods extends TransformationPhase {
// We inject methods,
def processClassDef(cd: ClassDef): ClassDef = {
if (classMethods contains cd) {
val ncd = cd.duplicate
for (md <- classMethods(cd).map(fdToMd)) {
ncd.registerMethod(md)
cd.registerMethod(md)
}
ncd
} else {
cd
}
cd
}
val np = p.copy(units = p.units.map { u =>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment