File tree Expand file tree Collapse file tree 2 files changed +10
-2
lines changed
src/dotty/tools/dotc/core/pickling Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -32,6 +32,14 @@ class NameBuffer extends TastyBuffer(100000) {
3232
3333 def nameIndex (str : String ): NameRef = nameIndex(str.toTermName)
3434
35+ def fullNameIndex (name : Name ): NameRef = {
36+ val pos = name.lastIndexOf('.' )
37+ if (pos > 0 )
38+ nameIndex(Qualified (fullNameIndex(name.take(pos)), nameIndex(name.drop(pos + 1 ))))
39+ else
40+ nameIndex(name)
41+ }
42+
3543 private def withLength (op : => Unit ): Unit = {
3644 val lengthAddr = currentAddr
3745 writeByte(0 )
Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ class TreePickler(pickler: TastyPickler) {
1414 val buf = new TreeBuffer
1515 pickler.newSection(" ASTs" , buf)
1616 import buf ._
17- import pickler .nameBuffer .nameIndex
17+ import pickler .nameBuffer .{ nameIndex , fullNameIndex }
1818 import ast .tpd ._
1919
2020 private val symRefs = new mutable.HashMap [Symbol , Addr ]
@@ -61,7 +61,7 @@ class TreePickler(pickler: TastyPickler) {
6161 private def pickleName (name : TastyName ) = writeNat(nameIndex(name).index)
6262 private def pickleNameAndSig (name : Name , sig : Signature ) = {
6363 val Signature (params, result) = sig
64- pickleName(TastyName .Signed (nameIndex(name), params.map(nameIndex ), nameIndex (result)))
64+ pickleName(TastyName .Signed (nameIndex(name), params.map(fullNameIndex ), fullNameIndex (result)))
6565 }
6666
6767 private def pickleSymRef (sym : Symbol )(implicit ctx : Context ) = symRefs.get(sym) match {
You can’t perform that action at this time.
0 commit comments