diff options
author | Martin Odersky <odersky@gmail.com> | 2017-03-27 21:47:07 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2017-04-11 09:33:11 +0200 |
commit | 1d6f5f7f33f9e4be29553cb7ef1e6f054a64dc6b (patch) | |
tree | 22f2b40e0c963280f183b026bc867284b217ceb6 /compiler/src/dotty/tools/dotc/core/tasty/TastyUnpickler.scala | |
parent | ea96ecda77ab99969a65b66173260e66b199be74 (diff) | |
download | dotty-1d6f5f7f33f9e4be29553cb7ef1e6f054a64dc6b.tar.gz dotty-1d6f5f7f33f9e4be29553cb7ef1e6f054a64dc6b.tar.bz2 dotty-1d6f5f7f33f9e4be29553cb7ef1e6f054a64dc6b.zip |
Streamline pickling and unpickling of names
Diffstat (limited to 'compiler/src/dotty/tools/dotc/core/tasty/TastyUnpickler.scala')
-rw-r--r-- | compiler/src/dotty/tools/dotc/core/tasty/TastyUnpickler.scala | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/compiler/src/dotty/tools/dotc/core/tasty/TastyUnpickler.scala b/compiler/src/dotty/tools/dotc/core/tasty/TastyUnpickler.scala index d20e890c2..7ebf3a2ea 100644 --- a/compiler/src/dotty/tools/dotc/core/tasty/TastyUnpickler.scala +++ b/compiler/src/dotty/tools/dotc/core/tasty/TastyUnpickler.scala @@ -55,6 +55,10 @@ class TastyUnpickler(reader: TastyReader) { FlattenedName(readName(), readName().asSimpleName) case EXPANDED => ExpandedName(readName(), readName().asSimpleName) + case DEFAULTGETTER => + DefaultGetterName(readName(), readNat()) + case VARIANT => + VariantName(readName(), readNat() - 1) case SIGNED => val original = readName() val result = readName().toTypeName @@ -62,16 +66,8 @@ class TastyUnpickler(reader: TastyReader) { var sig = Signature(params, result) if (sig == Signature.NotAMethod) sig = Signature.NotAMethod SignedName(original, sig) - case OBJECTCLASS => - ModuleClassName(readName()) - case SUPERACCESSOR => - SuperAccessorName(readName()) - case DEFAULTGETTER => - DefaultGetterName(readName(), readNat()) - case SHADOWED => - ShadowedName(readName()) - case VARIANT => - VariantName(readName(), readNat() - 1) + case _ => + extractorOfTag(tag)(readName()) } assert(currentAddr == end, s"bad name $result $start $currentAddr $end") result |