summaryrefslogtreecommitdiff
path: root/test/files/run/repl-javap-lambdas.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/run/repl-javap-lambdas.scala')
-rw-r--r--test/files/run/repl-javap-lambdas.scala23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/files/run/repl-javap-lambdas.scala b/test/files/run/repl-javap-lambdas.scala
new file mode 100644
index 0000000000..15e5bf6877
--- /dev/null
+++ b/test/files/run/repl-javap-lambdas.scala
@@ -0,0 +1,23 @@
+import scala.tools.partest.JavapTest
+import scala.tools.nsc.Settings
+
+// see repl-javap-memfun.java for the complementary version
+object Test extends JavapTest {
+ override def transformSettings(s: Settings) = { s.Ydelambdafy.value = "method" ; s }
+ def code = """
+ |object Betty {
+ | List(1,2,3) count (_ % 2 != 0)
+ | def f = List(1,2,3) filter (_ % 2 != 0) map (_ * 2)
+ | def g = List(1,2,3) filter (_ % 2 == 0) map (_ * 3) map (_ + 1)
+ |}
+ |:javap -fun Betty#g
+ """.stripMargin
+
+ // three anonfuns of Betty#g
+ override def yah(res: Seq[String]) = {
+ import PartialFunction.{ cond => when }
+ val r = """\s*private static final .* \$anonfun\$\d+\(.*""".r
+ def filtered = res filter (when(_) { case r(_*) => true })
+ 3 == filtered.size
+ }
+}