Skip to content

Commit 378ddce

Browse files
committed
Don't replace names with symbols when pickling
Leave name designators as they are. It makes a difference for the info of the reference.
1 parent c3869dd commit 378ddce

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -185,16 +185,16 @@ class TreePickler(pickler: TastyPickler) {
185185
writeByte(if (tpe.isType) TYPEREFdirect else TERMREFdirect)
186186
pickleSymRef(sym)
187187
}
188-
else if (isLocallyDefined(sym)) {
189-
writeByte(if (tpe.isType) TYPEREFsymbol else TERMREFsymbol)
190-
pickleSymRef(sym); pickleType(tpe.prefix)
191-
}
192188
else tpe.designator match {
193189
case name: Name =>
194190
writeByte(if (tpe.isType) TYPEREF else TERMREF)
195191
pickleName(name); pickleType(tpe.prefix)
196192
case sym: Symbol =>
197-
pickleExternalRef(sym)
193+
if (isLocallyDefined(sym)) {
194+
writeByte(if (tpe.isType) TYPEREFsymbol else TERMREFsymbol)
195+
pickleSymRef(sym); pickleType(tpe.prefix)
196+
}
197+
else pickleExternalRef(sym)
198198
}
199199
case tpe: ThisType =>
200200
if (tpe.cls.is(Flags.Package) && !tpe.cls.isEffectiveRoot) {

0 commit comments

Comments
 (0)