diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-09-17 15:09:11 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-09-17 15:09:11 +0200 |
commit | 40c388aa948807d893837937c6fdaa313c556f8f (patch) | |
tree | 8503c8756d8d169520fb62d91872b1d101ef0d23 /src | |
parent | 564ea863e6da9a0a5b778a4aefe6108f4745cab5 (diff) | |
download | scala-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.scala | 2 |
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[_] => |