File tree 3 files changed +12
-3
lines changed
compiler/src/dotty/tools/dotc/core
3 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -141,6 +141,13 @@ object NameKinds {
141
141
}
142
142
}
143
143
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
+
144
151
case class UniqueNameKind (val separator : String )
145
152
extends NumberedNameKind (UNIQUE , s " Unique $separator" ) {
146
153
override def definesNewName = true
Original file line number Diff line number Diff line change @@ -45,7 +45,7 @@ class NameBuffer extends TastyBuffer(10000) {
45
45
val lengthAddr = currentAddr
46
46
for (i <- 0 until lengthWidth) writeByte(0 )
47
47
op
48
- val length = currentAddr.index - lengthAddr.index - 1
48
+ val length = currentAddr.index - lengthAddr.index - lengthWidth
49
49
putNat(lengthAddr, length, lengthWidth)
50
50
}
51
51
@@ -70,10 +70,10 @@ class NameBuffer extends TastyBuffer(10000) {
70
70
writeNat(num)
71
71
if (! original.isEmpty) writeNameRef(original)
72
72
}
73
- case DefaultGetterName (method, paramNumber) =>
74
- withLength { writeNameRef(method); writeNat(paramNumber) }
75
73
case VariantName (original, sign) =>
76
74
withLength { writeNameRef(original); writeNat(sign + 1 ) }
75
+ case AnyNumberedName (original, num) =>
76
+ withLength { writeNameRef(original); writeNat(num) }
77
77
case SignedName (original, Signature (params, result)) =>
78
78
withLength(
79
79
{ 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) {
61
61
DefaultGetterName (readName(), readNat())
62
62
case VARIANT =>
63
63
VariantName (readName(), readNat() - 1 )
64
+ case OUTERSELECT =>
65
+ OuterSelectName (readName(), readNat())
64
66
case SIGNED =>
65
67
val original = readName()
66
68
val result = readName().toTypeName
You can’t perform that action at this time.
0 commit comments