From bfda3e21fe1cc036ca7192d78a18c4e1196d423c Mon Sep 17 00:00:00 2001 From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch> Date: Mon, 13 Jul 2015 20:01:33 +0200 Subject: [PATCH] Parse parameterless local functions --- .../scala/leon/frontends/scalac/CodeExtraction.scala | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/scala/leon/frontends/scalac/CodeExtraction.scala b/src/main/scala/leon/frontends/scalac/CodeExtraction.scala index acd964b90..1e995aaf6 100644 --- a/src/main/scala/leon/frontends/scalac/CodeExtraction.scala +++ b/src/main/scala/leon/frontends/scalac/CodeExtraction.scala @@ -1229,12 +1229,18 @@ trait CodeExtraction extends ASTExtractors { // TODO: refine type here? extractTree(e) - case ex @ ExIdentifier(sym, tpt) if dctx.isVariable(sym) => + case ex @ ExIdentifier(sym, tpt) if dctx.isVariable(sym) || defsToDefs.contains(sym) => dctx.vars.get(sym).orElse(dctx.mutableVars.get(sym)) match { case Some(builder) => builder().setPos(ex.pos) case None => - outOfSubsetError(tr, "Unidentified variable "+sym+" "+sym.id+".") + // Maybe it is a function + defsToDefs.get(sym) match { + case Some(fd) => + FunctionInvocation(fd.typed, Seq()).setPos(sym.pos) + case None => + outOfSubsetError(tr, "Unidentified variable " + sym + " " + sym.id + ".") + } } case hole @ ExHoleExpression(tpt, exprs) => -- GitLab