From 6bd54856bf62a42ed73ec5cce1aea92af0fc6dcf Mon Sep 17 00:00:00 2001
From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch>
Date: Fri, 9 Oct 2015 12:14:10 +0200
Subject: [PATCH] Preserve position in FunctionClosure

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

diff --git a/src/main/scala/leon/purescala/FunctionClosure.scala b/src/main/scala/leon/purescala/FunctionClosure.scala
index 8e119a300..71a76ce90 100644
--- a/src/main/scala/leon/purescala/FunctionClosure.scala
+++ b/src/main/scala/leon/purescala/FunctionClosure.scala
@@ -75,7 +75,7 @@ object FunctionClosure extends TransformationPhase {
       //  println(from.uniqueName + " -> " + to.uniqueName)
       //}
       f.fullBody = preMap {
-        case FunctionInvocation(tfd, args) if closed contains tfd.fd =>
+        case fi@FunctionInvocation(tfd, args) if closed contains tfd.fd =>
           val FunSubst(newFd, newParams, newTParams) = closed(tfd.fd)
 
           // New -> old map for function call
@@ -94,7 +94,7 @@ object FunctionClosure extends TransformationPhase {
           Some(FunctionInvocation(
             newFd.typed(tfd.tps ++ tFinalExtra),
             args ++ extraArgs
-          ))
+          ).copiedFrom(fi))
         case _ => None
       }(f.fullBody)
     }
-- 
GitLab