aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/pickling/TreePickler.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-03-04 14:39:13 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 11:14:14 +0100
commita4b2a67fa5d58f7dbd34b8876e8a87e309524e22 (patch)
tree66c721ac1d151b0c3b640dffb56f647ebf727f4f /src/dotty/tools/dotc/core/pickling/TreePickler.scala
parent96fbd7bfe252026f59d1f5e8aa33f2d8fae65769 (diff)
downloaddotty-a4b2a67fa5d58f7dbd34b8876e8a87e309524e22.tar.gz
dotty-a4b2a67fa5d58f7dbd34b8876e8a87e309524e22.tar.bz2
dotty-a4b2a67fa5d58f7dbd34b8876e8a87e309524e22.zip
Changes to Tasty format
Use fewer length fields in type encodings. - create new category of tags that take exactly one argument tree. - avoid using length where a tag fits in one of theopther categories.
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/TreePickler.scala')
-rw-r--r--src/dotty/tools/dotc/core/pickling/TreePickler.scala22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/TreePickler.scala b/src/dotty/tools/dotc/core/pickling/TreePickler.scala
index 750c7bda6..b8f031ec5 100644
--- a/src/dotty/tools/dotc/core/pickling/TreePickler.scala
+++ b/src/dotty/tools/dotc/core/pickling/TreePickler.scala
@@ -103,10 +103,10 @@ class TreePickler(pickler: TastyPickler) {
writeByte(NULLconst)
case ClazzTag =>
writeByte(CLASSconst)
- withLength { pickleType(c.typeValue) }
+ pickleType(c.typeValue)
case EnumTag =>
writeByte(ENUMconst)
- withLength { pickleType(c.symbolValue.termRef) }
+ pickleType(c.symbolValue.termRef)
}
def pickleType(tpe0: Type, richTypes: Boolean = false): Unit = try {
@@ -165,7 +165,7 @@ class TreePickler(pickler: TastyPickler) {
pickleName(tpe.name); pickleType(tpe.prefix)
case tpe: ThisType =>
writeByte(THIS)
- withLength { pickleType(tpe.tref) }
+ pickleType(tpe.tref)
case tpe: SuperType =>
writeByte(SUPERtype)
withLength { pickleType(tpe.thistpe); pickleType(tpe.supertpe)}
@@ -302,7 +302,7 @@ class TreePickler(pickler: TastyPickler) {
}
case New(tpt) =>
writeByte(NEW)
- withLength { pickleTpt(tpt) }
+ pickleTpt(tpt)
case Pair(left, right) =>
writeByte(PAIR)
withLength { pickleTree(left); pickleTree(right) }
@@ -357,8 +357,8 @@ class TreePickler(pickler: TastyPickler) {
withLength {
pickleTree(fun)
for (implicitArg <- implicits) {
- writeByte(IMPLICITARG)
- withLength { pickleTree(implicitArg) }
+ writeByte(IMPLICITarg)
+ pickleTree(implicitArg)
}
pickleType(tree.tpe)
patterns.foreach(pickleTree)
@@ -390,10 +390,8 @@ class TreePickler(pickler: TastyPickler) {
val cinfo @ ClassInfo(_, _, _, _, selfInfo) = tree.symbol.owner.info
if ((selfInfo ne NoType) || !tree.self.isEmpty) {
writeByte(SELFDEF)
- withLength {
- pickleName(tree.self.name)
- pickleType(cinfo.selfType)
- }
+ pickleName(tree.self.name)
+ pickleType(cinfo.selfType)
}
pickleStats(tree.constr :: rest)
}
@@ -407,7 +405,7 @@ class TreePickler(pickler: TastyPickler) {
withLength { pickleName(from); pickleName(to) }
case Ident(name) =>
writeByte(IMPORTED)
- withLength { pickleName(name) }
+ pickleName(name)
}
}
case PackageDef(pid, stats) =>
@@ -460,7 +458,7 @@ class TreePickler(pickler: TastyPickler) {
val privateWithin = sym.privateWithin
if (privateWithin.exists) {
writeByte(if (flags is Protected) PROTECTEDqualified else PRIVATEqualified)
- withLength { pickleType(privateWithin.typeRef) }
+ pickleType(privateWithin.typeRef)
}
if (flags is Private) writeByte(PRIVATE)
if (flags is Protected) if (!privateWithin.exists) writeByte(PROTECTED)