diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2014-02-14 23:49:53 +0100 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2014-02-14 23:49:53 +0100 |
commit | 465e538ef59171ac7d9e811dbdaec776f8a64ac7 (patch) | |
tree | 159f11ee7736daffa1a25abaaca9da49418a7ab6 /src/compiler/scala/tools/nsc/symtab/classfile | |
parent | 3dff364399d63c2dd317eb7bdf03f9d5216b2936 (diff) | |
parent | e86675f582ed8fef880f71744241f30e0d57a51c (diff) | |
download | scala-465e538ef59171ac7d9e811dbdaec776f8a64ac7.tar.gz scala-465e538ef59171ac7d9e811dbdaec776f8a64ac7.tar.bz2 scala-465e538ef59171ac7d9e811dbdaec776f8a64ac7.zip |
Merge remote-tracking branch 'origin/master' into topic/palladium0
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/classfile')
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala index 664645e53e..2f9cc01c0b 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala @@ -665,8 +665,11 @@ abstract class ClassfileParser { // so have to check unsafeTypeParams.isEmpty before worrying about raw type case below, // or we'll create a boatload of needless existentials. else if (classSym.isMonomorphicType || classSym.unsafeTypeParams.isEmpty) tp - // raw type - existentially quantify all type parameters - else debuglogResult(s"raw type from $classSym")(unsafeClassExistentialType(classSym)) + else debuglogResult(s"raw type from $classSym"){ + // raw type - existentially quantify all type parameters + val eparams = typeParamsToExistentials(classSym, classSym.unsafeTypeParams) + newExistentialType(eparams, typeRef(pre, classSym, eparams.map(_.tpeHK))) + } case tp => assert(sig.charAt(index) != '<', s"sig=$sig, index=$index, tp=$tp") tp |