diff options
author | Martin Odersky <odersky@gmail.com> | 2013-09-23 12:29:53 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-09-23 12:29:53 +0200 |
commit | 918c190c91a27212caf2152f9a65533f9dff395d (patch) | |
tree | b49833bd9a8c2d584be9c9d3e52c666d096c4ec8 /src/dotty/tools/dotc/core/pickling/ClassfileParser.scala | |
parent | 2a8abfa8da9742e0a8b5460c6032d7ef610e44ab (diff) | |
download | dotty-918c190c91a27212caf2152f9a65533f9dff395d.tar.gz dotty-918c190c91a27212caf2152f9a65533f9dff395d.tar.bz2 dotty-918c190c91a27212caf2152f9a65533f9dff395d.zip |
Fixed a bug related to classfile parsing
Parsing inner classes of generic outer classes requires a name-unexpansion.
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/ClassfileParser.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/pickling/ClassfileParser.scala | 3 |
1 files changed, 2 insertions, 1 deletions
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) |