aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/pickling/PickleFormat.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-02-27 16:51:10 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 11:14:12 +0100
commit60e520c73d20526f2cf21c90088480f0a971fbc3 (patch)
tree4b942de8a941491ef953279f9969790030f9d8a9 /src/dotty/tools/dotc/core/pickling/PickleFormat.scala
parenta0c2d6c5ba6d190d183babb3941b3607b112b8fc (diff)
downloaddotty-60e520c73d20526f2cf21c90088480f0a971fbc3.tar.gz
dotty-60e520c73d20526f2cf21c90088480f0a971fbc3.tar.bz2
dotty-60e520c73d20526f2cf21c90088480f0a971fbc3.zip
Pickle trait flag and compute PureInterface and NoInits in unpickler.
1) Trait was missing, needs to be serialized. 2) The other two flags are not serialized, need to be reconstituted on unpickling.
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/PickleFormat.scala')
-rw-r--r--src/dotty/tools/dotc/core/pickling/PickleFormat.scala36
1 files changed, 17 insertions, 19 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/PickleFormat.scala b/src/dotty/tools/dotc/core/pickling/PickleFormat.scala
index 557a45f8c..a03da3a79 100644
--- a/src/dotty/tools/dotc/core/pickling/PickleFormat.scala
+++ b/src/dotty/tools/dotc/core/pickling/PickleFormat.scala
@@ -158,6 +158,7 @@ Standard-Section: "ASTs" TopLevelStat*
ABSOVERRIDE // abstract override
STATIC // mapped to static Java member
MODULE // an object or its class
+ TRAIT
LOCAL // private[this] or protected[this]
SYNTHETIC // generated by Scala compiler
ARTIFACT // to be tagged Java Synthetic
@@ -237,20 +238,21 @@ object PickleFormat {
final val ABSOVERRIDE = 17
final val STATIC = 18
final val MODULE = 19
- final val LOCAL = 20
- final val SYNTHETIC = 21
- final val ARTIFACT = 22
- final val MUTABLE = 23
- final val LABEL = 24
- final val FIELDaccessor = 25
- final val PARAMaccessor = 26
- final val CASEaccessor = 27
- final val COVARIANT = 28
- final val CONTRAVARIANT = 29
- final val SCALA2X = 30
- final val DEFAULTparameterized = 31
- final val DEFAULTinit = 32
- final val INSUPERCALL = 33
+ final val TRAIT = 20
+ final val LOCAL = 21
+ final val SYNTHETIC = 22
+ final val ARTIFACT = 23
+ final val MUTABLE = 24
+ final val LABEL = 25
+ final val FIELDaccessor = 26
+ final val PARAMaccessor = 27
+ final val CASEaccessor = 28
+ final val COVARIANT = 29
+ final val CONTRAVARIANT = 30
+ final val SCALA2X = 31
+ final val DEFAULTparameterized = 32
+ final val DEFAULTinit = 33
+ final val INSUPERCALL = 34
final val SHARED = 64
final val TERMREFdirect = 65
@@ -332,11 +334,6 @@ object PickleFormat {
final val firstNatASTTreeTag = IDENT
final val firstLengthTreeTag = PACKAGE
- def isDefTag(tag: Int) = tag match {
- case VALDEF | DEFDEF | TYPEDEF | TYPEPARAM | PARAM => true
- case _ => false
- }
-
def isParamTag(tag: Int) = tag == PARAM || tag == TYPEPARAM
def nameTagToString(tag: Int): String = tag match {
@@ -370,6 +367,7 @@ object PickleFormat {
case ABSOVERRIDE => "ABSOVERRIDE"
case STATIC => "STATIC"
case MODULE => "MODULE"
+ case TRAIT => "TRAIT"
case LOCAL => "LOCAL"
case SYNTHETIC => "SYNTHETIC"
case ARTIFACT => "ARTIFACT"