diff --git a/src/main/scala/leon/purescala/RestoreMethods.scala b/src/main/scala/leon/purescala/RestoreMethods.scala index a6989a13144b61bf427137722392bde65c91a32b..e65add9c21fd696e7a5e446199443cfb4de9234b 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) } )})