Skip to content

Commit 19ff3d6

Browse files
committed
Eliminate ABSOVERRIDE from TASTY
Replace by ABSTRACT and OVERRIDE. No need to expose the representation detail that they are a single flag.
1 parent b34d57c commit 19ff3d6

File tree

3 files changed

+22
-21
lines changed

3 files changed

+22
-21
lines changed

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

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,6 @@ Standard-Section: "ASTs" TopLevelStat*
157157
LAZY
158158
OVERRIDE
159159
INLINE // macro
160-
ABSOVERRIDE // abstract override
161160
STATIC // mapped to static Java member
162161
OBJECT // an object or its class
163162
TRAIT // a trait
@@ -238,22 +237,21 @@ object TastyFormat {
238237
final val LAZY = 14
239238
final val OVERRIDE = 15
240239
final val INLINE = 16
241-
final val ABSOVERRIDE = 17
242-
final val STATIC = 18
243-
final val OBJECT = 19
244-
final val TRAIT = 20
245-
final val LOCAL = 21
246-
final val SYNTHETIC = 22
247-
final val ARTIFACT = 23
248-
final val MUTABLE = 24
249-
final val LABEL = 25
250-
final val FIELDaccessor = 26
251-
final val CASEaccessor = 27
252-
final val COVARIANT = 28
253-
final val CONTRAVARIANT = 29
254-
final val SCALA2X = 30
255-
final val DEFAULTparameterized = 31
256-
final val INSUPERCALL = 32
240+
final val STATIC = 17
241+
final val OBJECT = 18
242+
final val TRAIT = 19
243+
final val LOCAL = 20
244+
final val SYNTHETIC = 21
245+
final val ARTIFACT = 22
246+
final val MUTABLE = 23
247+
final val LABEL = 24
248+
final val FIELDaccessor = 25
249+
final val CASEaccessor = 26
250+
final val COVARIANT = 27
251+
final val CONTRAVARIANT = 28
252+
final val SCALA2X = 29
253+
final val DEFAULTparameterized = 30
254+
final val INSUPERCALL = 31
257255

258256
final val SHARED = 64
259257
final val TERMREFdirect = 65
@@ -349,7 +347,6 @@ object TastyFormat {
349347
| LAZY
350348
| OVERRIDE
351349
| INLINE
352-
| ABSOVERRIDE
353350
| STATIC
354351
| OBJECT
355352
| TRAIT
@@ -397,7 +394,6 @@ object TastyFormat {
397394
case LAZY => "LAZY"
398395
case OVERRIDE => "OVERRIDE"
399396
case INLINE => "INLINE"
400-
case ABSOVERRIDE => "ABSOVERRIDE"
401397
case STATIC => "STATIC"
402398
case OBJECT => "OBJECT"
403399
case TRAIT => "TRAIT"

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,7 @@ class TreePickler(pickler: TastyPickler) {
522522
if (sym.isTerm) {
523523
if (flags is Implicit) writeByte(IMPLICIT)
524524
if ((flags is Lazy) && !(sym is Module)) writeByte(LAZY)
525-
if (flags is AbsOverride) writeByte(ABSOVERRIDE)
525+
if (flags is AbsOverride) { writeByte(ABSTRACT); writeByte(OVERRIDE) }
526526
if (flags is Mutable) writeByte(MUTABLE)
527527
if (flags is Accessor) writeByte(FIELDaccessor)
528528
if (flags is CaseAccessor) writeByte(CASEaccessor)

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,12 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table) {
427427
case PRIVATE => addFlag(Private)
428428
case INTERNAL => ??? // addFlag(Internal)
429429
case PROTECTED => addFlag(Protected)
430-
case ABSTRACT => addFlag(Abstract)
430+
case ABSTRACT =>
431+
readByte()
432+
nextByte match {
433+
case OVERRIDE => addFlag(AbsOverride)
434+
case _ => flags |= Abstract
435+
}
431436
case FINAL => addFlag(Final)
432437
case SEALED => addFlag(Sealed)
433438
case CASE => addFlag(Case)

0 commit comments

Comments
 (0)