aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/tasty/TastyUnpickler.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2017-03-27 21:47:07 +0200
committerMartin Odersky <odersky@gmail.com>2017-04-11 09:33:11 +0200
commit1d6f5f7f33f9e4be29553cb7ef1e6f054a64dc6b (patch)
tree22f2b40e0c963280f183b026bc867284b217ceb6 /compiler/src/dotty/tools/dotc/core/tasty/TastyUnpickler.scala
parentea96ecda77ab99969a65b66173260e66b199be74 (diff)
downloaddotty-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.scala16
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