import scala.reflect.mirror._ object Test extends App { { var counter = 0 lazy val x = { counter += 1; counter } lazy val y = { counter += 1; counter } val code = reify { def foo = y // ensures that y is the first freevar we find println(x) println(y) } code.eval } }