File tree Expand file tree Collapse file tree 3 files changed +12
-3
lines changed
compiler/src/dotty/tools/dotc/core Expand file tree Collapse file tree 3 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -141,6 +141,13 @@ object NameKinds {
141141 }
142142 }
143143
144+ object AnyNumberedName {
145+ def unapply (name : DerivedTermName ): Option [(TermName , Int )] = name match {
146+ case DerivedTermName (qual, info : NumberedInfo ) => Some ((qual, info.num))
147+ case _ => None
148+ }
149+ }
150+
144151 case class UniqueNameKind (val separator : String )
145152 extends NumberedNameKind (UNIQUE , s " Unique $separator" ) {
146153 override def definesNewName = true
Original file line number Diff line number Diff line change @@ -45,7 +45,7 @@ class NameBuffer extends TastyBuffer(10000) {
4545 val lengthAddr = currentAddr
4646 for (i <- 0 until lengthWidth) writeByte(0 )
4747 op
48- val length = currentAddr.index - lengthAddr.index - 1
48+ val length = currentAddr.index - lengthAddr.index - lengthWidth
4949 putNat(lengthAddr, length, lengthWidth)
5050 }
5151
@@ -70,10 +70,10 @@ class NameBuffer extends TastyBuffer(10000) {
7070 writeNat(num)
7171 if (! original.isEmpty) writeNameRef(original)
7272 }
73- case DefaultGetterName (method, paramNumber) =>
74- withLength { writeNameRef(method); writeNat(paramNumber) }
7573 case VariantName (original, sign) =>
7674 withLength { writeNameRef(original); writeNat(sign + 1 ) }
75+ case AnyNumberedName (original, num) =>
76+ withLength { writeNameRef(original); writeNat(num) }
7777 case SignedName (original, Signature (params, result)) =>
7878 withLength(
7979 { writeNameRef(original); writeNameRef(result); params.foreach(writeNameRef) },
Original file line number Diff line number Diff line change @@ -61,6 +61,8 @@ class TastyUnpickler(reader: TastyReader) {
6161 DefaultGetterName (readName(), readNat())
6262 case VARIANT =>
6363 VariantName (readName(), readNat() - 1 )
64+ case OUTERSELECT =>
65+ OuterSelectName (readName(), readNat())
6466 case SIGNED =>
6567 val original = readName()
6668 val result = readName().toTypeName
You can’t perform that action at this time.
0 commit comments