From 74031fe91c226c70361698b7b7a87847cea64527 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mika=C3=ABl=20Mayer?= <mikael.mayer@epfl.ch>
Date: Tue, 1 Mar 2016 11:27:55 +0100
Subject: [PATCH] Hot fix: Replace only function bodies that have changed

---
 src/main/scala/leon/purescala/DefOps.scala | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/main/scala/leon/purescala/DefOps.scala b/src/main/scala/leon/purescala/DefOps.scala
index e8f8af4bb..ea4bff382 100644
--- a/src/main/scala/leon/purescala/DefOps.scala
+++ b/src/main/scala/leon/purescala/DefOps.scala
@@ -556,7 +556,7 @@ object DefOps {
         case None =>
           if(fdMapFCached(fd).isDefined || p.callGraph.transitiveCallees(fd).exists(fd => fdMapFCached(fd).isDefined))  {
             duplicateParents(fd)
-          } else { // Verify that for all 
+          } else {
             fdMapCache += fd -> None
           }
           fdMapCache(fd).getOrElse(fd)
@@ -612,7 +612,9 @@ object DefOps {
     }
     
     for(fd <- newP.definedFunctions) {
-      fd.fullBody = replaceClassDefsUse(fd.fullBody)
+      if(fdMapCache.getOrElse(fd, None).isDefined) {
+        fd.fullBody = replaceClassDefsUse(fd.fullBody)
+      }
     }
     (newP,
         cdMapCache.collect{case (cd, Some(new_cd)) => cd -> new_cd},
-- 
GitLab