From 4f932df552fd2a9e1af31bc3b5fbbfeeaa15feed Mon Sep 17 00:00:00 2001 From: Iulian Dragos Date: Tue, 4 Sep 2012 10:50:21 +0200 Subject: Allow nested calls to `askForResponse` in the presentation compiler. Fix #6312. review by @odersky,@lrytz. --- test/files/presentation/recursive-ask.check | 4 ++++ .../presentation/recursive-ask/RecursiveAsk.scala | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 test/files/presentation/recursive-ask.check create mode 100644 test/files/presentation/recursive-ask/RecursiveAsk.scala (limited to 'test') diff --git a/test/files/presentation/recursive-ask.check b/test/files/presentation/recursive-ask.check new file mode 100644 index 0000000000..357d2cf879 --- /dev/null +++ b/test/files/presentation/recursive-ask.check @@ -0,0 +1,4 @@ +[ outer] askForResponse +[nested] askForResponse +passed +done diff --git a/test/files/presentation/recursive-ask/RecursiveAsk.scala b/test/files/presentation/recursive-ask/RecursiveAsk.scala new file mode 100644 index 0000000000..b0e29b3fd3 --- /dev/null +++ b/test/files/presentation/recursive-ask/RecursiveAsk.scala @@ -0,0 +1,20 @@ +import scala.tools.nsc.interactive.tests._ + +object Test extends InteractiveTest { + override def execute(): Unit = recursiveAskForResponse() + + def recursiveAskForResponse() { + val res0 = compiler.askForResponse( () => { + println("[ outer] askForResponse") + val res = compiler.askForResponse( () => { println("[nested] askForResponse") }) + println (res.get(5000) match { + case Some(_) => "passed" + case None => "timeout" + }) + }) + + res0.get + + println("done") + } +} -- cgit v1.2.3