From 9f64c5f02b9168392328a2316511427c9fd7c72f Mon Sep 17 00:00:00 2001 From: Regis Blanc <regwblanc@gmail.com> Date: Wed, 13 Jan 2016 15:15:53 +0100 Subject: [PATCH] fix with typed fun invocation --- src/main/scala/leon/xlang/AntiAliasingPhase.scala | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/scala/leon/xlang/AntiAliasingPhase.scala b/src/main/scala/leon/xlang/AntiAliasingPhase.scala index 28f1ad9c6..a7adbfbaa 100644 --- a/src/main/scala/leon/xlang/AntiAliasingPhase.scala +++ b/src/main/scala/leon/xlang/AntiAliasingPhase.scala @@ -164,7 +164,7 @@ object AntiAliasingPhase extends TransformationPhase { updatedFunDefs.get(fd.fd) match { case None => (None, bindings) case Some(nfd) => { - val nfi = FunctionInvocation(nfd.typed, args).setPos(fi) + val nfi = FunctionInvocation(nfd.typed(fd.tps), args).setPos(fi) val fiEffects = effects.getOrElse(fd.fd, Set()) if(fiEffects.nonEmpty) { val modifiedArgs: Seq[Variable] = @@ -267,7 +267,9 @@ object AntiAliasingPhase extends TransformationPhase { if(!effects.isDefinedAt(fi.tfd.fd)) { println("fi not defined: " + fi) } - val mutatedParams: Set[Int] = effects(fi.tfd.fd) + //TODO: the require should be fine once we consider nested functions as well + //require(effects.isDefinedAt(fi.tfd.fd) + val mutatedParams: Set[Int] = effects.get(fi.tfd.fd).getOrElse(Set()) fi.args.zipWithIndex.flatMap{ case (Variable(id), i) if mutatedParams.contains(i) => Some(id) case _ => None -- GitLab