diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-12-03 10:03:33 +0100 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-12-16 13:15:02 +0100 |
commit | 9e15d1630110cc524af3a2ef782d52f78145e26f (patch) | |
tree | ea1397b7690d21497f6d05e2800b0de7b73b99e1 /src/dotty/tools/backend/jvm/DottyBackendInterface.scala | |
parent | f9d19cec82af03a0d51272c0959ce7a73810121b (diff) | |
download | dotty-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.scala | 5 |
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) } } } |