diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-04-20 14:00:50 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-04-20 14:01:52 +0200 |
commit | 5f31ce4633b76b610a397d587303dba1ce5a9b02 (patch) | |
tree | 93a2a8597493d822da50679c1d930a41c5451f08 /src | |
parent | ad57a507be0bba0014b3f2d8f39f8f77b1fe6fa8 (diff) | |
download | dotty-5f31ce4633b76b610a397d587303dba1ce5a9b02.tar.gz dotty-5f31ce4633b76b610a397d587303dba1ce5a9b02.tar.bz2 dotty-5f31ce4633b76b610a397d587303dba1ce5a9b02.zip |
FunctionInterfaces: more specific filters for FunctionX signatures
Diffstat (limited to 'src')
-rw-r--r-- | src/dotty/tools/dotc/transform/FunctionalInterfaces.scala | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/transform/FunctionalInterfaces.scala b/src/dotty/tools/dotc/transform/FunctionalInterfaces.scala index 5f433d28d..cb8277b8c 100644 --- a/src/dotty/tools/dotc/transform/FunctionalInterfaces.scala +++ b/src/dotty/tools/dotc/transform/FunctionalInterfaces.scala @@ -39,8 +39,21 @@ class FunctionalInterfaces extends MiniPhaseTransform { val functionPackage = "scala.compat.java8.".toTermName override def prepareForUnit(tree: tpd.Tree)(implicit ctx: Context): TreeTransform = { - allowedReturnTypes = defn.ScalaNumericValueClasses - allowedArgumentTypes = defn.ScalaNumericValueClasses + defn.BooleanClass + allowedReturnTypes = Set(defn.UnitClass, + defn.BooleanClass, + defn.IntClass, + defn.FloatClass, + defn.LongClass, + defn.DoubleClass, + /* only for Function0: */ defn.ByteClass, + defn.ShortClass, + defn.CharClass) + + allowedArgumentTypes = Set(defn.IntClass, + defn.LongClass, + defn.DoubleClass, + /* only for Function1: */ defn.FloatClass) + this } |