summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2012-09-17 15:09:11 +0200
committerEugene Burmako <xeno.by@gmail.com>2012-09-17 15:09:11 +0200
commit40c388aa948807d893837937c6fdaa313c556f8f (patch)
tree8503c8756d8d169520fb62d91872b1d101ef0d23 /src
parent564ea863e6da9a0a5b778a4aefe6108f4745cab5 (diff)
downloadscala-40c388aa948807d893837937c6fdaa313c556f8f.tar.gz
scala-40c388aa948807d893837937c6fdaa313c556f8f.tar.bz2
scala-40c388aa948807d893837937c6fdaa313c556f8f.zip
Reflection no longer produces faux existentials
Because of using plain ExistentialType factory of a case class typeToScala sometimes returned existentials with empty quantifieds. Changing ExistentialType to newExistentialType, which simply returns the underlying types if params are empty, fixed the problem.
Diffstat (limited to 'src')
-rw-r--r--src/reflect/scala/reflect/runtime/JavaMirrors.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/runtime/JavaMirrors.scala b/src/reflect/scala/reflect/runtime/JavaMirrors.scala
index 08f3922758..8ea371f2d2 100644
--- a/src/reflect/scala/reflect/runtime/JavaMirrors.scala
+++ b/src/reflect/scala/reflect/runtime/JavaMirrors.scala
@@ -1028,7 +1028,7 @@ trait JavaMirrors extends internal.SymbolTable with api.JavaUniverse { thisUnive
val pre = sym.owner.thisType
val args0 = japplied.getActualTypeArguments
val (args, bounds) = targsToScala(pre.typeSymbol, args0.toList)
- ExistentialType(bounds, typeRef(pre, sym, args))
+ newExistentialType(bounds, typeRef(pre, sym, args))
case jarr: GenericArrayType =>
arrayType(typeToScala(jarr.getGenericComponentType))
case jtvar: jTypeVariable[_] =>