From 918c190c91a27212caf2152f9a65533f9dff395d Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Mon, 23 Sep 2013 12:29:53 +0200 Subject: Fixed a bug related to classfile parsing Parsing inner classes of generic outer classes requires a name-unexpansion. --- src/dotty/tools/dotc/core/pickling/ClassfileParser.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/dotty/tools/dotc/core/pickling/ClassfileParser.scala') diff --git a/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala b/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala index 344508c11..fc3fb49ec 100644 --- a/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala +++ b/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala @@ -140,7 +140,7 @@ class ClassfileParser( var sym = classRoot.owner while (sym.isClass && !(sym is Flags.ModuleClass)) { for (tparam <- sym.typeParams) { - classTParams = classTParams.updated(tparam.name, tparam) + classTParams = classTParams.updated(tparam.name.unexpandedName(), tparam) } sym = sym.owner } @@ -304,6 +304,7 @@ class ClassfileParser( case 'T' => val n = subName(';'.==).toTypeName index += 1 + //assert(tparams contains n, s"classTparams = $classTParams, tparams = $tparams, key = $n") if (skiptvs) defn.AnyType else tparams(n).typeConstructor } } // sig2type(tparams, skiptvs) -- cgit v1.2.3