summaryrefslogtreecommitdiff
path: root/src/reflect
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@epfl.ch>2013-01-29 11:38:00 +0100
committerLukas Rytz <lukas.rytz@epfl.ch>2013-02-03 21:08:33 +0100
commit6697c283af73ff82b37f50a50e93e56934d5701c (patch)
tree488b0376eb30e2359ef1c6af3b815bada9a10c4d /src/reflect
parent59918ee4dd1cd14e7d23b779fd8c9ac41d188809 (diff)
downloadscala-6697c283af73ff82b37f50a50e93e56934d5701c.tar.gz
scala-6697c283af73ff82b37f50a50e93e56934d5701c.tar.bz2
scala-6697c283af73ff82b37f50a50e93e56934d5701c.zip
Allow for Function treess with refined types in UnCurry.
Also removes an unnecessary condition in UnCurry, isFunctionType(fun.tpe) is always true.
Diffstat (limited to 'src/reflect')
-rw-r--r--src/reflect/scala/reflect/internal/Definitions.scala7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/reflect/scala/reflect/internal/Definitions.scala b/src/reflect/scala/reflect/internal/Definitions.scala
index 4269b65297..6fc90c4a32 100644
--- a/src/reflect/scala/reflect/internal/Definitions.scala
+++ b/src/reflect/scala/reflect/internal/Definitions.scala
@@ -678,9 +678,10 @@ trait Definitions extends api.StandardDefinitions {
def functionApply(n: Int) = getMemberMethod(FunctionClass(n), nme.apply)
- def abstractFunctionForFunctionType(tp: Type) =
- if (isFunctionType(tp)) abstractFunctionType(tp.typeArgs.init, tp.typeArgs.last)
- else NoType
+ def abstractFunctionForFunctionType(tp: Type) = {
+ assert(isFunctionType(tp), tp)
+ abstractFunctionType(tp.typeArgs.init, tp.typeArgs.last)
+ }
def isFunctionType(tp: Type): Boolean = tp.normalize match {
case TypeRef(_, sym, args) if args.nonEmpty =>