aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/backend/jvm/DottyBackendInterface.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2014-12-03 10:03:33 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2014-12-16 13:15:02 +0100
commit9e15d1630110cc524af3a2ef782d52f78145e26f (patch)
treeea1397b7690d21497f6d05e2800b0de7b73b99e1 /src/dotty/tools/backend/jvm/DottyBackendInterface.scala
parentf9d19cec82af03a0d51272c0959ce7a73810121b (diff)
downloaddotty-9e15d1630110cc524af3a2ef782d52f78145e26f.tar.gz
dotty-9e15d1630110cc524af3a2ef782d52f78145e26f.tar.bz2
dotty-9e15d1630110cc524af3a2ef782d52f78145e26f.zip
Fix generation of lambdas for Unit-returning closures.
Diffstat (limited to 'src/dotty/tools/backend/jvm/DottyBackendInterface.scala')
-rw-r--r--src/dotty/tools/backend/jvm/DottyBackendInterface.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dotty/tools/backend/jvm/DottyBackendInterface.scala b/src/dotty/tools/backend/jvm/DottyBackendInterface.scala
index 75264b3ab..c33d8e86c 100644
--- a/src/dotty/tools/backend/jvm/DottyBackendInterface.scala
+++ b/src/dotty/tools/backend/jvm/DottyBackendInterface.scala
@@ -796,7 +796,10 @@ class DottyBackendInterface()(implicit ctx: Context) extends BackendInterface{
if(t.exists) t
else {
val arity = field.meth.tpe.widenDealias.paramTypes.size - _1.size
- ctx.requiredClass(("scala.compat.java8.JFunction"+arity).toTermName)
+ val returnsUnit = field.meth.tpe.widenDealias.resultType.classSymbol == UnitClass
+ if(returnsUnit)
+ ctx.requiredClass(("scala.compat.java8.JProcedure"+arity).toTermName)
+ else ctx.requiredClass(("scala.compat.java8.JFunction"+arity).toTermName)
}
}
}