Skip to content

Commit 9733479

Browse files
committed
Pickle Enum flag
It's useful to know something was an enum when it started, and it's necessary to pickle this when serializing untyped trees.
1 parent aa2c63c commit 9733479

File tree

3 files changed

+19
-15
lines changed

3 files changed

+19
-15
lines changed

compiler/src/dotty/tools/dotc/core/tasty/TastyFormat.scala

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ Standard-Section: "ASTs" TopLevelStat*
184184
STATIC // mapped to static Java member
185185
OBJECT // an object or its class
186186
TRAIT // a trait
187+
ENUM // a enum class or enum case
187188
LOCAL // private[this] or protected[this]
188189
SYNTHETIC // generated by Scala compiler
189190
ARTIFACT // to be tagged Java Synthetic
@@ -282,21 +283,22 @@ object TastyFormat {
282283
final val STATIC = 17
283284
final val OBJECT = 18
284285
final val TRAIT = 19
285-
final val LOCAL = 20
286-
final val SYNTHETIC = 21
287-
final val ARTIFACT = 22
288-
final val MUTABLE = 23
289-
final val LABEL = 24
290-
final val FIELDaccessor = 25
291-
final val CASEaccessor = 26
292-
final val COVARIANT = 27
293-
final val CONTRAVARIANT = 28
294-
final val SCALA2X = 29
295-
final val DEFAULTparameterized = 30
296-
final val STABLE = 31
297-
final val MACRO = 32
298-
final val ERASED = 33
299-
final val PARAMsetter = 34
286+
final val ENUM = 20
287+
final val LOCAL = 21
288+
final val SYNTHETIC = 22
289+
final val ARTIFACT = 23
290+
final val MUTABLE = 24
291+
final val LABEL = 25
292+
final val FIELDaccessor = 26
293+
final val CASEaccessor = 27
294+
final val COVARIANT = 28
295+
final val CONTRAVARIANT = 29
296+
final val SCALA2X = 30
297+
final val DEFAULTparameterized = 31
298+
final val STABLE = 32
299+
final val MACRO = 33
300+
final val ERASED = 34
301+
final val PARAMsetter = 35
300302

301303
// Cat. 2: tag Nat
302304

compiler/src/dotty/tools/dotc/core/tasty/TreePickler.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -592,6 +592,7 @@ class TreePickler(pickler: TastyPickler) {
592592
if (flags is Macro) writeByte(MACRO)
593593
if (flags is JavaStatic) writeByte(STATIC)
594594
if (flags is Module) writeByte(OBJECT)
595+
if (flags is Enum) writeByte(ENUM)
595596
if (flags is Local) writeByte(LOCAL)
596597
if (flags is Synthetic) writeByte(SYNTHETIC)
597598
if (flags is Artifact) writeByte(ARTIFACT)

compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,7 @@ class TreeUnpickler(reader: TastyReader,
591591
case STATIC => addFlag(JavaStatic)
592592
case OBJECT => addFlag(Module)
593593
case TRAIT => addFlag(Trait)
594+
case ENUM => addFlag(Enum)
594595
case LOCAL => addFlag(Local)
595596
case SYNTHETIC => addFlag(Synthetic)
596597
case ARTIFACT => addFlag(Artifact)

0 commit comments

Comments
 (0)