From 03a84ffca98b13bff30e8a128cc0974c0b337473 Mon Sep 17 00:00:00 2001 From: "Emmanouil (Manos) Koukoutos" <emmanouil.koukoutos@epfl.ch> Date: Wed, 29 Oct 2014 16:32:54 +0100 Subject: [PATCH] Imports show to fresh Modules after RestoreMethods --- src/main/scala/leon/purescala/RestoreMethods.scala | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/scala/leon/purescala/RestoreMethods.scala b/src/main/scala/leon/purescala/RestoreMethods.scala index a6989a131..e65add9c2 100644 --- a/src/main/scala/leon/purescala/RestoreMethods.scala +++ b/src/main/scala/leon/purescala/RestoreMethods.scala @@ -120,12 +120,16 @@ object RestoreMethods extends TransformationPhase { } m.copy(defs = m.definedClasses ++ newFuns).copiedFrom(m) } + + val modsToMods = ( for { u <- p.units; m <- u.modules } yield (m,refreshModule(m)) ).toMap p.copy(units = p.units map { u => u.copy( - modules = u.modules map refreshModule, + modules = u.modules map modsToMods, imports = u.imports flatMap { // Don't include imports for functions that became methods - case WildcardImport(fd : FunDef) if oldFuns contains fd => None + case SingleImport(fd : FunDef) if oldFuns contains fd => None + case SingleImport(m : ModuleDef) => Some(SingleImport(modsToMods(m))) + case WildcardImport(m : ModuleDef) => Some(WildcardImport(modsToMods(m))) case other => Some(other) } )}) -- GitLab