@@ -563,7 +563,7 @@ class TreeUnpickler(reader: TastyReader,
563
563
val rhsStart = currentAddr
564
564
val rhsIsEmpty = nothingButMods(end)
565
565
if (! rhsIsEmpty) skipTree()
566
- val (givenFlags, annotFns, privateWithin) = readModifiers(end)
566
+ val (givenFlags, annotFns, privateWithin) = readModifiers(end, name.isTypeName )
567
567
pickling.println(i " creating symbol $name at $start with flags $givenFlags" )
568
568
val flags = normalizeFlags(tag, givenFlags, name, isAbsType, rhsIsEmpty)
569
569
def adjustIfModule (completer : LazyType ) =
@@ -623,7 +623,7 @@ class TreeUnpickler(reader: TastyReader,
623
623
/** Read modifier list into triplet of flags, annotations and a privateWithin
624
624
* boundary symbol.
625
625
*/
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 ) = {
627
627
var flags : FlagSet = EmptyFlags
628
628
var annotFns : List [Symbol => Annotation ] = Nil
629
629
var privateWithin : Symbol = NoSymbol
@@ -667,7 +667,7 @@ class TreeUnpickler(reader: TastyReader,
667
667
case HASDEFAULT => addFlag(HasDefault )
668
668
case STABLE => addFlag(StableRealizable )
669
669
case EXTENSION => addFlag(Extension )
670
- case GIVEN => addFlag(Given )
670
+ case GIVEN => addFlag(if isType then GivenClass else Given )
671
671
case PARAMsetter => addFlag(ParamAccessor )
672
672
case PARAMalias => addFlag(SuperParamAlias )
673
673
case EXPORTED => addFlag(Exported )
@@ -1236,7 +1236,7 @@ class TreeUnpickler(reader: TastyReader,
1236
1236
readName()
1237
1237
readType()
1238
1238
val body = readTerm()
1239
- val (givenFlags, _, _) = readModifiers(end)
1239
+ val (givenFlags, _, _) = readModifiers(end, sym.isType )
1240
1240
sym.setFlag(givenFlags)
1241
1241
Bind (sym, body)
1242
1242
case ALTERNATIVE =>
0 commit comments