Skip to content

Commit fe3d73f

Browse files
committed
Pickle GivenClass flag
Pickle GivenClass flag as GIVEN
1 parent 8885abd commit fe3d73f

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -755,6 +755,7 @@ class TreePickler(pickler: TastyPickler) {
755755
if (flags.is(Contravariant)) writeModTag(CONTRAVARIANT)
756756
if (flags.is(Opaque)) writeModTag(OPAQUE)
757757
if (flags.is(Open)) writeModTag(OPEN)
758+
if (flags.is(GivenClass)) writeModTag(GIVEN)
758759
}
759760
}
760761

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,7 @@ class TreeUnpickler(reader: TastyReader,
563563
val rhsStart = currentAddr
564564
val rhsIsEmpty = nothingButMods(end)
565565
if (!rhsIsEmpty) skipTree()
566-
val (givenFlags, annotFns, privateWithin) = readModifiers(end)
566+
val (givenFlags, annotFns, privateWithin) = readModifiers(end, name.isTypeName)
567567
pickling.println(i"creating symbol $name at $start with flags $givenFlags")
568568
val flags = normalizeFlags(tag, givenFlags, name, isAbsType, rhsIsEmpty)
569569
def adjustIfModule(completer: LazyType) =
@@ -623,7 +623,7 @@ class TreeUnpickler(reader: TastyReader,
623623
/** Read modifier list into triplet of flags, annotations and a privateWithin
624624
* boundary symbol.
625625
*/
626-
def readModifiers(end: Addr)(using Context): (FlagSet, List[Symbol => Annotation], Symbol) = {
626+
def readModifiers(end: Addr, isType: Boolean)(using Context): (FlagSet, List[Symbol => Annotation], Symbol) = {
627627
var flags: FlagSet = EmptyFlags
628628
var annotFns: List[Symbol => Annotation] = Nil
629629
var privateWithin: Symbol = NoSymbol
@@ -667,7 +667,7 @@ class TreeUnpickler(reader: TastyReader,
667667
case HASDEFAULT => addFlag(HasDefault)
668668
case STABLE => addFlag(StableRealizable)
669669
case EXTENSION => addFlag(Extension)
670-
case GIVEN => addFlag(Given)
670+
case GIVEN => addFlag(if isType then GivenClass else Given)
671671
case PARAMsetter => addFlag(ParamAccessor)
672672
case PARAMalias => addFlag(SuperParamAlias)
673673
case EXPORTED => addFlag(Exported)
@@ -1226,7 +1226,7 @@ class TreeUnpickler(reader: TastyReader,
12261226
readName()
12271227
readType()
12281228
val body = readTerm()
1229-
val (givenFlags, _, _) = readModifiers(end)
1229+
val (givenFlags, _, _) = readModifiers(end, sym.isType)
12301230
sym.setFlag(givenFlags)
12311231
Bind(sym, body)
12321232
case ALTERNATIVE =>

0 commit comments

Comments
 (0)