@@ -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 )
@@ -1226,7 +1226,7 @@ class TreeUnpickler(reader: TastyReader,
1226
1226
readName()
1227
1227
readType()
1228
1228
val body = readTerm()
1229
- val (givenFlags, _, _) = readModifiers(end)
1229
+ val (givenFlags, _, _) = readModifiers(end, sym.isType )
1230
1230
sym.setFlag(givenFlags)
1231
1231
Bind (sym, body)
1232
1232
case ALTERNATIVE =>
0 commit comments