diff options
author | Martin Odersky <odersky@gmail.com> | 2015-02-12 12:40:12 +0100 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-03-18 11:09:43 +0100 |
commit | 1026672008b031991b292893fd562fa1c11c0e3a (patch) | |
tree | 3ba8f5eb119e9eec623af1e8aeaa1068e7ac0485 /src/dotty/tools/dotc/core/pickling/PickleFormat.scala | |
parent | 4f804782950d6efcd979df2dc60c2bcf9a04f115 (diff) | |
download | dotty-1026672008b031991b292893fd562fa1c11c0e3a.tar.gz dotty-1026672008b031991b292893fd562fa1c11c0e3a.tar.bz2 dotty-1026672008b031991b292893fd562fa1c11c0e3a.zip |
Changes to Tasty format:
1) IDENT nodes if types are not termrefs. (otherwise we lose information)
2) PRIVATEqualified and PROTECTDqualified always have a type argument
Also, Pickler guards against previously encountered errors:
- orphan parameters
- trying to pickle packages as internal symbols.
Plus some small polishings.
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/PickleFormat.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/pickling/PickleFormat.scala | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/PickleFormat.scala b/src/dotty/tools/dotc/core/pickling/PickleFormat.scala index 338342459..24b5169e7 100644 --- a/src/dotty/tools/dotc/core/pickling/PickleFormat.scala +++ b/src/dotty/tools/dotc/core/pickling/PickleFormat.scala @@ -17,9 +17,6 @@ Micro-syntax: Nat = LongNat // value fits in an Int without overflow Digit = 0 | ... | 127 StopDigit = 128 | ... | 255 // value = digit - 128 - FullInt = Byte Byte Byte Byte - FullLong = Byte Byte Byte Byte Byte Byte Byte Byte - Byte - 0 | ... | 255 Macro-format: @@ -62,6 +59,7 @@ Standard-Section: "ASTs" Tree* RENAMED Length from_NameRef to_NameRef Term = Path + IDENT Type NameRef SELECT qual_Term possiblySigned_NameRef SUPER Length this_Term mixinTrait_Type? APPLY Length fn_Term arg_Term* @@ -149,8 +147,8 @@ Standard-Section: "ASTs" Tree* Modifier = PRIVATE INTERNAL // package private PROTECTED - PRIVATEqualified qualifier_ASTRef // will be dropped - PROTECTEDqualified qualifier_ASTRef // will be dropped + PRIVATEqualified Length qualifier_Type // will be dropped + PROTECTEDqualified Length qualifier_Type // will be dropped ABSTRACT FINAL SEALED @@ -262,14 +260,13 @@ object PickleFormat { final val FLOATconst = 110 final val DOUBLEconst = 111 final val STRINGconst = 112 - final val PRIVATEqualified = 113 - final val PROTECTEDqualified = 114 - final val SELECT = 128 - final val TERMREFsymbol = 129 - final val TERMREF = 130 - final val TYPEREFsymbol = 131 - final val TYPEREF = 132 + final val IDENT = 128 + final val SELECT = 129 + final val TERMREFsymbol = 130 + final val TERMREF = 131 + final val TYPEREFsymbol = 132 + final val TYPEREF = 133 final val PACKAGE = 160 final val VALDEF = 161 @@ -321,10 +318,12 @@ object PickleFormat { final val POLYtype = 207 final val PARAMtype = 208 final val IMPLICITARG = 209 + final val PRIVATEqualified = 210 + final val PROTECTEDqualified = 211 final val firstSimpleTreeTag = EMPTYTREE final val firstNatTreeTag = SHARED - final val firstTreeNatTreeTag = SELECT + final val firstTreeNatTreeTag = IDENT final val firstLengthTreeTag = PACKAGE def nameTagToString(tag: Int): String = tag match { @@ -390,9 +389,8 @@ object PickleFormat { case FLOATconst => "FLOATconst" case DOUBLEconst => "DOUBLEconst" case STRINGconst => "STRINGconst" - case PRIVATEqualified => "PRIVATEqualified" - case PROTECTEDqualified => "PROTECTEDqualified" + case IDENT => "IDENT" case SELECT => "SELECT" case TERMREFsymbol => "TERMREFsymbol" case TERMREF => "TERMREF" @@ -449,5 +447,7 @@ object PickleFormat { case METHODtype => "METHODtype" case PARAMtype => "PARAMtype" case IMPLICITARG => "IMPLICITARG" + case PRIVATEqualified => "PRIVATEqualified" + case PROTECTEDqualified => "PROTECTEDqualified" } } |